diff --git a/app/[lang]/(partner)/(sas)/(protected)/sas-x-scandic/error.tsx b/app/[lang]/(partner)/(sas)/(protected)/sas-x-scandic/error.tsx index 7f1958aea..2b3de6440 100644 --- a/app/[lang]/(partner)/(sas)/(protected)/sas-x-scandic/error.tsx +++ b/app/[lang]/(partner)/(sas)/(protected)/sas-x-scandic/error.tsx @@ -26,12 +26,12 @@ export default function Error({ return ( {intl.formatMessage({ - id: "We could not connect your accounts to give you access. Please contact us and we’ll help you resolve this issue.", + id: "Please try again later", })} diff --git a/app/[lang]/(partner)/(sas)/(protected)/sas-x-scandic/link/LinkAccountForm.tsx b/app/[lang]/(partner)/(sas)/(protected)/sas-x-scandic/link/LinkAccountForm.tsx index d54feeeba..7a7931ad0 100644 --- a/app/[lang]/(partner)/(sas)/(protected)/sas-x-scandic/link/LinkAccountForm.tsx +++ b/app/[lang]/(partner)/(sas)/(protected)/sas-x-scandic/link/LinkAccountForm.tsx @@ -1,6 +1,7 @@ "use client" import Image from "next/image" +import { useRouter } from "next/navigation" import { type ReactNode, useTransition } from "react" import { FormProvider, useForm } from "react-hook-form" import { useIntl } from "react-intl" @@ -24,8 +25,11 @@ export function LinkAccountForm({ onSubmit, }: { initialDateOfBirth: string | null - onSubmit: (dateOfBirth: string) => Promise + onSubmit: ( + dateOfBirth: string + ) => Promise<{ success: boolean; redirectUrl?: string }> }) { + const router = useRouter() let [isPending, startTransition] = useTransition() const intl = useIntl() const form = useForm({ @@ -39,7 +43,12 @@ export function LinkAccountForm({ startTransition(async () => { if (!data.dateOfBirth || !data.termsAndConditions) return - await onSubmit(data.dateOfBirth) + const result = await onSubmit(data.dateOfBirth) + if (!result.success || !result.redirectUrl) { + throw new Error("Unable to redirect") + } + + router.push(result.redirectUrl) }) }) diff --git a/app/[lang]/(partner)/(sas)/(protected)/sas-x-scandic/link/page.tsx b/app/[lang]/(partner)/(sas)/(protected)/sas-x-scandic/link/page.tsx index 171f8e4d2..9424e96eb 100644 --- a/app/[lang]/(partner)/(sas)/(protected)/sas-x-scandic/link/page.tsx +++ b/app/[lang]/(partner)/(sas)/(protected)/sas-x-scandic/link/page.tsx @@ -25,7 +25,10 @@ export default async function SASxScandicLinkPage({ console.log("updating date of birth") } - redirect(`/${params.lang}/sas-x-scandic/login?intent=link`) + return { + redirectUrl: `/${params.lang}/sas-x-scandic/login?intent=link`, + success: true, + } } return alreadyLinked ? ( diff --git a/netlify.toml b/netlify.toml index 850405109..17324fbf2 100644 --- a/netlify.toml +++ b/netlify.toml @@ -29,4 +29,7 @@ TERM = "xterm" package = "@netlify/plugin-nextjs" [images] -remote_images = ["https://imagevault-stage.scandichotels.com.*", "https://imagevault.scandichotels.com.*"] +remote_images = [ + "https://imagevault-stage.scandichotels.com.*", + "https://imagevault.scandichotels.com.*", +]