import React from "react"; import { DailySolution, getDailyMVSolution } from "../helpers/fetchSolution"; import { useGameState } from "../hooks/useGameState"; import { Header, InfoPopUp, Game, Footer } from "../components"; import * as Styled from "../app.styled"; export function MVPage() { const [todaysSolution, setTodaysSolution] = React.useState(null); const firstRun = localStorage.getItem("firstRun") === null; React.useEffect(() => { getDailyMVSolution().then((solution) => setTodaysSolution(solution)); }, []); const { guesses, currentTry, setSelectedSong, didGuess, skip, guess, isSubmitting, } = useGameState({ solution: todaysSolution?.song ?? null, persist: true, sessionDate: todaysSolution?.date, sessionToken: todaysSolution?.sessionToken, initialSig: todaysSolution?.initialSig, mode: "dailyMV", }); const [isInfoPopUpOpen, setIsInfoPopUpOpen] = React.useState(firstRun); const openInfoPopUp = React.useCallback(() => { setIsInfoPopUpOpen(true); }, []); const closeInfoPopUp = React.useCallback(() => { if (firstRun) { localStorage.setItem("firstRun", "false"); } setIsInfoPopUpOpen(false); }, [localStorage.getItem("firstRun")]); if (todaysSolution === null) { return null; } return (
{isInfoPopUpOpen && }
); }