From dc07bfc8e0486cfc781e1166f6ebd42dca79caf5 Mon Sep 17 00:00:00 2001 From: jason Date: Wed, 18 Mar 2026 22:44:01 -0500 Subject: [PATCH] cleanup --- CHANGELOG.md | 3 + client/src/modules/crm/CrmDetailPage.tsx | 49 +++++------- .../modules/inventory/InventoryDetailPage.tsx | 66 ++++++++-------- .../modules/inventory/InventoryFormPage.tsx | 78 ++++++++++--------- .../manufacturing/WorkOrderFormPage.tsx | 27 ++++--- .../modules/purchasing/PurchaseFormPage.tsx | 31 ++++---- client/src/modules/sales/SalesFormPage.tsx | 24 +++--- .../src/modules/shipping/ShipmentFormPage.tsx | 10 ++- 8 files changed, 148 insertions(+), 140 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a30433..a7b015b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,9 @@ This file is the running release and change log for CODEXIUM. Keep it updated wh - UI density standardization pass across app shell, dashboard, finance, project detail, manufacturing detail, and admin surfaces, including tighter panel spacing, more compact shell/navigation spacing, and removal of redundant explanatory subcopy in favor of concise uppercase section labels - Continued density standardization across CRM, inventory, sales, purchasing, and shipping list/detail surfaces so module headers, filter bars, and status panels follow the same tighter uppercase operational pattern - Continued density standardization across CRM, sales, purchasing, shipping, manufacturing, and project form/detail headers so editor and record surfaces now follow the same compact uppercase pattern with less redundant helper copy +- Continued density standardization across CRM detail internals and inventory item editing so secondary cards, timeline/history panels, thumbnail panels, BOM/routing editors, and empty states use the tighter shared surface treatment with less filler copy +- Continued density standardization across inventory detail transaction/transfer/reservation surfaces, and fixed item-editor navigation controls so SKU master and cancel actions navigate reliably from the create-item form +- Continued density standardization across sales, purchasing, shipping, and manufacturing editor internals, and standardized form-header cancel actions onto button-driven navigation to avoid in-form route-transition edge cases - Project-side milestone and work-order rollups surfaced on project list and detail pages - Inventory SKU master builder with family-level sequence codes, branch-aware taxonomy management, and generated SKU previews on the item form - Thumbnail image attachment staging on inventory item create/edit pages, with upload-on-save and replacement/removal support diff --git a/client/src/modules/crm/CrmDetailPage.tsx b/client/src/modules/crm/CrmDetailPage.tsx index 6854ad5..1f5f7cd 100644 --- a/client/src/modules/crm/CrmDetailPage.tsx +++ b/client/src/modules/crm/CrmDetailPage.tsx @@ -216,31 +216,30 @@ export function CrmDetailPage({ entity }: CrmDetailPageProps) { ) : null} -
-
+
+

Last Contact

{record.rollups?.lastContactAt ? new Date(record.rollups.lastContactAt).toLocaleDateString() : "None"}
-
+

Timeline Entries

{record.rollups?.contactHistoryCount ?? record.contactHistory.length}
-
+

Account Contacts

{record.rollups?.contactCount ?? record.contacts?.length ?? 0}
-
+

Attachments

{record.rollups?.attachmentCount ?? 0}
{entity === "customer" && (record.childCustomers?.length ?? 0) > 0 ? ( -
-

Hierarchy

-

End customers under this reseller

-
+
+

HIERARCHY

+
{record.childCustomers?.map((child) => ( ) : null} {entity === "vendor" ? ( -
+
-

Purchasing Activity

-

Recent purchase orders

+

PURCHASING ACTIVITY

{canManage ? ( @@ -275,15 +273,15 @@ export function CrmDetailPage({ entity }: CrmDetailPageProps) {
{relatedPurchaseOrders.length === 0 ? ( -
No purchase orders exist for this vendor yet.
+
No purchase orders yet.
) : ( -
+
{relatedPurchaseOrders.slice(0, 8).map((order) => (
{order.documentNumber}
-
{new Date(order.issueDate).toLocaleDateString()} · {order.lineCount} lines
+
{new Date(order.issueDate).toLocaleDateString()} - {order.lineCount} lines
${order.total.toFixed(2)}
@@ -317,13 +315,9 @@ export function CrmDetailPage({ entity }: CrmDetailPageProps) { />
{canManage ? ( -
-

Contact History

-

Add timeline entry

-

- Record calls, emails, meetings, and follow-up notes directly against this account. -

-
+
+

CONTACT HISTORY

+
) : null} -
-

Timeline

-

Recent interactions

+
+

TIMELINE

{record.contactHistory.length === 0 ? ( -
- No contact history has been recorded for this account yet. +
+ No contact history recorded yet.
) : ( -
+
{record.contactHistory.map((entry) => (
diff --git a/client/src/modules/inventory/InventoryDetailPage.tsx b/client/src/modules/inventory/InventoryDetailPage.tsx index dba4d52..6d3170c 100644 --- a/client/src/modules/inventory/InventoryDetailPage.tsx +++ b/client/src/modules/inventory/InventoryDetailPage.tsx @@ -334,32 +334,32 @@ export function InventoryDetailPage() {
-
-
+
+

On Hand

{item.onHandQuantity}
-
+

Reserved

{item.reservedQuantity}
-
+

Available

{item.availableQuantity}
-
+

Stock Locations

{item.stockBalances.length}
-
+

Transactions

{item.recentTransactions.length}
-
+

Transfers

{item.transfers.length}
-
+

Reservations

{item.reservations.length}
@@ -418,7 +418,7 @@ export function InventoryDetailPage() {

STOCK BY LOCATION

{item.stockBalances.length === 0 ? ( -

No stock or reservation balances have been posted for this item yet.

+

No stock or reservation balances posted yet.

) : (
{item.stockBalances.map((balance) => ( @@ -444,9 +444,9 @@ export function InventoryDetailPage() {
{canManage ? ( -
-

Stock Transactions

-
+ +

STOCK TRANSACTIONS

+
) : null} -
-

Recent Movements

+
+

RECENT MOVEMENTS

{item.recentTransactions.length === 0 ? ( -
- No stock transactions have been recorded for this item yet. +
+ No stock transactions recorded yet.
) : ( -
+
{item.recentTransactions.map((transaction) => (
@@ -535,9 +535,9 @@ export function InventoryDetailPage() { {canManage ? (
-
-

Inventory Transfer

-
+ +

INVENTORY TRANSFER

+
-
-

Manual Reservation

-
+ +

MANUAL RESERVATION

+
@@ -294,7 +297,7 @@ export function WorkOrderFormPage({ mode }: { mode: "create" | "edit" }) { Work instructions / notes