import ErrorMessages from "@/components/common/error-messages";
import UnitTypeForm from "@/components/unit-types/unit-type-form";
import UnitTypeList from "@/components/unit-types/unit-type-list";
import getData from "@/utils/fetch";
import { Metadata } from "next";
import UnitTypeContent from "./content";
export const metadata: Metadata = {
  title: "unit-type",
};

export default async function UnitType(context: any) {
  const { searchParams } = context;
  const unitId = searchParams?.id;
  let singleUnit = undefined;
  if (unitId) {
    singleUnit = await editForm(unitId);
  }

  const unitTypeResponse = await getData("/api/v1/unit-types");
  if (!unitTypeResponse?.success) {
    return <ErrorMessages message={unitTypeResponse?.message} />;
  }
  const {
    data: { data: unitType },
    data: { pagination },
  } = unitTypeResponse;
  return (
    <div>
      <UnitTypeContent />
      <div className="overflow-hidden shadow">
        <UnitTypeList initUnitType={unitType} initPagination={pagination} />
        {singleUnit && <UnitTypeForm unitType={singleUnit} mode="edit" />}
      </div>
    </div>
  );
}

const editForm = async (id: string) => {
  const { data: unit } = await getData(`/api/v1/unit-types/${id}`);
  return unit;
};
