import { MarketPriceForm } from "../_components/market-price-form/market-price-form";
import { mapFTypeToBaseAssetClass } from "../_components/constants";
import { fetchBackendMissingMarketPriceIsinByTicker } from "../_lib/missing-market-price-isin-server-api";

type PageProps = {
  searchParams: Promise<{
    isin?: string;
    ISIN?: string;
    f_type?: string;
    f_type_label?: string;
  }>;
};

export default async function MissingMarketPriceIsinCreatePage({
  searchParams,
}: PageProps) {
  const params = await searchParams;
  const isin = (params.ISIN ?? params.isin)?.trim();
  const fType = params.f_type?.trim();
  const fTypeLabel = params.f_type_label?.trim();
  const listRow = isin ? await fetchBackendMissingMarketPriceIsinByTicker(isin) : null;

  return (
    <MarketPriceForm
      initialIsin={isin}
      initialBaseAssetClass={
        mapFTypeToBaseAssetClass(fType ?? listRow?.fType) ?? undefined
      }
      fTypeLabel={fTypeLabel ?? listRow?.fTypeLabel}
    />
  );
}
