Skip to content

Commit c91da96

Browse files
fix: reset store on getting started (calcom#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>
1 parent dbb33b9 commit c91da96

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,15 @@ type OnboardingViewProps = {
2525
export const OnboardingView = ({ userEmail }: OnboardingViewProps) => {
2626
const router = useRouter();
2727
const { t } = useLocale();
28-
const { selectedPlan, setSelectedPlan } = useOnboardingStore();
28+
const { selectedPlan, setSelectedPlan, resetOnboardingPreservingPlan } = useOnboardingStore();
2929
const previousPlanRef = useRef<PlanType | null>(null);
3030
const [isPending, startTransition] = useTransition();
3131

32+
// Reset onboarding data when visiting this page, but preserve the selected plan
33+
useEffect(() => {
34+
resetOnboardingPreservingPlan();
35+
}, []);
36+
3237
// Plan order mapping for determining direction
3338
const planOrder: Record<PlanType, number> = {
3439
personal: 0,

apps/web/modules/onboarding/store/onboarding-store.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ export interface OnboardingState {
8787

8888
// Reset
8989
resetOnboarding: () => void;
90+
resetOnboardingPreservingPlan: () => void;
9091
}
9192

9293
const initialState = {
@@ -167,6 +168,11 @@ export const useOnboardingStore = create<OnboardingState>()(
167168
})),
168169

169170
resetOnboarding: () => set(initialState),
171+
resetOnboardingPreservingPlan: () =>
172+
set((state) => ({
173+
...initialState,
174+
selectedPlan: state.selectedPlan,
175+
})),
170176
}),
171177
{
172178
name: "cal-onboarding-storage", // Storage key

0 commit comments

Comments
 (0)