diff --git a/src/components/tickets/recent-tickets-panel.tsx b/src/components/tickets/recent-tickets-panel.tsx index e9bbdf2..db126f7 100644 --- a/src/components/tickets/recent-tickets-panel.tsx +++ b/src/components/tickets/recent-tickets-panel.tsx @@ -28,9 +28,10 @@ const channelLabel: Record = { } function TicketRow({ ticket, entering }: { ticket: Ticket; entering: boolean }) { - const channel = channelLabel[ticket.channel] ?? ticket.channel const queueLabel = ticket.queue ?? "Sem fila" const requesterName = ticket.requester.name ?? ticket.requester.email ?? "Solicitante" + const categoryBadges = [ticket.category?.name, ticket.subcategory?.name].filter((value): value is string => Boolean(value)) + const channel = channelLabel[ticket.channel] ?? ticket.channel return (
#{ticket.reference} {queueLabel}
-
- - -
+
+ + +
@@ -62,16 +63,22 @@ function TicketRow({ ticket, entering }: { ticket: Ticket; entering: boolean }) {formatDistanceToNow(ticket.updatedAt, { addSuffix: true, locale: ptBR })}
- - {ticket.category ? ticket.category.name : channel} - - -
- {ticket.subcategory ? ( + {categoryBadges.length > 0 ? ( +
+ {categoryBadges.map((label) => ( + + {label} + + ))} +
+ ) : ( - {ticket.subcategory.name} + {channel} - ) : null} + )}
diff --git a/src/components/tickets/status-badge.tsx b/src/components/tickets/status-badge.tsx index 48d6e35..e565967 100644 --- a/src/components/tickets/status-badge.tsx +++ b/src/components/tickets/status-badge.tsx @@ -11,13 +11,13 @@ const statusStyles: Record = RESOLVED: { label: "Resolvido", className: "border border-slate-200 bg-[#dcf4eb] text-[#1f6a45]" }, } -type TicketStatusBadgeProps = { status: TicketStatus } +type TicketStatusBadgeProps = { status: TicketStatus; className?: string } -export function TicketStatusBadge({ status }: TicketStatusBadgeProps) { +export function TicketStatusBadge({ status, className }: TicketStatusBadgeProps) { const parsed = ticketStatusSchema.parse(status) const styles = statusStyles[parsed] return ( - + {styles?.label ?? parsed} )