"use client"; import { InventoryResult } from "@/app/api/inventory"; import { useMemo } from "react"; import { useTranslation } from "react-i18next"; import { Column } from "../SearchResults"; import SearchResults, { defaultPagingController, defaultSetPagingController, } from "../SearchResults/SearchResults"; interface Props { inventories: InventoryResult[]; setPagingController: defaultSetPagingController; pagingController: typeof defaultPagingController; totalCount: number; onRowClick: (item: InventoryResult) => void; } const StockIssueInventoryTable: React.FC = ({ inventories, pagingController, setPagingController, totalCount, onRowClick, }) => { const { t } = useTranslation(["inventory", "common"]); const columns = useMemo[]>( () => [ { name: "itemCode", label: t("Code") }, { name: "itemName", label: t("Name") }, { name: "itemType", label: t("Type"), renderCell: (params) => { const code = params.itemType?.trim() ?? ""; if (!code) return "—"; const fromCommon = t(code, { ns: "common", defaultValue: code }); return fromCommon !== code ? fromCommon : t(code, { defaultValue: code }); }, }, { name: "availableQty", label: t("Available Qty"), align: "right", headerAlign: "right", type: "integer", }, { name: "uomUdfudesc", label: t("Stock UoM"), align: "left", headerAlign: "left", }, ], [t], ); return ( items={inventories} columns={columns} pagingController={pagingController} setPagingController={setPagingController} totalCount={totalCount} onRowClick={onRowClick} /> ); }; export default StockIssueInventoryTable;