import React, { useState, useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; import { useAuth } from '../context/AuthContext'; import { useRoom } from '../hooks/useRoom'; import { questionsApi } from '../services/api'; const CreateRoom = () => { const navigate = useNavigate(); const { user } = useAuth(); const { createRoom, loading: roomLoading } = useRoom(); const [questionPacks, setQuestionPacks] = useState([]); const [selectedPackId, setSelectedPackId] = useState(''); const [settings, setSettings] = useState({ maxPlayers: 10, allowSpectators: true, timerEnabled: false, timerDuration: 30, }); const [loading, setLoading] = useState(true); useEffect(() => { const fetchPacks = async () => { try { const response = await questionsApi.getPacks(user?.id); setQuestionPacks(response.data); } catch (error) { console.error('Error fetching question packs:', error); } finally { setLoading(false); } }; fetchPacks(); }, [user]); const handleCreateRoom = async () => { if (!user) { alert('Войдите в систему для создания комнаты'); return; } try { const room = await createRoom( user.id, selectedPackId || undefined, settings, ); navigate(`/room/${room.code}`); } catch (error) { console.error('Error creating room:', error); alert('Ошибка создания комнаты'); } }; if (loading) { return