From c91da96956738efc214ea71ebef3a82e84616860 Mon Sep 17 00:00:00 2001 From: sean-brydon <55134778+sean-brydon@users.noreply.github.com> Date: Thu, 4 Dec 2025 11:23:52 +0000 Subject: [PATCH] fix: reset store on getting started (#25607) * reset store * Update apps/web/modules/onboarding/getting-started/onboarding-view.tsx Co-authored-by: Eunjae Lee --------- Co-authored-by: Eunjae Lee --- .../modules/onboarding/getting-started/onboarding-view.tsx | 7 ++++++- apps/web/modules/onboarding/store/onboarding-store.ts | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/apps/web/modules/onboarding/getting-started/onboarding-view.tsx b/apps/web/modules/onboarding/getting-started/onboarding-view.tsx index 76b2d0e9e0..4cb6c66a24 100644 --- a/apps/web/modules/onboarding/getting-started/onboarding-view.tsx +++ b/apps/web/modules/onboarding/getting-started/onboarding-view.tsx @@ -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(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 = { personal: 0, diff --git a/apps/web/modules/onboarding/store/onboarding-store.ts b/apps/web/modules/onboarding/store/onboarding-store.ts index d9774e60f5..b7a6500f68 100644 --- a/apps/web/modules/onboarding/store/onboarding-store.ts +++ b/apps/web/modules/onboarding/store/onboarding-store.ts @@ -87,6 +87,7 @@ export interface OnboardingState { // Reset resetOnboarding: () => void; + resetOnboardingPreservingPlan: () => void; } const initialState = { @@ -167,6 +168,11 @@ export const useOnboardingStore = create()( })), resetOnboarding: () => set(initialState), + resetOnboardingPreservingPlan: () => + set((state) => ({ + ...initialState, + selectedPlan: state.selectedPlan, + })), }), { name: "cal-onboarding-storage", // Storage key