20 lines
664 B
TypeScript
20 lines
664 B
TypeScript
import { QuizSettings } from "@model/settingsData";
|
|
import { createContext, useContext } from "react";
|
|
|
|
type QuizSettingsFull = QuizSettings | {};
|
|
type QuizData = QuizSettingsFull & { quizId: string; preview: boolean; };
|
|
type QuizDataClean = QuizSettings & { quizId: string; preview: boolean; };
|
|
|
|
export const QuizDataContext = createContext<QuizData | null>(null);
|
|
|
|
export const useQuizData = ():QuizDataClean => {
|
|
const quizData = useContext(QuizDataContext);
|
|
if (
|
|
quizData === null ||
|
|
!("settings" in quizData) ||
|
|
!("recentlyCompleted" in quizData)
|
|
) throw new Error("QuizData context is null");
|
|
|
|
return quizData;
|
|
};
|