diff --git a/client/src/components/AppShell.tsx b/client/src/components/AppShell.tsx index dd31b2a..754a6c6 100644 --- a/client/src/components/AppShell.tsx +++ b/client/src/components/AppShell.tsx @@ -31,7 +31,7 @@ export function AppShell() { key={link.to} to={link.to} className={({ isActive }) => - `block rounded-2xl px-4 py-3 text-sm font-semibold transition ${ + `block rounded-2xl px-2 py-2 text-sm font-semibold transition ${ isActive ? "bg-brand text-white" : "text-text hover:bg-page" }` } @@ -53,10 +53,10 @@ export function AppShell() {
-
+

Operations Command

-

Foundation Console

+

Foundation Console

diff --git a/client/src/modules/crm/CrmListPage.tsx b/client/src/modules/crm/CrmListPage.tsx index ab8fd6d..942e723 100644 --- a/client/src/modules/crm/CrmListPage.tsx +++ b/client/src/modules/crm/CrmListPage.tsx @@ -55,11 +55,11 @@ export function CrmListPage({ entity }: CrmListPageProps) { }, [config.collectionLabel, entity, lifecycleFilter, operationalFilter, searchTerm, stateFilter, statusFilter, token]); return ( -
+

CRM

-

{config.collectionLabel}

+

{config.collectionLabel}

Operational contact records, shipping addresses, and account context for active {config.collectionLabel.toLowerCase()}.

@@ -67,7 +67,7 @@ export function CrmListPage({ entity }: CrmListPageProps) { {canManage ? ( New {config.singularLabel.toLowerCase()} @@ -137,9 +137,9 @@ export function CrmListPage({ entity }: CrmListPageProps) {
-
{status}
+
{status}
{records.length === 0 ? ( -
+
{config.emptyMessage}
) : ( @@ -147,19 +147,19 @@ export function CrmListPage({ entity }: CrmListPageProps) { - - - - - - - + + + + + + + {records.map((record) => ( - - - - - - - + ))} diff --git a/client/src/modules/dashboard/DashboardPage.tsx b/client/src/modules/dashboard/DashboardPage.tsx index ffba20f..2f85fbe 100644 --- a/client/src/modules/dashboard/DashboardPage.tsx +++ b/client/src/modules/dashboard/DashboardPage.tsx @@ -3,25 +3,25 @@ import { Link } from "react-router-dom"; export function DashboardPage() { return (
-
+

Foundation Status

-

Platform primitives are online.

+

Platform primitives are online.

Authentication, RBAC, runtime branding, attachment storage, Docker deployment, and a planning visualization wrapper are now structured for future domain expansion.

- + Manage company profile - + Open inventory - + Open gantt preview
-
+

Roadmap

{[ diff --git a/client/src/modules/inventory/InventoryDetailPage.tsx b/client/src/modules/inventory/InventoryDetailPage.tsx index 308496a..1333812 100644 --- a/client/src/modules/inventory/InventoryDetailPage.tsx +++ b/client/src/modules/inventory/InventoryDetailPage.tsx @@ -34,7 +34,7 @@ export function InventoryDetailPage() { }, [itemId, token]); if (!item) { - return
{status}
; + return
{status}
; } return ( @@ -43,7 +43,7 @@ export function InventoryDetailPage() {

Inventory Detail

-

{item.sku}

+

{item.sku}

{item.name}

@@ -56,7 +56,7 @@ export function InventoryDetailPage() { Back to items {canManage ? ( - + Edit item ) : null} @@ -99,7 +99,7 @@ export function InventoryDetailPage() {

Bill Of Materials

Component structure

{item.bomLines.length === 0 ? ( -
+
No BOM lines are defined for this item yet.
) : ( @@ -107,24 +107,24 @@ export function InventoryDetailPage() {
NameStatusLifecycleOperationalActivityContactUpdatedNameStatusLifecycleOperationalActivityContactUpdated
+ {record.name} @@ -170,13 +170,13 @@ export function CrmListPage({ entity }: CrmListPageProps) { ) : null} + + {record.lifecycleStage ? : null} +
{record.preferredAccount ? Preferred : null} {record.strategicAccount ? Strategic : null} @@ -187,19 +187,19 @@ export function CrmListPage({ entity }: CrmListPageProps) { ) : null}
+
{record.rollups?.contactHistoryCount ?? 0} timeline entries
{record.rollups?.attachmentCount ?? 0} attachments
{entity === "customer" ?
{record.rollups?.childCustomerCount ?? 0} child accounts
: null}
+
{record.email}
{record.city}, {record.state}, {record.country}
{record.phone}
{new Date(record.updatedAt).toLocaleDateString()}{new Date(record.updatedAt).toLocaleDateString()}
- - - - - + + + + + {item.bomLines.map((line) => ( - - + - - - + + + ))} diff --git a/client/src/modules/inventory/InventoryListPage.tsx b/client/src/modules/inventory/InventoryListPage.tsx index f9194bb..5caf971 100644 --- a/client/src/modules/inventory/InventoryListPage.tsx +++ b/client/src/modules/inventory/InventoryListPage.tsx @@ -45,13 +45,13 @@ export function InventoryListPage() {

Inventory

-

Item Master

+

Item Master

Core item and BOM definitions for purchased parts, manufactured items, assemblies, and service SKUs.

{canManage ? ( - + New item ) : null} @@ -95,9 +95,9 @@ export function InventoryListPage() {
-
{status}
+
{status}
{items.length === 0 ? ( -
+
No inventory items have been added yet.
) : ( @@ -105,37 +105,37 @@ export function InventoryListPage() {
PositionComponentQuantityUOMNotesPositionComponentQuantityUOMNotes
{line.position} + {line.position}
{line.componentSku}
{line.componentName}
{line.quantity}{line.unitOfMeasure}{line.notes || "—"}{line.quantity}{line.unitOfMeasure}{line.notes || "—"}
- - - - - - - + + + + + + + {items.map((item) => ( - - - - - + - - + + ))} diff --git a/client/src/modules/inventory/WarehousesPage.tsx b/client/src/modules/inventory/WarehousesPage.tsx index db9765f..22c998f 100644 --- a/client/src/modules/inventory/WarehousesPage.tsx +++ b/client/src/modules/inventory/WarehousesPage.tsx @@ -35,18 +35,18 @@ export function WarehousesPage() {

Inventory

-

Warehouses

+

Warehouses

Physical warehouse records and their internal stock locations.

{canManage ? ( - + New warehouse ) : null}
-
{status}
+
{status}
{warehouses.length === 0 ? ( -
+
No warehouses have been added yet.
) : ( @@ -54,23 +54,23 @@ export function WarehousesPage() {
ItemTypeStatusUOMFlagsBOMUpdatedItemTypeStatusUOMFlagsBOMUpdated
+ {item.sku}
{item.name}
+ + {item.unitOfMeasure} + {item.unitOfMeasure}
{item.isSellable ? "Sellable" : "Not sellable"}
{item.isPurchasable ? "Purchasable" : "Not purchasable"}
{item.bomLineCount} lines{new Date(item.updatedAt).toLocaleDateString()}{item.bomLineCount} lines{new Date(item.updatedAt).toLocaleDateString()}
- - - - + + + + {warehouses.map((warehouse) => ( - - - - + + + ))} diff --git a/client/src/modules/login/LoginPage.tsx b/client/src/modules/login/LoginPage.tsx index cb8499e..c67859f 100644 --- a/client/src/modules/login/LoginPage.tsx +++ b/client/src/modules/login/LoginPage.tsx @@ -39,7 +39,7 @@ export function LoginPage() {

-

Sign in

+

Sign in

Use the seeded admin account to access the initial platform shell.

CodeNameLocationsUpdatedCodeNameLocationsUpdated
+ {warehouse.code} {warehouse.name}{warehouse.locationCount}{new Date(warehouse.updatedAt).toLocaleDateString()}{warehouse.name}{warehouse.locationCount}{new Date(warehouse.updatedAt).toLocaleDateString()}