import { CustomerPageShell } from "@/app/customer/_components/customer-page-shell";
import { ErrorBanner } from "@/components/shared/error-banner";
import { getCustomerSessionContext } from "@/lib/frontend-auth/server";

import { DebtIntelligenceView } from "./_components/debt-intelligence-report/debt-intelligence-view";
import { DEBT_INTELLIGENCE_REPORT_PERMISSION } from "./_lib/debt-intelligence-report-route";

type PageProps = { params: Promise<{ tenant: string }> };

export default async function DebtIntelligenceReportPage({ params }: PageProps) {
  const { tenant } = await params;
  const session = await getCustomerSessionContext(tenant);
  const permissionDenied =
    session.user != null && !session.permissions.routes.includes(DEBT_INTELLIGENCE_REPORT_PERMISSION);

  return (
    <CustomerPageShell>
      {permissionDenied ? (
        <ErrorBanner message="Permission denied for the Debt Intelligence Report." />
      ) : (
        <DebtIntelligenceView />
      )}
    </CustomerPageShell>
  );
}
