import { notFound } from "next/navigation"

import { UnderlyingAliasForm } from "../_components/underlying-alias-form/underlying-alias-form"
import { fetchBackendUnderlyingAliasDetail } from "../_lib/underlying-alias-server-api"

type Props = {
  params: Promise<{ code: string }>
}

export default async function UnderlyingAliasUpdatePage({ params }: Props) {
  const { code } = await params

  let row: Awaited<ReturnType<typeof fetchBackendUnderlyingAliasDetail>>
  try {
    row = await fetchBackendUnderlyingAliasDetail(decodeURIComponent(code))
  } catch {
    notFound()
  }
  return <UnderlyingAliasForm mode="update" initialRow={row} />
}
