- Header und Footer mit festen Höhen (13vh und 8vh) versehen.
- Inhaltsbereich dynamisch skaliert mit calc(100vh - Header - Footer).
- Navigation für volle Höhe des Inhalts angepasst.
- Alle Elemente ohne Scrollen auf Laptop-Auflösung sichtbar gemacht.
- Intervall-basierte Überprüfung von `localStorage` hinzugefügt, um Änderungen am Admin-Status (`isAdminLoggedIn`) sofort zu synchronisieren.
- Zustand `isAdminLoggedIn` wird nun direkt nach Login/Logout aktualisiert.
- Weiterleitung zu `/offline.html` nach Logout integriert.
- Problem behoben, dass "Admin-Modus aktiv" erst nach einem Neuladen angezeigt wurde.
- Redux-State durch lokalen useState für `isAdminLoggedIn` ersetzt.
- Token-Validierung über sessionStorage mit useEffect hinzugefügt.
- Alle Redux-Selectoren entfernt und unnötige Importe bereinigt.
- Verbesserte Fehlerbehandlung bei der Token-Verarbeitung, um Abstürze zu vermeiden.
- Logout-Funktionalität vereinfacht, indem sessionStorage direkt geleert wird.
- Passwort-Hashing und Salt-Erzeugung mit bcrypt implementiert, um sensible Daten wie Passwörter sicher zu speichern.
- Token-Generierung und -Validierung eingeführt, um den Admin-Status zu überprüfen und temporäre Zugriffsrechte zu verwalten.
- Benutzername-Vergleich case-insensitive gestaltet, um Benutzerfreundlichkeit zu verbessern.
- Token wird in localStorage gespeichert und die Ablaufzeit überprüft, um Sicherheit und konsistente Sitzungen zu gewährleisten.
- Fehlerbehebungen und Code-Refactor durchgeführt, um Lesbarkeit und Wartbarkeit zu verbessern.
**Warum:**
- Passwort-Hashing und Salt schützen Passwörter vor direkten Angriffen (z. B. Brute-Force oder Datenlecks).
- Token-Handling ermöglicht eine sichere und flexible Verwaltung von Sitzungsinformationen.
- Verbesserungen erhöhen die Sicherheit und Benutzerfreundlichkeit des Admin-Bereichs.
- Neuen Redux-Slice 'authSlice' erstellt, um den Admin-Login-Status zu verwalten.
- Token-Verwaltung im SettingsModal angepasst, um Redux-Status zu aktualisieren.
- Admin-Warnhinweis im Header zeigt jetzt den Redux-Status an und aktualisiert sich automatisch.
- Abmeldefunktion verbessert, um Token aus dem Redux-Store zu entfernen und Seite zu aktualisieren.
- JWT-Token-Erstellung und -Speicherung für sichere Admin-Authentifizierung in SettingModal hinzugefügt.
- Stabilitätsprobleme des Modals behoben.
- Funktionalität des Modals und des Tokens überprüft, um eine reibungslose Benutzererfahrung sicherzustellen.
- Button zum Admin-Login im Header hinzugefügt, der abhängig von der Umgebung (`NODE_ENV`) zu "/login" (Entwicklung) oder "/login.html" (Produktion) weiterleitet
- Tooltip "Als Admin anmelden" hinzugefügt, der angezeigt wird, wenn der Benutzer über den Admin-Button fährt
- Icon für Admin-Login-Button mit `bi-person-circle` ergänzt für eine ansprechendere UI
- handleSave in separate Datei handle-save.js ausgelagert, um KueModal-Komponente modularer und wartbarer zu gestalten
- handleSaveWrapper in KueModal hinzugefügt, um Parameter an handleSave zu übergeben
- KueModal umgestaltet, um Funktionen und Redux-Dispatch klarer zu organisieren
- Konsistente Verwendung von Parametern und State-Updates für sauberen Codefluss
- Datenwerte wie deviceName, macAddress, IP usw. aus IndexedDB abgerufen und in den State geladen, um dynamische Aktualisierungen zu ermöglichen.
- Direktimplementierung von getFromIndexedDB im Component Code, um Produktionsimport-Probleme zu umgehen.
- Originalwerte beim ersten Laden gespeichert, um spätere Änderungen zu überprüfen und zu übertragen.
- Verbesserte Benutzerführung mit Zustandskontrollen und gezieltem Datenabruf bei Komponenten-Mount.
- Direkte Implementierung von `getFromIndexedDB` in Header.jsx hinzugefügt, um Importprobleme zu vermeiden
- Intervall auf 5 Sekunden funktioniert
Dies behebt das Problem, dass deviceName in der Produktion als "Unbekannt" angezeigt wurden, bedingt durch Timing-Unterschiede in IndexedDB.
- Added direct implementation of `getFromIndexedDB` in Header.jsx to avoid import issues
- Increased polling interval to 10 seconds to prevent timing issues in data fetching
- Added console logs to verify data loading process and debug potential undefined values
This resolves issues where deviceName and kueVersion were showing as "Unbekannt" in production due to IndexedDB timing differences.
- ">200 MOhm" wird nun als neutraler Wert angezeigt und nicht in Rot, da es auf eine gute Kabelisolation hinweist.
- Rote Textfarbe bleibt auf Fehlerbeschränkungen wie Aderbruch, Erdschluss, Isolations- und Schleifenfehler begrenzt.
- Code-Bedingungen für die Prioritätsanzeige optimiert, um korrekte Farbzuordnung und Alarmauslösung sicherzustellen.
- Korrigiert die Bedingung für `kueOnline`, sodass nur aktive Slots den Alarmstatus überprüfen.
- Entfernt Mehrfachreferenzen von `kueOnline`, die den Status ungewollt überschrieben haben.
- Setzt ein bedingtes Update für `kueCableBreak`, `kueAlarm1`, und `kueAlarm2`, um unnötige Aktualisierungen zu vermeiden.
- Stellt sicher, dass der erste Slot als "Leer" angezeigt wird, wenn `kueOnline` auf `0` gesetzt ist.
- Nur geänderte Werte werden beim Klick auf den "Speichern"-Button gesendet.
- Verwendet handleChange, um die lokalen Werte zu aktualisieren, ohne sofortige API-Anfragen.
- Verbesserte Logik zur Erkennung von Änderungen gegenüber den Originalwerten.
- Sicherstellung, dass keine unnötigen API-Aufrufe gesendet werden, wenn keine Änderungen vorliegen.
- Header-Layout optimiert, um Temperatur und Icons korrekt anzuzeigen.
- Anpassungen in der Navigation Abstand zwischen die Elemente.
- Verbesserte Ausrichtung und Abstände für Header-Elemente.
- Farbanpassungen und Styling-Optimierungen in der Header.
-Auf verschiedene Bildschirm Auflösungen getestet (Full-HD und 2K/QHD)
- Moved the logic for loading window variables from the server into a new utility function `loadWindowVariables.js`.
- Updated `Header` and `Dashboard` components to use the new utility function for fetching and setting window variables.
- Improved code readability and maintainability by centralizing the script loading process.