import DangerMessage from "@/components/message/DangerMessage"; import TabGroup, { Tab } from "@/components/tab/TabGroup"; import TutorialComponent from "@/components/TutorialComponent"; import { useGetGame } from "@/hooks/GameHooks"; import { TutorialStatus } from "@/interface/AccountTutorialStatus"; import { Game } from "@/interface/Game"; import { useAuth } from "@/providers/AuthProvider"; import GameCalendarDisplay from "@/ui/calendar/GameCalendarDisplay"; import GameHeader from "@/ui/game/GameHeader"; import GameClassDisplay from "@/ui/gameClass/GameClassDisplay"; import RaidGroupsByGameDisplay from "@/ui/raidGroup/RaidGroupsByGameDisplay"; import { gameTutorialSteps } from "@/util/TutorialUtil"; import { useEffect, useState } from "react"; import { Navigate, useParams } from "react-router"; export default function GamePage(){ const { gameId } = useParams(); const [ game, setGame ] = useState(); const { tutorialsStatus, setTutorialsStatus } = useAuth(); const gameQuery = useGetGame(gameId ?? "", false); const updateGameTutorialStatus = () => { const newTutorialsStatus = { ...tutorialsStatus }; if(tutorialsStatus.gameTutorialStatus === TutorialStatus.COMPLETED){ newTutorialsStatus.gameTutorialStatus = TutorialStatus.NOT_COMPLETED; } else if(tutorialsStatus.gameTutorialStatus === TutorialStatus.NOT_COMPLETED){ newTutorialsStatus.gameTutorialStatus = TutorialStatus.COMPLETED; } setTutorialsStatus(newTutorialsStatus); } useEffect(() => { if(gameQuery.status === "success"){ setGame(gameQuery.data); } }, [ gameQuery ]); if(gameQuery.status === "pending"){ return (
Loading...
); } else if(gameQuery.status === "error"){ return ( Error: {gameQuery.error.message} ); } else if(gameQuery.status === "success" && gameQuery.data === undefined){ return ( ); } else if(game){ const tabs: Tab[] = [ { tabId: "calendarTab", tabHeader: "Calendar", tabContent: }, { tabId: "raidGroupsTab", tabHeader: "Raid Groups", tabContent: }, { tabId: "gameClassesTab", tabHeader: "Classes", tabContent: } ]; return (
{/* Tutorials */} { tutorialsStatus.gameTutorialStatus === TutorialStatus.NOT_COMPLETED && }
); } }