diff --git a/src/renderer/App.css b/src/renderer/App.css
index b8b074f..450abdd 100644
--- a/src/renderer/App.css
+++ b/src/renderer/App.css
@@ -24,6 +24,7 @@ body {
align-items: center;
padding: 0;
margin: 0;
+ user-select: none;
}
p {
diff --git a/src/renderer/components/CapeCard.tsx b/src/renderer/components/CapeCard.tsx
index d03dd3c..cee0c2b 100644
--- a/src/renderer/components/CapeCard.tsx
+++ b/src/renderer/components/CapeCard.tsx
@@ -11,7 +11,7 @@ import {
Box,
Chip,
} from '@mui/material';
-
+import CustomTooltip from './CustomTooltip';
// Тип для плаща с необязательными полями для обоих вариантов использования
export interface CapeCardProps {
cape: {
@@ -60,7 +60,7 @@ export default function CapeCard({
const capeDescription = cape.cape_description || cape.description || '';
return (
-
+
-
+
);
}
diff --git a/src/renderer/components/CustomTooltip.tsx b/src/renderer/components/CustomTooltip.tsx
new file mode 100644
index 0000000..5e0e070
--- /dev/null
+++ b/src/renderer/components/CustomTooltip.tsx
@@ -0,0 +1,38 @@
+/* eslint-disable react/jsx-props-no-spreading */
+
+import { styled } from '@mui/material/styles';
+import Tooltip, { tooltipClasses, TooltipProps } from '@mui/material/Tooltip';
+
+// Создаем кастомный стилизованный Tooltip с правильной типизацией
+const CustomTooltip = styled(({ className, ...props }: TooltipProps) => (
+
+))(({ theme }) => ({
+ [`& .${tooltipClasses.tooltip}`]: {
+ backgroundColor: 'rgba(0, 0, 0, 1)',
+ color: 'white',
+ maxWidth: 300,
+ fontSize: '0.9vw',
+ border: '1px solid rgba(255, 77, 77, 0.5)',
+ borderRadius: '1vw',
+ padding: '1vw',
+ boxShadow:
+ '0 0 1vw rgba(255, 77, 77, 0.3), inset 0.8vw -0.8vw 2vw rgba(255, 77, 77, 0.15)',
+ fontFamily: 'Benzin-Bold',
+ '&::before': {
+ content: '""',
+ position: 'absolute',
+ top: 0,
+ left: 0,
+ right: 0,
+ bottom: 0,
+ borderRadius: '1vw',
+ // background: 'linear-gradient(45deg, rgba(255, 77, 77, 0.1), transparent)',
+ zIndex: -1,
+ },
+ },
+ [`& .${tooltipClasses.arrow}`]: {
+ color: 'rgba(255, 77, 77, 0.5)',
+ },
+}));
+
+export default CustomTooltip;
diff --git a/src/renderer/components/TopBar.tsx b/src/renderer/components/TopBar.tsx
index f583d79..91560ea 100644
--- a/src/renderer/components/TopBar.tsx
+++ b/src/renderer/components/TopBar.tsx
@@ -5,7 +5,7 @@ import ArrowBackRoundedIcon from '@mui/icons-material/ArrowBackRounded';
import { useEffect, useState } from 'react';
import { Tooltip } from '@mui/material';
import { fetchCoins } from '../api';
-
+import CustomTooltip from './CustomTooltip';
declare global {
interface Window {
electron: {
@@ -276,9 +276,11 @@ export default function TopBar({ onRegister, username }: TopBarProps) {
>
{/* Кнопка регистрации, если на странице логина */}
{username && (
-
-
+
)}
{isLoginPage && (
+
diff --git a/src/renderer/pages/Profile.tsx b/src/renderer/pages/Profile.tsx
index c505be7..4d9af2c 100644
--- a/src/renderer/pages/Profile.tsx
+++ b/src/renderer/pages/Profile.tsx
@@ -41,6 +41,9 @@ export default function Profile() {
const [uuid, setUuid] = useState('');
const [loading, setLoading] = useState(false);
+ const [viewerWidth, setViewerWidth] = useState(500);
+ const [viewerHeight, setViewerHeight] = useState(600);
+
useEffect(() => {
const savedConfig = localStorage.getItem('launcher_config');
if (savedConfig) {
@@ -54,6 +57,25 @@ export default function Profile() {
}
}, []);
+ useEffect(() => {
+ // Функция для обновления размеров
+ const updateDimensions = () => {
+ setViewerWidth(window.innerWidth * 0.4); // 25vw
+ setViewerHeight(window.innerWidth * 0.5); // 30vw
+ };
+
+ // Вызываем один раз при монтировании
+ updateDimensions();
+
+ // Добавляем слушатель изменения размера окна
+ window.addEventListener('resize', updateDimensions);
+
+ // Очистка при размонтировании
+ return () => {
+ window.removeEventListener('resize', updateDimensions);
+ };
+ }, []);
+
const loadPlayerData = async (uuid: string) => {
try {
setLoading(true);
@@ -182,7 +204,6 @@ export default function Profile() {
p: 0,
borderRadius: 2,
overflow: 'hidden',
- mb: 4,
bgcolor: 'transparent',
}}
>
@@ -193,17 +214,20 @@ export default function Profile() {
alignSelf: 'center',
justifySelf: 'center',
textAlign: 'center',
- width: '100%',
- mb: '5vw',
+ mb: '2vw',
fontSize: '3vw',
color: 'white',
+ borderRadius: '3vw',
+ p: '0.5vw 5vw',
+ bgcolor: 'rgb(255, 77, 77)',
+ boxShadow: '0 0 1vw 0 rgba(0, 0, 0, 0.5)',
}}
>
{username}
- Модель скина
+
+ Модель скина
+