diff --git a/client/src/pages/TicketDetail.tsx b/client/src/pages/TicketDetail.tsx
index 5eeb6f9..8a05e6a 100644
--- a/client/src/pages/TicketDetail.tsx
+++ b/client/src/pages/TicketDetail.tsx
@@ -85,6 +85,8 @@ export default function TicketDetail() {
const [editForm, setEditForm] = useState({ title: '', overview: '' })
const [pendingCTI, setPendingCTI] = useState({ categoryId: '', typeId: '', itemId: '' })
+ const [editingStatus, setEditingStatus] = useState(false)
+ const [editingSeverity, setEditingSeverity] = useState(false)
const isAdmin = authUser?.role === 'ADMIN'
@@ -484,40 +486,72 @@ export default function TicketDetail() {
{/* ── Sidebar ── */}
- {/* Details */}
+ {/* Ticket Summary */}
-
Details
+
Ticket Summary
+ {/* Status + Severity */}
-
- {!isAdmin && ticket.status !== 'CLOSED' && (
- Closing requires admin
- )}
+
+
+
-
+
+
+
+
+ {/* CTI — one clickable unit */}
+
+
+ {/* Dates */}
+
+
+ {format(new Date(ticket.createdAt), 'MMM d, yyyy HH:mm')}
+
+
+ {formatDistanceToNow(new Date(ticket.updatedAt), { addSuffix: true })}
+
+ {ticket.resolvedAt && (
+
+ {format(new Date(ticket.resolvedAt), 'MMM d, yyyy HH:mm')}
+
+ )}
+
+
+ {/* People */}
+
-
- {/* Routing */}
-
-
Routing
-
- {ticket.category.name}
- ›
- {ticket.type.name}
- ›
- {ticket.item.name}
-
-
-
-
- {/* Dates */}
-
-
-
-
-
Opened by
-
{ticket.createdBy.displayName}
+
+
+
+
{ticket.createdBy.displayName}
-
-
-
Created
-
{format(new Date(ticket.createdAt), 'MMM d, yyyy HH:mm')}
-
- {ticket.resolvedAt && (
-
-
Resolved
-
{format(new Date(ticket.resolvedAt), 'MMM d, yyyy HH:mm')}
-
- )}
-
-
Updated
-
{formatDistanceToNow(new Date(ticket.updatedAt), { addSuffix: true })}
-
+
@@ -603,7 +601,58 @@ export default function TicketDetail() {
- {/* Reroute modal */}
+ {editingStatus && (
+ setEditingStatus(false)}>
+
+ {statusOptions.map((s) => (
+
+ ))}
+ {!isAdmin && (
+
Closing a ticket requires admin access
+ )}
+
+
+ )}
+
+ {editingSeverity && (
+ setEditingSeverity(false)}>
+
+ {SEVERITY_OPTIONS.map((s) => (
+
+ ))}
+
+
+ )}
+
{reroutingCTI && (
setReroutingCTI(false)} size="lg">