fix: harden ticket client data guards

This commit is contained in:
Esdras Renan 2025-11-01 01:48:15 -03:00
parent 5c5207ceb8
commit a3d431efa8
9 changed files with 129 additions and 111 deletions

View file

@ -16,11 +16,10 @@ interface TicketQueueSummaryProps {
export function TicketQueueSummaryCards({ queues }: TicketQueueSummaryProps) {
const { convexUserId, isStaff } = useAuth()
const enabled = Boolean(isStaff && convexUserId)
const queueArgs = enabled
? { tenantId: DEFAULT_TENANT_ID, viewerId: convexUserId as Id<"users"> }
: "skip"
const queueArgs = enabled ? { tenantId: DEFAULT_TENANT_ID, viewerId: convexUserId as Id<"users"> } : undefined
const fromServer = useQuery(enabled ? api.queues.summary : "skip", queueArgs)
const data: TicketQueueSummary[] = (queues ?? (fromServer as TicketQueueSummary[] | undefined) ?? [])
const serverData = Array.isArray(fromServer) ? fromServer : undefined
const data: TicketQueueSummary[] = queues ?? serverData ?? []
if (!queues && fromServer === undefined) {
return (