feat(frontend): Leerer-Zustand-Komponente für alle Listenseiten

Neue gemeinsame EmptyState-Komponente (Icon in Kreis, Titel, Beschreibung,
gestrichelter Rahmen) und Einbindung auf allen 9 Listenseiten mit Tabellen
(Völker, Bienenstände, Königinnen, Aufgaben, Honigchargen, Benutzer,
Inventar, Produkte, Lager mit Behältern und Artikeln).

Bug behoben: Bei leerem Datensatz wurde bisher nur eine Tabelle mit
Kopfzeile und keinerlei Inhalt oder Erklärung angezeigt – wirkte wie ein
Ladefehler statt eines normalen "noch keine Daten"-Zustands. Besonders
für neurodivergente Nutzer wichtig, da Unklarheit über den Systemzustand
("ist das kaputt oder einfach leer?") unnötige kognitive Last erzeugt.
This commit is contained in:
Nick Szaunig committed 2026-08-23 21:03:59 +02:00
1 parent fc88c272ae
commit ebfbd2ef6d
10 files changed
+121 -11

No files matched your search

@@ -0,0 +1,21 @@
import { LucideIcon } from "lucide-react";
interface EmptyStateProps {
icon: LucideIcon;
title: string;
description?: string;
}
export function EmptyState({ icon: Icon, title, description }: EmptyStateProps) {
return (
<div className="flex flex-col items-center gap-3 rounded-2xl border border-dashed border-border py-12 text-center">
<span className="flex size-12 items-center justify-center rounded-full bg-muted text-muted-foreground">
<Icon className="size-6" />
</span>
<div>
<p className="font-medium">{title}</p>
{description ? <p className="text-sm text-muted-foreground">{description}</p> : null}
</div>
</div>
);
}