diff --git a/src/app/intro/intro-client.tsx b/src/app/intro/intro-client.tsx index b3d2a7c..9bc86a2 100644 --- a/src/app/intro/intro-client.tsx +++ b/src/app/intro/intro-client.tsx @@ -125,6 +125,16 @@ export default function IntroClient() { } }; + const handleSliderComplete = useCallback( + (targetPath: string) => { + const destination = localizePath(targetPath, locale); + router.prefetch(destination); + setIsStepsOpen(false); + router.replace(destination); + }, + [locale, router], + ); + return ( <>
@@ -230,7 +240,10 @@ export default function IntroClient() { onClose={handleCloseSteps} > {isStepsOpen && ( - + )} diff --git a/src/components/Componentes/slider-page.tsx b/src/components/Componentes/slider-page.tsx index ec2b09e..c0491bc 100644 --- a/src/components/Componentes/slider-page.tsx +++ b/src/components/Componentes/slider-page.tsx @@ -26,9 +26,13 @@ const SLIDER_ANSWERS_STORAGE_KEY = "marriage-slider-answers"; export type SliderPageProps = { onClose?: () => void; + onComplete?: (targetPath: string) => void; }; -export default function SliderPage({ onClose }: SliderPageProps = {}) { +export default function SliderPage({ + onClose, + onComplete, +}: SliderPageProps = {}) { const router = useRouter(); const { locale } = useI18n(); const [activeSlide, setActiveSlide] = useState(0); @@ -114,7 +118,15 @@ export default function SliderPage({ onClose }: SliderPageProps = {}) { window.localStorage.removeItem(SLIDER_ANSWERS_STORAGE_KEY); } - router.replace(localizePath(getSubmitPath(freshProfile), locale)); + const targetPath = getSubmitPath(freshProfile); + const localizedTarget = localizePath(targetPath, locale); + router.prefetch(localizedTarget); + + if (onComplete) { + onComplete(targetPath); + } else { + router.replace(localizedTarget); + } } catch (error) { console.error("Failed to complete onboarding:", error); setSubmitError(t["Failed to update profile basic details. Please try again."] || "Failed to update profile basic details. Please try again."); @@ -279,13 +291,14 @@ type SliderStepActionsProps = { }; function SliderStepActions({ onBack, onNext }: SliderStepActionsProps) { + const { dictionary: t } = useI18n(); return (
); @@ -302,6 +315,7 @@ function SliderFinalActions({ onBack, onFinish, }: SliderFinalActionsProps) { + const { dictionary: t } = useI18n(); return (
);