- Add WT32-SC01 V1 (ESP32-WROVER, 480x320 LCD) as second board option
- Split ESP32 code into epaper/ and lcd/ subdirectories
- LCD version: LovyanGFX, color display, touch-to-refresh, no deep sleep
- Add display_type, width, height to displays table (migration 003)
- Frontend: display type selector with predefined resolutions
- Preview and layout editor now use dynamic resolution from display
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Export saves layout + elements with datapoint names for re-linking.
Import creates new layout and re-links datapoints by name.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
No need to switch to Datenpunkte page - rename and set unit
right where you assign the datapoint to a layout element.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Each element now has editable fields for position, size, font,
style, icon, datapoint, and text directly in the element card.
No more delete-and-recreate workflow.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Implements the full SPA UI:
- App.tsx with BrowserRouter, ProtectedRoute, and all page routes
- Sidebar with NavLink active state and logout
- Login page with JWT auth flow
- Dashboard with parallel data fetching and status tiles
- MqttBrokers: CRUD with test-connection button and Topics link
- MqttTopics: discovery, filter, json_path inline edit, ignore
- PgSources: CRUD form with all required fields
- Datapoints: table with inline label/unit editing via onBlur
- Displays: layout dropdown, refresh interval, last-seen timestamp
- Layouts: left panel list + right panel element editor
- EpaperPreview: scaled e-paper simulation with live data support
- StatusBadge: color-coded status chip
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>