6 Commits

Author SHA1 Message Date
19497fe335 fix: correct element update API URL to include layoutId
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 03:50:33 +02:00
0196891ef8 feat: make layout elements fully editable inline
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>
2026-04-07 03:48:23 +02:00
9fbc5a1b45 fix: auto-refresh topic list during 30s discovery window
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 20:57:46 +02:00
73179f3040 fix: add topic selection checkbox that auto-creates datapoints
When a user checks a topic checkbox, a datapoint is automatically
created and the broker subscribes to that topic for live updates.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 20:28:49 +02:00
a50ef96eb7 feat(frontend): Task 15 - all React pages and components
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>
2026-04-06 13:06:40 +02:00
49089d6d17 feat(frontend): Task 14 - Vite React TypeScript scaffolding with Tailwind CSS
Sets up the frontend SPA foundation: Vite+React+TS project at frontend/,
configures Tailwind CSS v4 via @tailwindcss/vite, dev proxy to port 4000,
and implements the API client (JWT auth, auto-redirect on 401).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 13:06:27 +02:00