import { parseMissingAccumulatorMasterSearchParams } from "./_components/constants";
import { MissingAccumulatorMasterPageClient } from "./_components/missing-accumulator-master-page-client";
import { fetchBackendMissingAccumulatorMaster } from "./_lib/missing-accumulator-master-server-api";

type PageProps = {
  searchParams: Promise<{
    ticker?: string;
    xmlId?: string;
    bankName?: string;
    tempId?: string;
    page?: string;
    page_size?: string;
  }>;
};

export default async function MissingAccumulatorMasterPage({ searchParams }: PageProps) {
  const query = parseMissingAccumulatorMasterSearchParams(await searchParams);
  const { rows, totalCount, page, pageSize, pageCount, errorMessage } =
    await fetchBackendMissingAccumulatorMaster(query);

  return (
    <MissingAccumulatorMasterPageClient
      rows={rows}
      filters={{
        ticker: query.ticker,
        xmlId: query.xmlId,
        bankName: query.bankName,
        tempId: query.tempId,
      }}
      totalCount={totalCount}
      page={page}
      pageSize={pageSize}
      pageCount={pageCount}
      errorMessage={errorMessage}
    />
  );
}
