diff --git a/src/app/dashboard/page.tsx b/src/app/dashboard/page.tsx
index 78cd09c..f339928 100644
--- a/src/app/dashboard/page.tsx
+++ b/src/app/dashboard/page.tsx
@@ -8,6 +8,7 @@ import { MyTicketsPanel } from "@/components/tickets/my-tickets-panel"
import { ChartOpenedResolved } from "@/components/charts/chart-opened-resolved"
import { ChartOpenByPriority } from "@/components/charts/chart-open-priority"
import { requireAuthenticatedSession } from "@/lib/auth-server"
+import { DashboardSlaRiskPanel } from "@/components/dashboard/dashboard-sla-risk-panel"
export default async function Dashboard() {
// Garante redirecionamento para /login quando sem sessão (aba anônima, etc.)
@@ -26,8 +27,13 @@ export default async function Dashboard() {
diff --git a/src/components/dashboard/dashboard-hero.tsx b/src/components/dashboard/dashboard-hero.tsx
index 733cfd4..3023381 100644
--- a/src/components/dashboard/dashboard-hero.tsx
+++ b/src/components/dashboard/dashboard-hero.tsx
@@ -301,10 +301,6 @@ export function DashboardQueueInsights() {
data={queueTrend?.queues}
isLoading={dashboardEnabled && queueTrend === undefined}
/>
-
)
}
@@ -323,7 +319,10 @@ function QueueSparklineRow({
Filas com maior volume
Comparativo diário de entradas x resolvidos
-
+
Abrir painel de filas
@@ -441,7 +440,7 @@ function QueueSparklineCard({
)
}
-function SlaAtRiskCard({
+export function SlaAtRiskCard({
data,
isLoading,
}: {
diff --git a/src/components/dashboard/dashboard-sla-risk-panel.tsx b/src/components/dashboard/dashboard-sla-risk-panel.tsx
new file mode 100644
index 0000000..a0629d6
--- /dev/null
+++ b/src/components/dashboard/dashboard-sla-risk-panel.tsx
@@ -0,0 +1,33 @@
+"use client"
+
+import { useQuery } from "convex/react"
+
+import { api } from "@/convex/_generated/api"
+import type { Id } from "@/convex/_generated/dataModel"
+import { SlaAtRiskCard } from "@/components/dashboard/dashboard-hero"
+import { useAuth } from "@/lib/auth-client"
+import { DEFAULT_TENANT_ID } from "@/lib/constants"
+
+type AwaitingAction = {
+ total: number
+ atRisk: number
+}
+
+export function DashboardSlaRiskPanel() {
+ const { session, convexUserId, isStaff } = useAuth()
+ const tenantId = session?.user.tenantId ?? DEFAULT_TENANT_ID
+ const enabled = Boolean(isStaff && convexUserId)
+
+ const overview = useQuery(
+ api.reports.dashboardOverview,
+ enabled ? { tenantId, viewerId: convexUserId as Id<"users"> } : "skip"
+ ) as { awaitingAction?: AwaitingAction } | undefined
+
+ return (
+
+ )
+}
+