"use client" import { useQuery } from "convex/react" // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import { api } from "@/convex/_generated/api" import { DEFAULT_TENANT_ID } from "@/lib/constants" import type { TicketQueueSummary } from "@/lib/schemas/ticket" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Progress } from "@/components/ui/progress" interface TicketQueueSummaryProps { queues?: TicketQueueSummary[] } export function TicketQueueSummaryCards({ queues }: TicketQueueSummaryProps) { const fromServer = useQuery(api.queues.summary, { tenantId: DEFAULT_TENANT_ID }) ?? [] const data: TicketQueueSummary[] = (queues ?? fromServer) as any return (
{data.map((queue) => { const total = queue.pending + queue.waiting const breachPercent = total === 0 ? 0 : Math.round((queue.breached / total) * 100) return ( Fila {queue.name}
Pendentes {queue.pending}
Aguardando resposta {queue.waiting}
Violados {queue.breached}
{breachPercent}% com SLA violado nesta fila
) })}
) }