diff --git a/packages/frontend/src/contexts/QuizCoachContext/QuizCoachProvider.tsx b/packages/frontend/src/contexts/QuizCoachContext/QuizCoachProvider.tsx index 4fe867a5..3150b74d 100644 --- a/packages/frontend/src/contexts/QuizCoachContext/QuizCoachProvider.tsx +++ b/packages/frontend/src/contexts/QuizCoachContext/QuizCoachProvider.tsx @@ -1,7 +1,11 @@ -import { ReactNode, useCallback, useMemo, useState } from "react"; +import { ReactNode, useCallback, useEffect, useMemo, useState } from "react"; + +import { createLocalStorage } from "../../utils/webStorage"; import { QuizCoachActionContext, QuizCoachContext } from "./quizCoachContext"; +const quizTutorialEndStorage = createLocalStorage("quiz-tutorial-end", false); + interface QuizCoachProviderProps { children: ReactNode; } @@ -11,10 +15,12 @@ export function QuizCoachProvider({ children }: QuizCoachProviderProps) { const handleEnd = useCallback(() => { setRun(false); + quizTutorialEndStorage.setItem(true); }, []); const handleStart = useCallback(() => { setRun(true); + quizTutorialEndStorage.removeItem(); }, []); const quizCoachActionContextValue = useMemo( @@ -22,6 +28,11 @@ export function QuizCoachProvider({ children }: QuizCoachProviderProps) { [handleEnd, handleStart], ); + useEffect(() => { + const tutorialEnd = quizTutorialEndStorage.getItem(); + setRun(!tutorialEnd); + }, []); + return (