import { useState } from 'react' import './GameManagementModal.css' const GameManagementModal = ({ isOpen, onClose, room, participants, currentQuestion, currentQuestionIndex, totalQuestions, revealedAnswers, onStartGame, onEndGame, onNextQuestion, onPreviousQuestion, onRevealAnswer, onHideAnswer, onShowAllAnswers, onHideAllAnswers, onAwardPoints, onPenalty, }) => { const [activeTab, setActiveTab] = useState('players') // players | game | answers | scoring const [selectedPlayer, setSelectedPlayer] = useState(null) const [customPoints, setCustomPoints] = useState(10) if (!isOpen) return null const gameStatus = room?.status || 'WAITING' const areAllAnswersRevealed = currentQuestion ? revealedAnswers.length === currentQuestion.answers.length : false // Handlers const handleBackdropClick = (e) => { if (e.target === e.currentTarget) onClose() } const handleRevealAnswer = (index) => { if (revealedAnswers.includes(index)) { onHideAnswer(index) } else { onRevealAnswer(index) } } const handleAwardPoints = (points) => { if (selectedPlayer) { onAwardPoints(selectedPlayer, points) } } const handlePenalty = () => { if (selectedPlayer) { onPenalty(selectedPlayer) } } return (
{/* Header with title and close button */}

🎛 Управление игрой

{/* Tabs navigation */}
{/* Tab content */}
{/* PLAYERS TAB */} {activeTab === 'players' && (

Участники ({participants.length})

{participants.length === 0 ? (

Нет участников

) : ( participants.map((participant) => (
{participant.name} {participant.role === 'HOST' && '👑 Ведущий'} {participant.role === 'SPECTATOR' && '👀 Зритель'}
{participant.score || 0} очков
)) )}
)} {/* GAME CONTROLS TAB */} {activeTab === 'game' && (

Управление игрой

Статус: {gameStatus === 'WAITING' && ' Ожидание'} {gameStatus === 'PLAYING' && ' Идет игра'} {gameStatus === 'FINISHED' && ' Завершена'}
{gameStatus === 'WAITING' && ( )} {gameStatus === 'PLAYING' && (
Вопрос {currentQuestionIndex + 1} / {totalQuestions}
)}
Игроков: {participants.length}
{gameStatus === 'PLAYING' && totalQuestions > 0 && (
Вопросов: {totalQuestions}
)}
)} {/* ANSWERS CONTROL TAB */} {activeTab === 'answers' && currentQuestion && (

Управление ответами

{currentQuestion.answers.map((answer, index) => ( ))}
)} {/* SCORING TAB */} {activeTab === 'scoring' && (

Начисление очков

{selectedPlayer && (
setCustomPoints(parseInt(e.target.value) || 0)} />
)}
)}
) } export default GameManagementModal