import { CustomerPageShell } from "@/app/customer/_components/customer-page-shell";
import {
  parseCustomerRecordViewParams,
  type CustomerRecordViewPageProps,
} from "@/app/customer/_lib/parse-customer-record-view-params";
import { requireCustomerPageAccess } from "@/app/customer/_lib/customer-page-guard";
import { CUSTOMER_ROUTE_KEYS } from "@/config/customer-route-keys";

import { InterestDividendViewPage } from "../_components/interest-dividend-view-page";
import { fetchInterestDividendViewPageData } from "../_lib/fetch-interest-dividend-view-page";

export default async function InterestDividendRecordViewPage(
  props: CustomerRecordViewPageProps,
) {
  const { tenant, id, customerId, backHref } = await parseCustomerRecordViewParams(
    props,
    "/interest-dividend",
  );
  await requireCustomerPageAccess(tenant, CUSTOMER_ROUTE_KEYS.interestDividentIndex);
  const data = await fetchInterestDividendViewPageData(tenant, id, customerId);

  return (
    <CustomerPageShell>
      <div className="px-1 py-2 sm:px-2">
        <InterestDividendViewPage tenant={tenant} data={data} backHref={backHref} />
      </div>
    </CustomerPageShell>
  );
}
