fix: reset store on getting started (#25607)

* reset store

* Update apps/web/modules/onboarding/getting-started/onboarding-view.tsx

Co-authored-by: Eunjae Lee <hey@eunjae.dev>

---------

Co-authored-by: Eunjae Lee <hey@eunjae.dev>
This commit is contained in:
sean-brydon
2025-12-04 11:23:52 +00:00
committed by GitHub
co-authored by Eunjae Lee
parent dbb33b9632
commit c91da96956
2 changed files with 12 additions and 1 deletions
@@ -25,10 +25,15 @@ type OnboardingViewProps = {
export const OnboardingView = ({ userEmail }: OnboardingViewProps) => {
const router = useRouter();
const { t } = useLocale();
const { selectedPlan, setSelectedPlan } = useOnboardingStore();
const { selectedPlan, setSelectedPlan, resetOnboardingPreservingPlan } = useOnboardingStore();
const previousPlanRef = useRef<PlanType | null>(null);
const [isPending, startTransition] = useTransition();
// Reset onboarding data when visiting this page, but preserve the selected plan
useEffect(() => {
resetOnboardingPreservingPlan();
}, []);
// Plan order mapping for determining direction
const planOrder: Record<PlanType, number> = {
personal: 0,
@@ -87,6 +87,7 @@ export interface OnboardingState {
// Reset
resetOnboarding: () => void;
resetOnboardingPreservingPlan: () => void;
}
const initialState = {
@@ -167,6 +168,11 @@ export const useOnboardingStore = create<OnboardingState>()(
})),
resetOnboarding: () => set(initialState),
resetOnboardingPreservingPlan: () =>
set((state) => ({
...initialState,
selectedPlan: state.selectedPlan,
})),
}),
{
name: "cal-onboarding-storage", // Storage key