"use client"; import { useQuery } from "@tanstack/react-query"; import { Building2, Gauge, MapPin, Stethoscope, UserRound } from "lucide-react"; import Link from "next/link"; import { useAuth } from "@/components/auth"; import { apiGet } from "@/lib/api"; type DashboardData = { customers: number; locations: number; contacts: number; devices: number; equipment: number; validations: number; }; const cards = [ { label: "Kunden", key: "customers", href: "/customers", icon: Building2 }, { label: "Standorte", key: "locations", href: "/locations", icon: MapPin }, { label: "Ansprechpartner", key: "contacts", href: "/contacts", icon: UserRound }, { label: "Geraete", key: "devices", href: "/devices", icon: Stethoscope }, { label: "Pruefmittel", key: "equipment", href: "/equipment", icon: Gauge } ] as const; export default function DashboardPage() { const { token } = useAuth(); const query = useQuery({ queryKey: ["dashboard", token], queryFn: () => apiGet("/dashboard", token ?? ""), enabled: Boolean(token) }); return (

Dashboard

Aktuelle Stammdaten aus PostgreSQL.

{cards.map((item) => { const Icon = item.icon; return (

{item.label}

{query.data?.[item.key] ?? 0}

); })}

Stammdaten

Kunden, Standorte, Ansprechpartner, Geraete und Pruefmittel koennen produktiv angelegt, bearbeitet, gesucht und geloescht werden.

); }