import { AccountXmlUploadListPage } from "@/components/xml-apis/account-xml-upload/account-xml-upload-list-page"
import { fetchBackendAccountXmlUpload } from "./_lib/account-xml-upload-server-api"

type AccountXmlUploadPageProps = {
  searchParams: Promise<{
    page?: string
    page_size?: string
  }>
}

export default async function AccountXmlUploadListRoute({
  searchParams,
}: AccountXmlUploadPageProps) {
  const params = await searchParams
  const page = Number(params.page ?? "1")
  const pageSize = Number(params.page_size ?? "10")
  const {
    items,
    totalCount,
    page: currentPage,
    pageSize: currentPageSize,
    pageCount,
    errorMessage,
  } = await fetchBackendAccountXmlUpload({
    page: Number.isFinite(page) && page > 0 ? page : 1,
    pageSize: Number.isFinite(pageSize) && pageSize > 0 ? pageSize : 10,
  })

  return (
    <AccountXmlUploadListPage
      initialData={items}
      initialTotalCount={totalCount}
      initialPage={currentPage}
      initialPageSize={currentPageSize}
      initialPageCount={pageCount}
      initialErrorMessage={errorMessage}
    />
  )
}
