From b1ff8660d4bd142849afe94f479e7587a23bcdf3 Mon Sep 17 00:00:00 2001 From: lorentz Date: Sun, 3 May 2026 17:58:51 -0400 Subject: [PATCH] feat(04-03): reskin /mobile/tickets/[id] in-page header per D-18 - Add ExternalLink to lucide-react imports - Replace legacy 'Back' button with three-slot header bar: back chevron + 'Tickets' label (router.back()), breadcrumb 'Tickets / #{ticket_number}', ExternalLink icon to /analyzer/ticket/{id} - rel='noopener noreferrer' + target='_blank' on external link (T-04-11) - Detail body (badges, title, stats grid, description, timeline) unchanged per D-19 --- app/mobile/tickets/[id]/page.tsx | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/app/mobile/tickets/[id]/page.tsx b/app/mobile/tickets/[id]/page.tsx index 7de406f..e85b2da 100644 --- a/app/mobile/tickets/[id]/page.tsx +++ b/app/mobile/tickets/[id]/page.tsx @@ -4,7 +4,7 @@ import { useEffect, useState, use } from 'react'; import { useRouter } from 'next/navigation'; import { ArrowLeft, RefreshCw, Clock, FileText, Timer, CheckCircle2, - ChevronDown, ChevronRight, User, Briefcase, AlertCircle, EyeOff, Eye, Mail, AlignLeft, Code2, + ChevronDown, ChevronRight, User, Briefcase, AlertCircle, EyeOff, Eye, ExternalLink, Mail, AlignLeft, Code2, } from 'lucide-react'; const PRIORITY_LABEL: Record = { @@ -237,9 +237,31 @@ export default function TicketTimeline({ params }: { params: Promise<{ id: strin
{/* Ticket header */}
- +
+ + +

+ Tickets / #{ticket.ticket_number} +

+ + + +
{PRIORITY_LABEL[ticket.priority] ?? `P${ticket.priority}`}