Dashboard Add top-right user dropdown using Syncfusion DropDownButton: shows username + role; menu entries “Profil” and “Abmelden”. Replace custom dropdown logic with Syncfusion component; position at header’s right edge. Update /logout page to call backend logout and redirect to /login (reliable user switching). Build/Config Add @syncfusion/ej2-react-splitbuttons and @syncfusion/ej2-splitbuttons dependencies. Update Vite optimizeDeps.include to pre-bundle splitbuttons and avoid import-analysis errors. Docs README: Rework Architecture Overview with clearer data flow: Listener consumes MQTT (discovery/heartbeats) and updates API. Scheduler reads from API and publishes events via MQTT to clients. Clients send via MQTT and receive via MQTT. Worker receives commands directly from API and reports results back (no MQTT). Explicit note: MariaDB is accessed exclusively by the API Server; Dashboard never talks to DB directly. README: Add SplitButtons to “Syncfusion Components Used”; add troubleshooting steps for @syncfusion/ej2-react-splitbuttons import issues (optimizeDeps + volume reset). Copilot instructions: Document header user menu and splitbuttons technical notes (deps, optimizeDeps, dev-container node_modules volume). Program info Bump to 2025.1.0-alpha.10 with changelog: UI: Header user menu (DropDownButton with username/role; Profil/Abmelden). Frontend: Syncfusion SplitButtons integration + Vite pre-bundling config. Fix: Added README guidance for splitbuttons import errors. No breaking changes.
127 lines
5.4 KiB
JSON
127 lines
5.4 KiB
JSON
{
|
||
"appName": "Infoscreen-Management",
|
||
"version": "2025.1.0-alpha.10",
|
||
"copyright": "© 2025 Third-Age-Applications",
|
||
"supportContact": "support@third-age-applications.com",
|
||
"description": "Eine zentrale Verwaltungsoberfläche für digitale Informationsbildschirme.",
|
||
"techStack": {
|
||
"Frontend": "React, Vite, TypeScript",
|
||
"Backend": "Python (Flask), SQLAlchemy",
|
||
"Database": "MariaDB",
|
||
"Realtime": "Mosquitto (MQTT)",
|
||
"Containerization": "Docker"
|
||
},
|
||
"openSourceComponents": {
|
||
"frontend": [
|
||
{ "name": "React", "license": "MIT" },
|
||
{ "name": "Vite", "license": "MIT" },
|
||
{ "name": "Lucide Icons", "license": "ISC" },
|
||
{ "name": "Syncfusion UI Components", "license": "Kommerziell / Community" }
|
||
],
|
||
"backend": [
|
||
{ "name": "Flask", "license": "BSD" },
|
||
{ "name": "SQLAlchemy", "license": "MIT" },
|
||
{ "name": "Paho-MQTT", "license": "EPL/EDL" },
|
||
{ "name": "Alembic", "license": "MIT" }
|
||
]
|
||
},
|
||
"buildInfo": {
|
||
"buildDate": "2025-09-20T11:00:00Z",
|
||
"commitId": "8d1df7199cb7"
|
||
},
|
||
"changelog": [
|
||
{
|
||
"version": "2025.1.0-alpha.10",
|
||
"date": "2025-10-15",
|
||
"changes": [
|
||
"✨ UI: Benutzer-Menü oben rechts – DropDownButton mit Benutzername/Rolle; Einträge: ‘Profil’ und ‘Abmelden’.",
|
||
"🧩 Frontend: Syncfusion SplitButtons integriert (react-splitbuttons) und Vite-Konfiguration für Pre-Bundling ergänzt.",
|
||
"🐛 Fix: Import-Fehler ‘@syncfusion/ej2-react-splitbuttons’ – Anleitung in README hinzugefügt (optimizeDeps + Volume-Reset)."
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.9",
|
||
"date": "2025-10-14",
|
||
"changes": [
|
||
"✨ UI: Einheitlicher Lösch-Workflow für Termine – alle Typen (Einzeltermin, Einzelinstanz, ganze Serie) werden mit eigenen, benutzerfreundlichen Dialogen behandelt.",
|
||
"🔧 Frontend: Syncfusion-RecurrenceAlert und DeleteAlert werden abgefangen und durch eigene Dialoge ersetzt (inkl. finale Bestätigung für Serienlöschung).",
|
||
"✅ Bugfix: Keine doppelten oder verwirrenden Bestätigungsdialoge mehr beim Löschen von Serienterminen.",
|
||
"📖 Doku: README und Copilot-Instructions um Lösch-Workflow und Dialoghandling erweitert."
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.8",
|
||
"date": "2025-10-11",
|
||
"changes": [
|
||
"🎨 Theme: Umstellung auf Syncfusion Material 3; zentrale CSS-Imports in main.tsx",
|
||
"🧹 Cleanup: Tailwind CSS komplett entfernt (Pakete, PostCSS, Stylelint, Konfigurationsdateien)",
|
||
"🧩 Gruppenverwaltung: \"infoscreen_groups\" auf Syncfusion-Komponenten (Buttons, Dialoge, DropDownList, TextBox) umgestellt; Abstände verbessert",
|
||
"🔔 Benachrichtigungen: Vereinheitlichte Toast-/Dialog-Texte; letzte Alert-Verwendung ersetzt",
|
||
"📖 Doku: README und Copilot-Anweisungen angepasst (Material 3, zentrale Styles, kein Tailwind)"
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.7",
|
||
"date": "2025-09-21",
|
||
"changes": [
|
||
"🧭 UI: Periode-Auswahl (Syncfusion) neben Gruppenauswahl; kompaktes Layout",
|
||
"✅ Anzeige: Abzeichen für vorhandenen Ferienplan + Zähler ‘Ferien im Blick’",
|
||
"🛠️ API: Endpunkte für akademische Perioden (list, active GET/POST, for_date)",
|
||
"📅 Scheduler: Standardmäßig keine Terminierung in Ferien; Block-Darstellung wie Ganztagesereignis; schwarze Textfarbe",
|
||
"📤 Ferien: Upload von TXT/CSV (headless TXT nutzt Spalten 2–4)",
|
||
"🔧 UX: Schalter in einer Reihe; Dropdown-Breiten optimiert"
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.6",
|
||
"date": "2025-09-20",
|
||
"changes": [
|
||
"🗓️ NEU: Akademische Perioden System - Unterstützung für Schuljahre, Semester und Trimester",
|
||
"🏗️ DATENBANK: Neue 'academic_periods' Tabelle für zeitbasierte Organisation",
|
||
"🔗 ERWEITERT: Events und Medien können jetzt optional einer akademischen Periode zugeordnet werden",
|
||
"📊 ARCHITEKTUR: Vollständig rückwärtskompatible Implementierung für schrittweise Einführung",
|
||
"🎯 BILDUNG: Fokus auf Schulumgebung mit Erweiterbarkeit für Hochschulen",
|
||
"⚙️ TOOLS: Automatische Erstellung von Standard-Schuljahren für österreichische Schulen"
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.5",
|
||
"date": "2025-09-14",
|
||
"changes": [
|
||
"Komplettes Redesign des Backend-Handlings der Gruppenzuordnungen von neuen Clients und der Schritte bei Änderung der Gruppenzuordnung."
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.4",
|
||
"date": "2025-09-01",
|
||
"changes": [
|
||
"Grundstruktur für Deployment getestet und optimiert.",
|
||
"FIX: Programmfehler beim Umschalten der Ansicht auf der Medien-Seite behoben."
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.3",
|
||
"date": "2025-08-30",
|
||
"changes": [
|
||
"NEU: Programminfo-Seite mit dynamischen Daten, Build-Infos und Changelog.",
|
||
"NEU: Logout-Funktionalität implementiert.",
|
||
"FIX: Breite der Sidebar im eingeklappten Zustand korrigiert."
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.2",
|
||
"date": "2025-08-29",
|
||
"changes": [
|
||
"INFO: Analyse und Anzeige der verwendeten Open-Source-Bibliotheken."
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.1",
|
||
"date": "2025-08-28",
|
||
"changes": [
|
||
"Initiales Setup des Projekts und der Grundstruktur."
|
||
]
|
||
}
|
||
]
|
||
}
|