"use client"; import { useEffect, useState } from "react"; import StatsCard from "@/components/StatsCard"; import BadgeStatus from "@/components/BadgeStatus"; import { getTicketStats, type DashboardStats } from "@/lib/api"; import Link from "next/link"; export default function DashboardPage() { const [stats, setStats] = useState(null); const [loading, setLoading] = useState(true); useEffect(() => { getTicketStats() .then(setStats) .catch(() => { setStats({ totalTickets: 0, openTickets: 0, inProgressTickets: 0, resolvedTickets: 0, closedTickets: 0, unassignedTickets: 0, criticalTickets: 0, dailyCounts: [], }); }) .finally(() => setLoading(false)); }, []); if (loading) { return (
); } const maxDaily = Math.max(...(stats?.dailyCounts?.map((d) => d.count) || [1])); return (

Dashboard

Nuevo Ticket
{/* Stats Cards */}
{/* Daily Tickets Chart */} {stats?.dailyCounts && stats.dailyCounts.length > 0 && (
Tickets por Día (últimos 30 días)
{stats.dailyCounts.map((d) => (
))}
)}
); }