Block a user
[Vis P1-16] Tests: Dashboard Backend
[Vis P1-15] Frontend: Widget PNG Export
[Vis P1-14] Frontend: Routing + Navigation
[Vis P1-09] Frontend: NativeDashboardView + DashboardGrid + WidgetContainer
[Vis P1-11] Frontend: ValueCardWidget
[Vis P1-10] Frontend: LineChartWidget (uPlot)
[Vis P1-05] Backend: GET /readings/chart Endpoint
[Vis P1-06] Frontend: Dependencies + Widget-Registry + Types
[Vis P1-07] Frontend: useGridStack Composable
[Vis P1-08] Frontend: useDashboard Composable + API-Client
[Vis P1-01] DB-Migration: dashboards + dashboard_widgets
[Vis P1-04] Backend: Dashboard + Widget REST-API
[Vis P1-03] Backend: DashboardService (Business-Logik)
[Vis P1-02] Backend: DashboardRepository (CRUD)
PanelPickerModal: Hardcoded #888888 Fallback-Farbe
UX: Visueller 'stale'-Zustand fuer Sensoren
Security Minor: Health-Endpoint Info Disclosure + CSS.escape
schemas.py aufteilen (~1120 Zeilen)
Docs: Settings Response-Models + Composables JSDoc