"use client";

import { Suspense } from "react";

import { useCustomerPortalSession } from "@/app/customer/_components/customer-portal-session-context";
import { isCorporateParentPortalUser } from "@/lib/frontend-auth/report-capabilities";

import { CashBalanceEditor } from "./cash-balance-editor";
import { CorporateCashPage } from "./corporate-cash-page";

function CashPageFallback({ label }: { label: string }) {
  return (
    <div className="flex min-h-[12rem] items-center justify-center px-4 py-10 lg:px-6">
      <p className="text-muted-foreground text-sm">{label}</p>
    </div>
  );
}

export function CashPageContent() {
  const { user } = useCustomerPortalSession();
  const isCorporate = isCorporateParentPortalUser(user);

  if (isCorporate) {
    return (
      <Suspense fallback={<CashPageFallback label="Loading cash transactions…" />}>
        <CorporateCashPage />
      </Suspense>
    );
  }

  return (
    <Suspense fallback={<CashPageFallback label="Loading cash balance editor…" />}>
      <CashBalanceEditor />
    </Suspense>
  );
}
