From 809e0061ca0d641babf3d184a6ee7b5910e97d95 Mon Sep 17 00:00:00 2001 From: default Date: Mon, 1 Jun 2026 20:45:58 +0000 Subject: [PATCH] Consolidate admin pages into tabbed layouts with warm stone theme - Add SettingsClient with tabs: General, Users, Integrations - Add RouteTracePage with tabs: Dashboard, Lots, Lookup, Settings - Fix dark styling in AdminMeClient.tsx (red/green alerts) - Fix dark styling in AIClient.tsx (emerald/amber/green/red/blue) - Fix ImportCenterClient.tsx (already correct, no changes needed) - Fix TypeScript errors in LotListTable, RouteTraceDashboard - Convert lot.id to lot.lot_id for HaulingLot compatibility - Update route-trace components to warm stone theme --- src/app/admin/import/ImportCenterClient.tsx | 138 ++--- src/app/admin/me/AdminMeClient.tsx | 60 +- src/app/admin/route-trace/lookup/page.tsx | 50 +- src/app/admin/route-trace/lots/page.tsx | 59 +- src/app/admin/route-trace/page.tsx | 26 +- src/app/admin/route-trace/settings/page.tsx | 57 +- src/app/admin/settings/ai/AIClient.tsx | 526 +++++++++--------- src/app/admin/settings/page.tsx | 94 +--- src/components/admin/SettingsClient.tsx | 128 +++++ .../route-trace/AdminLookupPage.tsx | 6 +- .../route-trace/FsmaReportModal.tsx | 6 +- src/components/route-trace/LotCreateForm.tsx | 28 +- src/components/route-trace/LotDetailPanel.tsx | 22 +- src/components/route-trace/LotListTable.tsx | 25 +- src/components/route-trace/QRScanModal.tsx | 8 +- .../route-trace/RouteTraceDashboard.tsx | 8 +- src/components/route-trace/RouteTraceNav.tsx | 2 +- src/components/route-trace/RouteTracePage.tsx | 141 +++++ src/components/route-trace/StatusBadge.tsx | 2 +- .../route-trace/StickerPreviewModal.tsx | 8 +- 20 files changed, 834 insertions(+), 560 deletions(-) create mode 100644 src/components/admin/SettingsClient.tsx create mode 100644 src/components/route-trace/RouteTracePage.tsx diff --git a/src/app/admin/import/ImportCenterClient.tsx b/src/app/admin/import/ImportCenterClient.tsx index 5ed0967..5d977b4 100644 --- a/src/app/admin/import/ImportCenterClient.tsx +++ b/src/app/admin/import/ImportCenterClient.tsx @@ -136,19 +136,19 @@ export default function ImportCenterClient({ brandId: initialBrandId, brandName: const analysisLabels = ["Reading your file...", "AI is mapping columns...", "Cleaning and normalizing data...", "Finalizing preview..."]; return ( -
+
{/* Header */}
-
- +
+
-

Import Center

-

AI-powered data import for products, orders, contacts, and stops.

+

Import Center

+

AI-powered data import for products, orders, contacts, and stops.

@@ -161,12 +161,12 @@ export default function ImportCenterClient({ brandId: initialBrandId, brandName: return (
{isPast ? "✓" : i + 1}
- {labels[i]} - {i < 3 &&
} + {labels[i]} + {i < 3 &&
}
); })} @@ -174,12 +174,12 @@ export default function ImportCenterClient({ brandId: initialBrandId, brandName: {/* Brand selector */} {isPlatformAdmin && ( -
- +
+ @@ -193,34 +193,34 @@ export default function ImportCenterClient({ brandId: initialBrandId, brandName: onDragOver={(e) => { e.preventDefault(); }} onDrop={handleDrop} onClick={() => inputRef.current?.click()} - className="flex flex-col items-center justify-center gap-3 rounded-2xl border-2 border-dashed border-zinc-700 bg-zinc-900 p-12 cursor-pointer hover:border-violet-500 hover:bg-zinc-800 transition-colors" + className="flex flex-col items-center justify-center gap-3 rounded-2xl border-2 border-dashed border-stone-300 bg-white p-12 cursor-pointer hover:border-violet-500 hover:bg-stone-50 transition-colors" > - +
-

Drag & drop your file here

-

or click to browse

+

Drag & drop your file here

+

or click to browse

-

CSV, XLSX, XLS, TXT · max 5,000 rows · 10MB

+

CSV, XLSX, XLS, TXT · max 5,000 rows · 10MB

{ const f = e.target.files?.[0]; if (f) handleFile(f); }} />
{fileName && ( -
- +
+
-

{fileName}

-

Ready to analyze

+

{fileName}

+

Ready to analyze

- +
)} {analysisError && ( -
{analysisError}
+
{analysisError}
)} ))}
@@ -291,9 +291,9 @@ export default function ImportCenterClient({ brandId: initialBrandId, brandName: {/* Warnings */} {analysis.warnings.length > 0 && ( -
-

Issues detected

-