"use client"; import type { WorkloadReport } from "@/lib/types"; import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, Legend, } from "recharts"; import { Users, AlertTriangle, CheckCircle } from "lucide-react"; export function WorkloadTab({ data }: { data: WorkloadReport }) { const chartData = data.users.map((u, i) => ({ name: `Nutzer ${i + 1}`, user_id: u.user_id, active_cases: u.active_cases, deadlines: u.deadlines, overdue: u.overdue, completed: u.completed, })); const totalCases = data.users.reduce((sum, u) => sum + u.active_cases, 0); const totalOverdue = data.users.reduce((sum, u) => sum + u.overdue, 0); const totalCompleted = data.users.reduce((sum, u) => sum + u.completed, 0); return (
{/* Summary cards */}
Mitarbeiter

{data.users.length}

{totalCases} aktive Akten gesamt

Überfällige Fristen

{totalOverdue}

Erledigte Fristen

{totalCompleted}

{/* Stacked bar chart */}

Auslastung pro Mitarbeiter

{chartData.length === 0 ? (

Keine Daten im gewählten Zeitraum

) : ( )}
{/* Table */}

Übersicht pro Mitarbeiter

{data.users.length === 0 ? (

Keine Mitarbeiter mit zugewiesenen Akten

) : (
{data.users.map((u, i) => ( ))}
Mitarbeiter Aktive Akten Fristen Überfällig Erledigt
Nutzer {i + 1} {u.user_id.slice(0, 8)}... {u.active_cases} {u.deadlines} {u.overdue > 0 ? ( {u.overdue} ) : ( 0 )} {u.completed}
)}
); }