From 04ff2ea301a06be229ba9c40109aed75cc72a1f2 Mon Sep 17 00:00:00 2001 From: Michael Chihlas Date: Thu, 16 Apr 2026 21:28:48 +0000 Subject: [PATCH] fix(tickets): refresh status and resources in detail panel after update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Status update was returning only new_status (string) and the parent list's onStatusUpdated only set status_name. The handleStatusChange(Number(e.target.value))} className="bg-input border border-default rounded-[5px] px-2 py-1 text-xs text-primary focus:border-accent focus:outline-none" > @@ -57,9 +59,9 @@ export function TicketDetailHeader({ ticket, statuses, onStatusUpdated }: Props) ))} ) : ( - ticket.status_name && ( + currentStatusName && ( - {ticket.status_name} + {currentStatusName} ) )} diff --git a/frontend/src/pages/TicketsPage.tsx b/frontend/src/pages/TicketsPage.tsx index 52145ff2..256b0314 100644 --- a/frontend/src/pages/TicketsPage.tsx +++ b/frontend/src/pages/TicketsPage.tsx @@ -231,10 +231,15 @@ export default function TicketsPage() { setSelectedTicket(null)} - onStatusUpdated={(ticketId, newStatus) => { + onStatusUpdated={(ticketId, newStatus, newStatusId) => { setTickets(prev => prev.map(t => - t.id === String(ticketId) ? { ...t, status_name: newStatus } : t + t.id === String(ticketId) ? { ...t, status_name: newStatus, status_id: newStatusId } : t )) + setSelectedTicket(prev => + prev && prev.id === String(ticketId) + ? { ...prev, status_name: newStatus, status_id: newStatusId } + : prev + ) }} /> diff --git a/frontend/src/types/tickets.ts b/frontend/src/types/tickets.ts index 0ba6d49b..a3664ac7 100644 --- a/frontend/src/types/tickets.ts +++ b/frontend/src/types/tickets.ts @@ -63,6 +63,7 @@ export interface PSATicketStatusUpdate { ticket_id: number previous_status: string new_status: string + new_status_id: number } export interface TicketListResponse {