frontend/stores/useOnboardingStore.ts (view raw)
1import create from 'zustand';
2import {persist} from 'zustand/middleware';
3
4const STORAGE_KEY = 'caroster-onboarding';
5
6type OnBoarding = {onboardingUser: boolean; onboardingCreator: boolean};
7
8type State = OnBoarding & {
9 setOnboarding: (onboarding: Partial<OnBoarding>) => void;
10};
11
12const useOnboardingStore = create<State>(
13 persist(
14 set => ({
15 onboardingUser: false,
16 onboardingCreator: false,
17 setOnboarding: onboarding => set(s => ({...s, ...onboarding})),
18 }),
19 {
20 name: STORAGE_KEY,
21 }
22 )
23);
24
25export default useOnboardingStore;