import { UploadXmlImportPage } from "@/components/xml-apis/upload-xml/upload-xml-import-page"

type UploadXmlImportRouteProps = {
  params: Promise<{ id: string }>
  searchParams: Promise<Record<string, string | string[] | undefined>>
}

function firstParam(
  value: string | string[] | undefined,
): string {
  if (Array.isArray(value)) return value[0] ?? ""
  return value ?? ""
}

/** True for `?detect=commonrules` (and legacy `?detect=bonds`). */
export function isCommonRulesDetectParam(raw: string): boolean {
  const value = raw.trim().toLowerCase()
  return value === "commonrules" || value === "common-rules" || value === "bonds"
}

export default async function UploadXmlImportRoute({
  params,
  searchParams,
}: UploadXmlImportRouteProps) {
  const { id } = await params
  const query = await searchParams
  const detectCommonRules = isCommonRulesDetectParam(firstParam(query.detect))

  return (
    <UploadXmlImportPage uploadId={id} detectCommonRules={detectCommonRules} />
  )
}
