import Body from "@/components/TempDesignSystem/Text/Body"
import { getIntl } from "@/i18n"

import { DateOfBirthError } from "../components/DateOfBirthError"
import { GenericError } from "../components/GenericError"
import { SASModalContactBlock } from "../components/SASModal"

import type { LangParams, PageArgs, SearchParams } from "@/types/params"

export default async function Page({
  searchParams,
  params,
}: PageArgs<LangParams> & SearchParams<{ errorCode?: "dateOfBirthMismatch" }>) {
  const intl = await getIntl()

  if (searchParams.errorCode === "dateOfBirthMismatch") {
    return <DateOfBirthError />
  }

  return (
    <GenericError
      title={intl.formatMessage({
        id: "We could not connect your accounts",
      })}
    >
      <Body textAlign="center">
        {intl.formatMessage({
          id: "We could not connect your accounts to give you access. Please contact us and we’ll help you resolve this issue.",
        })}
      </Body>
      <SASModalContactBlock />
    </GenericError>
  )
}
