From 9654ccee26e592b4de24e5f4db0a5add437c5cd2 Mon Sep 17 00:00:00 2001 From: Lorentz Hinrichsen Date: Wed, 18 Feb 2026 07:27:58 -0500 Subject: [PATCH] feat: integrate shipment cart into inventory summary tables Pass cartEnabled prop through inventory summary and detail tables to show the CartBar component for users with shipment request permissions. Fix embedded detail table missing cart/category props. Co-Authored-By: Claude Opus 4.6 --- docs/order-acknowledgement-po-233782.pdf | Bin 0 -> 28639 bytes .../(portal)/inventory/finished-goods/page.tsx | 16 ++++++++++------ .../inventory/inventory-detail-table.tsx | 2 +- .../inventory/inventory-summary-table.tsx | 15 +++++++++++---- 4 files changed, 22 insertions(+), 11 deletions(-) create mode 100644 docs/order-acknowledgement-po-233782.pdf diff --git a/docs/order-acknowledgement-po-233782.pdf b/docs/order-acknowledgement-po-233782.pdf new file mode 100644 index 0000000000000000000000000000000000000000..71b6b0fae7ad181135098069359961ff3e37b2a5 GIT binary patch literal 28639 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 d>J9Yf*IiKC+V []); + const [inventory, canShip] = await Promise.all([ + getFinishedGoodsSummary( + activeCompany.epicor_cust_id, + dbName, + sub + ).catch(() => []), + hasPermission('create_shipment_request'), + ]); - return ; + return ; } function LoadingSkeleton() { diff --git a/src/components/inventory/inventory-detail-table.tsx b/src/components/inventory/inventory-detail-table.tsx index 379c0b2..6ff2ae1 100644 --- a/src/components/inventory/inventory-detail-table.tsx +++ b/src/components/inventory/inventory-detail-table.tsx @@ -564,7 +564,7 @@ export function InventoryDetailTable({ category, }: Props) { if (embedded) { - return ; + return ; } return ( diff --git a/src/components/inventory/inventory-summary-table.tsx b/src/components/inventory/inventory-summary-table.tsx index 61fd90e..271a583 100644 --- a/src/components/inventory/inventory-summary-table.tsx +++ b/src/components/inventory/inventory-summary-table.tsx @@ -2,7 +2,6 @@ import { useState, useCallback } from 'react'; import { - Table, TableBody, TableCell, TableRow, @@ -24,6 +23,7 @@ import { SortableTableHead, useSortableTable, } from '@/components/ui/sortable-table-head'; +import { CartBar } from '@/components/requests/cart-bar'; const CATEGORY_COLORS: Record = { wip: 'bg-emerald-600 text-white', @@ -37,11 +37,14 @@ const CATEGORY_COLORS: Record = { type InventorySummaryTableProps = { data: InventorySummaryRow[]; category: string; + /** Whether to show the shipment cart bar */ + cartEnabled?: boolean; }; export function InventorySummaryTable({ data, category, + cartEnabled = false, }: InventorySummaryTableProps) { const [searchTerm, setSearchTerm] = useState(''); const [dialogOpen, setDialogOpen] = useState(false); @@ -142,6 +145,8 @@ export function InventorySummaryTable({ return (
+ {cartEnabled && } +
@@ -160,7 +165,7 @@ export function InventorySummaryTable({
- +
Rows - + @@ -251,7 +256,7 @@ export function InventorySummaryTable({ ))} -
+
@@ -321,6 +326,8 @@ export function InventorySummaryTable({ plant={selectedRow?.plant_key || selectedRow?.plant} warehouse={selectedRow?.warehouse} embedded + cartEnabled={cartEnabled} + category={category} /> )}