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 (
);