Add repair ticket detail improvements and intake estimate builder

Status progress bar component with visual step indicator, in_transit
status for instruments being transported to shop. Ticket detail page
reworked with inline edit form, reopen for cancelled tickets, photos
grouped by repair phase (intake/in_progress/completed). Intake form
now supports building estimates with template picker and manual line
items that carry over to the ticket. Service template API client and
types added for template search in line item dialogs.
This commit is contained in:
Ryan Moon
2026-03-29 09:56:28 -05:00
parent f17bbff02c
commit 7d55fbe7ef
10 changed files with 839 additions and 127 deletions

View File

@@ -8,7 +8,7 @@ function opt<T extends z.ZodTypeAny>(schema: T) {
// --- Status / Type enums ---
export const RepairTicketStatus = z.enum([
'intake', 'diagnosing', 'pending_approval', 'approved',
'in_transit', 'intake', 'diagnosing', 'pending_approval', 'approved',
'in_progress', 'pending_parts', 'ready', 'picked_up', 'delivered', 'cancelled',
])
export type RepairTicketStatus = z.infer<typeof RepairTicketStatus>