From 283d970cb0e5984fce82fa41ceb5c85950d9e091 Mon Sep 17 00:00:00 2001 From: Dave Date: Fri, 6 Nov 2026 08:00:14 +0200 Subject: [PATCH] refactor(repairs): one status vocabulary, and the supplier scope input --- src/app/(app)/repairs/[id]/page.tsx | 55 +++++++++++++++-------------- src/app/(app)/repairs/page.tsx | 52 +++++++++++++-------------- 2 files changed, 54 insertions(+), 53 deletions(-) diff --git a/src/app/(app)/repairs/[id]/page.tsx b/src/app/(app)/repairs/[id]/page.tsx index 8fe569b..8345fe0 100644 --- a/src/app/(app)/repairs/[id]/page.tsx +++ b/src/app/(app)/repairs/[id]/page.tsx @@ -48,31 +48,12 @@ import { documentStageStyle, type DocumentStageTone, } from "@/lib/repair-document-stage"; +import { + REPAIR_STATUS_LABEL, + REPAIR_STATUS_VARIANT, +} from "@/lib/repair-status"; import type { Customer, Supplier, Repair } from "@/lib/types"; -const statusColors: Record< - string, - "default" | "secondary" | "destructive" | "outline" -> = { - new: "outline", - assessing: "secondary", - quoted: "secondary", - approved: "default", - in_progress: "secondary", - completed: "default", - cancelled: "destructive", -}; - -const statusLabels: Record = { - new: "New", - assessing: "Sent to supplier", - quoted: "Quote received", - approved: "Approved", - in_progress: "In progress", - completed: "Completed", - cancelled: "Cancelled", -}; - const ALL_STATUSES = [ "new", "assessing", @@ -123,6 +104,7 @@ export default function RepairDetailPage({ serial_no: "", item_description: "", fault_description: "", + supplier_scope: "", notes: "", status: "new" as (typeof ALL_STATUSES)[number], }); @@ -188,6 +170,7 @@ export default function RepairDetailPage({ serial_no: data.serial_no ?? "", item_description: data.item_description ?? "", fault_description: data.fault_description ?? "", + supplier_scope: data.supplier_scope ?? "", notes: data.notes ?? "", status: (data.status ?? "new") as (typeof ALL_STATUSES)[number], }); @@ -234,6 +217,7 @@ export default function RepairDetailPage({ serial_no: edit.serial_no || null, item_description: edit.item_description, fault_description: edit.fault_description, + supplier_scope: edit.supplier_scope, notes: edit.notes, status: edit.status, }), @@ -580,8 +564,8 @@ export default function RepairDetailPage({

{repair.repair_number}

- - {statusLabels[repair.status] || repair.status} + + {REPAIR_STATUS_LABEL[repair.status] || repair.status}

{repair.item_description}

@@ -718,6 +702,19 @@ export default function RepairDetailPage({ } /> +
+ +