"use client"; import { useQuery } from "@tanstack/react-query"; import { api } from "@/lib/api"; import type { DashboardData } from "@/lib/types"; import { DeadlineTrafficLights } from "@/components/dashboard/DeadlineTrafficLights"; import { CaseOverviewGrid } from "@/components/dashboard/CaseOverviewGrid"; import { UpcomingTimeline } from "@/components/dashboard/UpcomingTimeline"; import { AISummaryCard } from "@/components/dashboard/AISummaryCard"; import { QuickActions } from "@/components/dashboard/QuickActions"; import { Skeleton, SkeletonCard } from "@/components/ui/Skeleton"; import { AlertTriangle, RefreshCw } from "lucide-react"; function DashboardSkeleton() { return (
{[1, 2, 3].map((i) => ( ))}
); } export default function DashboardPage() { const { data, isLoading, error, refetch } = useQuery({ queryKey: ["dashboard"], queryFn: () => api.get("/dashboard"), refetchInterval: 60_000, }); if (isLoading) { return ; } if (error || !data) { return (

Dashboard konnte nicht geladen werden

Bitte versuchen Sie es erneut oder prüfen Sie Ihre Verbindung.

); } return (

Dashboard

Fristenübersicht und Kanzlei-Status

); }