diff --git a/src/components/GameManagementModal.jsx b/src/components/GameManagementModal.jsx index 5b6a2c6..bc40b63 100644 --- a/src/components/GameManagementModal.jsx +++ b/src/components/GameManagementModal.jsx @@ -667,7 +667,7 @@ const GameManagementModal = ({ diff --git a/src/components/Snowflakes.jsx b/src/components/Snowflakes.jsx index eee80b2..741cb59 100644 --- a/src/components/Snowflakes.jsx +++ b/src/components/Snowflakes.jsx @@ -1,16 +1,15 @@ import { useEffect, useState } from 'react' import { useTheme } from '../context/ThemeContext' -const SNOWFLAKE_LIFETIME = 15000 // 15 seconds max lifetime const TARGET_COUNT = 30 // Target number of snowflakes const UPDATE_INTERVAL = 500 // Check every 500ms -function createSnowflake(id) { +function createSnowflake(id, isInitial = false) { return { id: id || `snowflake-${Date.now()}-${Math.random()}`, left: Math.random() * 100, duration: Math.random() * 3 + 7, // 7-10s - delay: Math.random() * 2, // 0-2s delay for initial batch + delay: isInitial ? Math.random() * 2 : 0, // Only delay initial batch size: Math.random() * 10 + 10, // 10-20px opacity: Math.random() * 0.5 + 0.5, // 0.5-1 createdAt: Date.now(), @@ -51,7 +50,7 @@ const Snowflakes = ({ roomParticlesEnabled = null }) => { setSnowflakes([]) return } - const initial = Array.from({ length: TARGET_COUNT }, (_, i) => createSnowflake(i)) + const initial = Array.from({ length: TARGET_COUNT }, (_, i) => createSnowflake(i, true)) setSnowflakes(initial) }, [particlesEnabled, particleSymbol, currentThemeData]) diff --git a/src/pages/CreateRoom.jsx b/src/pages/CreateRoom.jsx index c1da342..30765c9 100644 --- a/src/pages/CreateRoom.jsx +++ b/src/pages/CreateRoom.jsx @@ -12,8 +12,6 @@ const CreateRoom = () => { const [settings, setSettings] = useState({ maxPlayers: 10, allowSpectators: true, - timerEnabled: false, - timerDuration: 30, password: '', }); const [isNameModalOpen, setIsNameModalOpen] = useState(false); @@ -105,34 +103,6 @@ const CreateRoom = () => { -
- -
- - {settings.timerEnabled && ( -
- - - setSettings({ ...settings, timerDuration: parseInt(e.target.value) }) - } - /> -
- )} -
{ ); }; + const handleToggleParticles = (particlesEnabled) => { + if (!gameState.roomId || !user) return; + socketService.toggleParticles( + gameState.roomId, + gameState.roomCode, + user.id, + particlesEnabled + ); + }; + const handleSelectPlayer = (participantId) => { if (!gameState.roomId || !user) return; if (!isHost) return; // Только хост может выбирать игрока diff --git a/src/pages/RoomPage.jsx b/src/pages/RoomPage.jsx index 4d15da3..722f190 100644 --- a/src/pages/RoomPage.jsx +++ b/src/pages/RoomPage.jsx @@ -339,28 +339,16 @@ const RoomPage = () => {
-
-

Вопросы:

-
-

- Вопросов в комнате: {roomQuestions.length} -

- {isHost && ( -

- Вы можете настроить вопросы перед началом игры -

- )} -
- - {isHost && ( + {isHost && ( +
- )} -
+
+ )}