frontPanel/src/stores/quizPreview.ts

30 lines
704 B
TypeScript
Raw Normal View History

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,
}));