import { TypeEnum } from "@/app/utils/typeEnum"; import CreateItem from "./CreateItem"; import CreateItemLoading from "./CreateItemLoading"; import { CreateItemInputs } from "@/app/api/settings/item/actions"; import { notFound } from "next/navigation"; import { fetchItem } from "@/app/api/settings/item"; import { fetchQcItems } from "@/app/api/settings/qcItem"; import { fetchQcCategoryCombo } from "@/app/api/settings/qcCategory"; import { fetchWarehouseList } from "@/app/api/warehouse"; interface SubComponents { Loading: typeof CreateItemLoading; } type Props = { id?: number; // type: TypeEnum; }; const CreateItemWrapper: React.FC & SubComponents = async ({ id }) => { let result; let defaultValues: Partial | undefined; // console.log(type) let qcChecks; if (id) { result = await fetchItem(id); const item = result.item; qcChecks = result.qcChecks; const activeRows = qcChecks.filter((it) => it.isActive).map((i) => i.id); // Normalize LocationCode field (handle case sensitivity from MySQL) const locationCode = item?.LocationCode || item?.locationCode; console.log("Fetched item data for edit:", { id: item?.id, code: item?.code, name: item?.name, LocationCode: locationCode, rawItem: item }); defaultValues = { type: item?.type, id: item?.id, code: item?.code, name: item?.name, description: item?.description, remarks: item?.remarks, shelfLife: item?.shelfLife, countryOfOrigin: item?.countryOfOrigin, maxQty: item?.maxQty, qcChecks: qcChecks, qcChecks_active: activeRows, qcCategoryId: item.qcCategory?.id, qcType: result.qcType, store_id: item?.store_id, warehouse: item?.warehouse, area: item?.area, slot: item?.slot, LocationCode: locationCode, isEgg: item?.isEgg, isFee: item?.isFee, isBag: item?.isBag, }; } const qcCategoryCombo = await fetchQcCategoryCombo(); const warehouses = await fetchWarehouseList(); return ( ); }; CreateItemWrapper.Loading = CreateItemLoading; export default CreateItemWrapper;