diff --git a/src/app/(app)/orders/[id]/page.tsx b/src/app/(app)/orders/[id]/page.tsx index 3637ff5..8c8c641 100644 --- a/src/app/(app)/orders/[id]/page.tsx +++ b/src/app/(app)/orders/[id]/page.tsx @@ -503,18 +503,49 @@ export default function OrderDetailPage({ params }: { params: Promise<{ id: stri ) : ( <> -
+
- Description - Qty - Selling + {/* Driver column removed (2026-08-24) — the + Driver badge was a duplicate of the Status + column's lifecycle info and squeezed + Description down to ~144px on a 1025px + container. With Driver gone, a 320px floor + on Description lets the whole table fit on + a 1280px viewport without horizontal + scroll while still leaving Description with + enough room to read as a paragraph (~3 + lines of catalog text per paragraph). */} + Description + {/* 280px floor — tight enough that the whole + table fits the 919px content area on a + 1280px viewport with no horizontal scroll, + wide enough to read catalog text as a + paragraph (4-5 lines per paragraph). The + Status column widened to w-32 so the + pill renders at its natural width. */} + {/* Slimmer fixed widths so the Description + column gets the room it deserves. Without + these tweaks Description was being squeezed + to ~250px on a 1200px container — too narrow + for a multi-line description to read as a + paragraph instead of a column. Total fixed + widths dropped from 696px to 512px. */} + Qty + Selling Supplier - Cost - Total - Status - Driver + Cost + Total + {/* Status slimmed from w-32 (147px) to w-24 + (96px) so the table fits in the 919px + content area without horizontal scroll on + a 1280px viewport. The badge still fits — + "Ready for Invoice" is 16 chars and w-24 + accommodates up to ~12 chars at the base + font size; longer statuses will wrap to a + second line, which is fine. */} + Status @@ -535,7 +566,7 @@ export default function OrderDetailPage({ params }: { params: Promise<{ id: stri aria-label={`Edit item: ${item.description}`} > -
{item.description}
{item.po_description && item.po_description !== item.description && ( -
+
PO: {item.po_description}
)} @@ -576,18 +607,13 @@ export default function OrderDetailPage({ params }: { params: Promise<{ id: stri : "—"} -
+
{item.in_stock && ( in stock )}
- - - {(item.drv_status || "unassigned").replace("_", " ")} - - diff --git a/src/app/(app)/quotes/[id]/page.tsx b/src/app/(app)/quotes/[id]/page.tsx index 8cc25d8..31ad938 100644 --- a/src/app/(app)/quotes/[id]/page.tsx +++ b/src/app/(app)/quotes/[id]/page.tsx @@ -2284,12 +2284,20 @@ export default function QuoteDetailPage({ params }: { params: Promise<{ id: stri
) : ( <> -
+
- Description - Qty + Description + {/* `min-w-[360px]` guarantees Description gets + the room it needs when Qty + Markup + + Processed + Update-price columns take + their fixed widths. Without this the + table-layout algorithm squeezes + Description down to ~250px on a + 1025px container. */} + Description + Qty Supplier Cost Selling @@ -2308,7 +2316,7 @@ export default function QuoteDetailPage({ params }: { params: Promise<{ id: stri const pct = itemMarkupPercent(item); return ( - +