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

+14 -1
View File
@@ -9,6 +9,7 @@ import { TaskPriority, TaskStatus } from "@/lib/tasks/types";
import { Button } from "@/components/ui/button";
import { Badge } from "@/components/ui/badge";
import { PageHeader } from "@/components/page-header";
import { EmptyState } from "@/components/empty-state";
import {
Select,
SelectContent,
@@ -122,7 +123,19 @@ export default function TasksPage() {
</p>
) : null}
{tasks ? (
{tasks && visibleTasks.length === 0 ? (
<EmptyState
icon={ListTodo}
title="Keine Aufgaben"
description={
onlyOverdue
? "Keine überfälligen Aufgaben – gut gemacht!"
: "Lege deine erste Aufgabe an, um den Überblick zu behalten."
}
/>
) : null}
{tasks && visibleTasks.length > 0 ? (
<Table>
<TableHeader>
<TableRow>