Files
igny8/frontend/src/store/onboardingStore.ts
alorig 8489b2ea48 3
2025-11-20 09:34:54 +05:00

34 lines
810 B
TypeScript

/**
* Onboarding Store (Zustand)
* Manages welcome/guide screen state and dismissal
*/
import { create } from 'zustand';
import { persist } from 'zustand/middleware';
interface OnboardingState {
isGuideDismissed: boolean;
isGuideVisible: boolean;
// Actions
dismissGuide: () => void;
showGuide: () => void;
toggleGuide: () => void;
}
export const useOnboardingStore = create<OnboardingState>()(
persist<OnboardingState>(
(set) => ({
isGuideDismissed: false,
isGuideVisible: false,
dismissGuide: () => set({ isGuideDismissed: true, isGuideVisible: false }),
showGuide: () => set({ isGuideVisible: true }),
toggleGuide: () => set((state) => ({ isGuideVisible: !state.isGuideVisible })),
}),
{
name: 'onboarding-storage',
}
)
);