import { useEffect, useState } from "react"; import { useParams, useNavigate } from "react-router-dom"; import Navbar from "@/widgets/Navbar"; import { Button } from "@/components/ui/button"; import { ArrowLeft } from "lucide-react"; import { Competition } from "@/shared/types"; import { mockCompetitions, mockTasks } from "@/shared/mocks/mocks"; const CompetitionPreview = () => { const { id } = useParams<{ id: string }>(); const navigate = useNavigate(); const [competition, setCompetition] = useState(null); const [isLoading, setIsLoading] = useState(true); useEffect(() => { const fetchCompetition = async () => { try { setTimeout(() => { const found = mockCompetitions.find((comp) => comp.id === id); setCompetition(found || null); setIsLoading(false); }, 500); } catch (error) { console.error("Error fetching competition:", error); setIsLoading(false); } }; fetchCompetition(); }, [id]); const handleBack = () => { navigate(-1); }; const handleContinue = () => { if (competition?.id) { const competitionTasks = mockTasks[competition.id]; if (competitionTasks && competitionTasks.length > 0) { const firstTaskId = competitionTasks[0].id; navigate(`/competition/${competition.id}/tasks/${firstTaskId}`); } else { navigate(`/competition/${competition.id}/tasks`); } } }; return ( <>
{isLoading ? (

Загрузка...

) : competition ? (
{competition.name}

{competition.name}

{competition.description}

) : (

Соревнование не найдено

Запрошенное соревнование не существует или было удалено.

)}
); }; export default CompetitionPreview;