'use client' import AdminLayout from '@/components/admin/AdminLayout' import { useBacklog } from './_components/useBacklog' import { BacklogItemCard } from './_components/BacklogItemCard' export default function BacklogPage() { const backlog = useBacklog() const progress = backlog.getProgress() return ( {/* Overall Progress */}

Gesamtfortschritt

{progress.completed} von {progress.total} Aufgaben abgeschlossen

{progress.percentage}%
{/* Category Cards */}
{backlog.categories.map((cat) => { const catProgress = backlog.getCategoryProgress(cat.id) return ( ) })}
{/* Filters & Search */}
backlog.setSearchQuery(e.target.value)} className="w-full px-4 py-2 border border-slate-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500" />
{(backlog.selectedCategory || backlog.selectedPriority || backlog.searchQuery) && ( )}
{/* Backlog Items */}
{backlog.filteredItems.map((item) => { const category = backlog.categories.find((c) => c.id === item.category) return ( backlog.toggleExpand(item.id)} onUpdateStatus={(status) => backlog.updateItemStatus(item.id, status)} onToggleSubtask={(subtaskId) => backlog.toggleSubtask(item.id, subtaskId)} /> ) })}
{backlog.filteredItems.length === 0 && (
Keine Aufgaben gefunden. Versuche einen anderen Filter.
)} {/* Info Box */}

Wichtiger Hinweis

Diese Backlog-Liste muss vollstaendig abgearbeitet sein, bevor BreakPilot in den Produktivbetrieb gehen kann. Alle kritischen Items muessen abgeschlossen sein. Der Fortschritt wird lokal im Browser gespeichert.

) }