2023-10-03 16:05:20 +00:00
|
|
|
import { create } from "zustand";
|
|
|
|
import { devtools } from "zustand/middleware";
|
|
|
|
|
|
|
|
interface QuizPreviewStore {
|
2023-12-31 02:53:25 +00:00
|
|
|
isPreviewShown: boolean;
|
2023-10-03 16:05:20 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
export const useQuizPreviewStore = create<QuizPreviewStore>()(
|
2023-12-31 02:53:25 +00:00
|
|
|
devtools(
|
|
|
|
(set, get) => ({
|
|
|
|
isPreviewShown: false,
|
|
|
|
}),
|
|
|
|
{
|
|
|
|
name: "quizPreview",
|
|
|
|
enabled: process.env.NODE_ENV !== "production",
|
|
|
|
},
|
|
|
|
),
|
2023-10-03 16:05:20 +00:00
|
|
|
);
|
|
|
|
|
2023-12-31 02:53:25 +00:00
|
|
|
export const showQuizPreview = () =>
|
|
|
|
useQuizPreviewStore.setState({ isPreviewShown: true });
|
2023-10-03 16:05:20 +00:00
|
|
|
|
2023-12-31 02:53:25 +00:00
|
|
|
export const hideQuizPreview = () =>
|
|
|
|
useQuizPreviewStore.setState({ isPreviewShown: false });
|
2023-10-03 16:05:20 +00:00
|
|
|
|
2023-12-31 02:53:25 +00:00
|
|
|
export const toggleQuizPreview = () =>
|
|
|
|
useQuizPreviewStore.setState((state) => ({
|
|
|
|
isPreviewShown: !state.isPreviewShown,
|
|
|
|
}));
|