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:
co-authored by
Eunjae Lee
parent
dbb33b9632
commit
c91da96956
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user