19 lines
637 B
TypeScript
19 lines
637 B
TypeScript
import { QuizSettings } from "@model/settingsData";
|
|
import { createContext, useContext, useMemo } from "react";
|
|
import { AnyTypedQuizQuestion } from "..";
|
|
|
|
export type QuizSettingsContextValue = QuizSettings & {
|
|
quizId: string;
|
|
preview: boolean;
|
|
changeFaviconAndTitle: boolean;
|
|
addQuestion: (newQuestion: AnyTypedQuizQuestion) => void;
|
|
};
|
|
|
|
export const QuizSettingsContext = createContext<QuizSettingsContextValue | null>(null);
|
|
|
|
export const useQuizSettings = () => {
|
|
const quizSettings = useContext(QuizSettingsContext);
|
|
if (quizSettings === null) throw new Error("QuizSettings context is null");
|
|
return quizSettings;
|
|
};
|