frontend/stores/useTourStore.ts (view raw)
1import {create} from 'zustand';
2
3type Tour = {
4 showWelcome: boolean;
5 isCreator: boolean | null;
6 run: boolean;
7 step: number;
8 prev: number;
9};
10
11type State = Tour & {
12 setTour: (tour: Partial<Tour>) => void;
13};
14
15const useTourStore = create<State>(set => ({
16 showWelcome: false,
17 isCreator: null,
18 run: false,
19 step: -1,
20 prev: -1,
21 setTour: tour => {
22 if (typeof tour.showWelcome != 'undefined') {
23 localStorage.setItem('showWelcome', String(tour.showWelcome));
24 }
25 set(s => ({...s, ...tour}));
26 },
27}));
28
29export default useTourStore;