import ErrorMessages from "@/components/common/error-messages";
import getData from "@/utils/fetch";
import { Metadata } from "next";
import { revalidatePath } from "next/cache";
import InvoiceContent from "./content";
export const metadata: Metadata = {
  title: "client | invoice",
};

type props = {
  params: { [key: string]: string };
  searchParams?: { [key: string]: string | string[] | undefined };
};

export default async function Invoices({ params }: props) {
  const { Id: uuid }: any = params;
  let api = `/api/v1/invoices`;
  if (uuid) {
    api = `/api/v1/invoices?client_uuid=${uuid}`;
    revalidatePath(`/invoices/client/${uuid}`);
  }
  const response = await getData(api);
  if (!response?.success) {
    return <ErrorMessages message={response?.message} />;
  }
  const {
    data: { data: invoice },
    data: { pagination },
    data: { reports },
  } = response;
  return (
    <div>
      <InvoiceContent
        pagination={pagination}
        invoice={invoice}
        reports={reports}
        clientId={uuid}
      />
    </div>
  );
}
