Commit Graph

100 Commits

Author SHA1 Message Date
ISA
8d87d4a079 feat: Separate Darstellung für Loop- und TDR-Charts implementiert
- `LoopMeasurementChart.tsx` und `TDRChart.tsx` mit Mock-Daten für Tests ergänzt.
- `LoopChartActionBar.tsx` und `TDRChartActionBar.tsx` korrekt in `ChartSwitcher.tsx` integriert.
- `ChartModal.tsx` umbenannt zu `ChartSwitcher.tsx` für klarere Struktur.
- Redux `activeMode` sorgt jetzt für den richtigen Wechsel zwischen Loop- und TDR-Charts.
- Verbesserte Verzeichnisstruktur für bessere Wartbarkeit und Skalierbarkeit.
2025-02-13 13:54:39 +01:00
ISA
5c7b5555c4 feat: Struktur für Charts verbessert und Komponenten getrennt
- `LoopMeasurementChart.tsx` und `TDRChart.tsx` erstellt für separate Diagramm-Darstellungen.
- Neue Struktur unter `/components/modules/kue705FO/charts/` eingeführt.
- `ChartModal.tsx` bleibt für generelle Nutzung erhalten.
- Erhöhte Wartbarkeit und Modularität durch Trennung der Chart-Komponenten.
2025-02-13 11:55:52 +01:00
ISA
d67ad97f83 Redux Slice erstllen für Chart Data 2025-02-13 09:15:37 +01:00
Ismail Ali
af46187f3a feat: Alle verfügbaren JSON-Objekte abrufen und filtern
- Implementierung einer Funktion zum Abrufen aller JSON-Objekte von `/0` bis kein 404-Fehler auftritt.
- Parsing der Daten in ein einheitliches JSON-Format.
- Filterung der Daten nach dem ausgewählten Datumsbereich.
- Ausgabe der Daten in der Konsole zur besseren Debugging-Kontrolle.
- Behebung von Fehlern bei der API-Kommunikation.
2025-02-12 22:00:57 +01:00
Ismail Ali
e732c581d1 feat: JSON-Daten filtern und Debugging verbessert
- Initialwerte für `vonDatum` und `bisDatum` in `LoopTDRChartActionBar.tsx` gesetzt.
- `DateRangePicker.tsx` überarbeitet, um direkt das ausgewählte Datum zu setzen.
- API-Filterung nach Unix-Zeitstempel (`getTime()`) implementiert.
- Fehler behoben: Daten aus `json-server` erscheinen jetzt korrekt in der UI.
- Verbesserte `console.log()`-Ausgaben für Debugging:
  - API-URL (`📡 API URL:`)
  - Rohdaten (`📥 Rohdaten (vor Filterung):`)
  - Gefilterte Daten (`🔍 Gefilterte Daten:`)
2025-02-11 21:46:06 +01:00
ISA
47a663f4d2 feat: Dynamische API-URL für Production & Development + JSON-Server Hinweis
- API-URL passt sich automatisch an die Umgebung an:
  - In Development (`npm run dev`) wird `http://localhost:3001/kabelueberwachung` genutzt.
  - In Production (`npm run build && npm start`) wird `window.location.origin/CPL` verwendet.
- Verbesserte Fehlerbehandlung für JSON-Antworten implementiert.
- **Hinweis:** Für die lokale Entwicklung wird `json-server` benötigt.
  Installation: `npm install -g json-server`
  Starten: `json-server --watch mockData.json --port 3001`
2025-02-11 13:10:04 +01:00
ISA
bbc26e5c3b 8.4. Daten anfordern 2025-02-11 09:00:59 +01:00
Ismail Ali
9242abae40 Schleifen Chart von bis Kalendar 2025-02-10 22:25:31 +01:00
ISA
77cd9342bb Modal für Messkurve auslagern 2025-02-10 14:50:31 +01:00
ISA
cb6e6d3926 OPCUA Status und Name Lesen 2025-02-10 11:27:41 +01:00
ISA
89c36fc071 OPCUA Info Lesen in dashboard 2025-02-10 07:38:09 +01:00
ISA
898af2bcf1 Dashbord Tabelle responsive mit flex-grow 2025-02-07 11:23:17 +01:00
ISA
5fbc04728b feat: Auslagerung der TDRPopup-Komponente in eine eigene Datei
- TDRPopup-Komponente in `components/modules/KueModal/TDRPopup.tsx` ausgelagert
- Importpfad in Kue705FO angepasst, um die ausgelagerte Komponente korrekt zu referenzieren
2025-01-28 15:13:29 +01:00
ISA
b1e50188ab Redux Dateien in redux/store/ verschoben 2025-01-28 10:25:24 +01:00
Ismail Ali
4f809877ea feat: Projekt von JavaScript zu TypeScript migriert 2025-01-25 00:20:19 +01:00
ISA
53c9870034 Merge branch 'feature/session-storage' into develop 2025-01-20 12:20:32 +01:00
ISA
ed80aa38a8 fix: Echtzeit-Aktualisierung des Admin-Status implementiert
- 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.
2024-11-18 20:43:43 +01:00
ISA
15584e12fb Admi-Modus noch nicht fertig 2024-11-18 13:20:46 +01:00
ISA
ade87db2cf feat: Entfernen der Redux-Abhängigkeit für Admin-Login in der Header-Komponente
- 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.
2024-11-18 07:58:55 +01:00
ISA
92d1310bca feat: Token in SessionStorage gespeichert und Passwort gehasht
- Admin-Token wird nun in SessionStorage anstelle von LocalStorage gespeichert.
- Passwort für Admin-Benutzer ist jetzt mit bcrypt gehasht.
- Verbesserte Sicherheit durch die Verwendung von SessionStorage (Daten werden beim Schließen des Tabs gelöscht).
- Anpassung von Funktionen zur Token-Verwaltung für SessionStorage.
2024-11-17 13:46:09 +01:00
ISA
5fbf14f3ae Webserverversion: 1.0.5 2024-11-15 13:07:53 +01:00
ISA
ffc5b56b37 feat: Admin-Login, Token-Handling und Passwort-Hashing optimiert
- 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.
2024-11-15 11:48:52 +01:00
ISA
f619d7b796 Error: decodeToken is not defined in Header.jsx 2024-11-15 11:16:02 +01:00
ISA
140444d046 feat: Toggle "Admin anmelden" to "Admin abmelden" based on admin login status
- Implemented dynamic button label in SettingsModal to display "Admin anmelden" or "Admin abmelden" based on Redux state `isAdminLoggedIn`.
- Added `handleAdminLogout` function to clear token from localStorage and update Redux state when admin logs out.
- Refactored button click handling to toggle login/logout functionality seamlessly.
2024-11-14 15:22:38 +01:00
ISA
885cb19e9c feat: Redux zur Verwaltung des Admin-Status hinzugefügt
- 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.
2024-11-14 14:29:47 +01:00
ISA
c0ffbbcf38 feat: JWT-Authentifizierung in SettingModal implementiert und Modal-Stabilität verbessert
- 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.
2024-11-14 13:48:04 +01:00
ISA
172134a16f feat: Hinzufügen eines 30-Sekunden-Fortschrittsbalkens für CPL-Neustart
- Fortschrittsbalken integriert, der den Benutzer über den laufenden Neustartvorgang informiert.
- CSS-basierten Fortschrittsbalken erstellt, der sich schrittweise über 30 Sekunden füllt.
- Aktualisierung des Wartebildschirms mit der Nachricht "Bitte warten, CPL wird neu gestartet...".
- Optimierung der Funktion zur korrekten Darstellung und Animation des Fortschrittsbalkens.
2024-11-14 09:32:56 +01:00
ISA
81076559a6 fix: Initial-Bezeichnung für KÜ "---" entfernt 2024-11-14 07:14:26 +01:00
ISA
8412d0b9c2 feat: JWT-basierte Token-Generierung und -Validierung für rollenbasierte UI-Zugriffe hinzugefügt
- `generateToken`-Funktion implementiert, um Tokens mit Benutzerrollen zu erstellen
- `decodeToken` in `KueModal` hinzugefügt, um das Token zu dekodieren und den "Firmware Update"-Button für Admin-Rolle bedingt anzuzeigen
- Fehlerbehandlung für ungültige Tokens in localStorage verbessert
- Sicherstellung der Token-Dekodierung für Admin-Zugriffskontrolle in Entwicklungs- und Produktionsumgebung
2024-11-13 11:55:48 +01:00
ISA
dec20099f8 feat: dynamische Weiterleitung zur neuen IP-Adresse nach CPL-Neustart implementiert
- handleSubmit aktualisiert, um geänderte IP-Adresse an handleReboot zu übergeben
- handleReboot angepasst, um nach Neustart dynamisch zur neuen IP-Adresse weiterzuleiten
- Weiterleitung abhängig von Umgebung: in Produktion zu "/dashboard.html" und in Entwicklung zu "/dashboard"
- 33 Sekunden Wartezeit hinzugefügt, um CPL-Verfügbarkeit nach Neustart sicherzustellen
2024-11-12 14:13:37 +01:00
ISA
12ada92755 feat: bedingte Weiterleitung nach 35 Sekunden CPL-Neustart basierend auf der Umgebung implementiert
- Zeigt Warte-Seite für 5 Sekunden an, bevor zur Dashboard-Seite weitergeleitet wird
- Weiterleitung in der Produktion zu "/dashboard.html" und in der Entwicklung zu "/dashboard"
- handleReboot angepasst, um nach 35 Sekunden CPL-Neustart die Verfügbarkeit sicherzustellen und Weiterleitung basierend auf NODE_ENV zu steuern
2024-11-12 13:46:20 +01:00
ISA
c9742fd0d9 fix: handleSubmit für SettimgsModal 2024-11-12 09:57:37 +01:00
ISA
a8e2763d3e Merge branch 'kue-modal-gesamt' into develop test sds 2024-11-11 14:22:55 +01:00
ISA
ee24ab75e5 feat: Neustart erforderlich für Änderungen an Netzwerkeinstellungen oder CPL-Namen in Systemeinstellungen Modal 2024-11-11 12:18:54 +01:00
ISA
7a4d4f7416 Fehler ignorieren weil die Befehle werden ganz normal ausgeführt 2024-11-11 07:29:24 +01:00
ISA
21c68a9832 import Funktionen ohne geschweifte Klammern ({}) 2024-11-11 06:53:52 +01:00
ISA
589c8a0e9e feat: Modularize KueModal component by extracting handler functions
- Moved `handleSave`, `handleChange`, `handleDisplayEinschalten`, `handleSetDateTime`, `handleClearDatabase`, and `handleReboot` to separate handler files for better modularity and code organization.
- Updated imports in `KueModal.jsx` and `SettingsModal.jsx` to use new handler files.
- Improved code readability and maintainability by organizing functions into dedicated handler modules.
2024-11-09 19:29:33 +01:00
ISA
c4e89d690c feat: handleSave Funktion ausgelagert und KueModal strukturiert
- 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
2024-11-09 19:11:55 +01:00
ISA
0f938953db feat: Modularisierung und Optimierung der SettingsModal-Komponente
- Handler-Funktionen (handleClearDatabase, handleReboot, handleSetDateTime, handleSubmit) in separate Dateien ausgelagert, um die Übersichtlichkeit zu verbessern und Wartbarkeit zu erleichtern
- `use client`-Anweisung am Anfang von SettingsModal.jsx hinzugefügt, um clientseitige Funktionen wie `window`-basierte Aufrufe korrekt zu verwenden
- Redux- und lokale State-Werte optimiert und an handleSubmit als Parameter übergeben
- Konsolen-Logs für URL-Bildung und Debugging-Zwecke in den Handlern hinzugefügt
2024-11-09 16:23:56 +01:00
ISA
44e8323e3c handleReboot, handleSetDateTime und handleClearDatabase in separate Datei einfügen 2024-11-09 15:26:05 +01:00
ISA
675843b3b3 handleSubmit vollständige URL mit Host und dem aktuellen Pfad (pathname) 2024-11-09 12:23:12 +01:00
ISA
c329ab90fc handleClearDatabase anpassung mit volle URL-Adresse 2024-11-09 12:20:09 +01:00
ISA
7ca9656e60 handleReboot fetch vollständigen Host und dem aktuellen Pfad in SettingsModal.jsx 2024-11-09 12:07:46 +01:00
ISA
0acf3602b1 Aktualisiere systemUhr, wenn sich datetime_Redux ändert 2024-11-08 15:13:48 +01:00
ISA
de1c94a6a2 fix: URLs für Datum und Uhrzeit angepasst bei Systemzeit übernehmen Button, führende Nullen entfernt
- Die Funktion `handleSetDateTime` wurde angepasst, um das URL-Format den Anforderungen entsprechend zu gestalten.
- Monat, Tag, Stunden, Minuten und Sekunden werden jetzt ohne führende Nullen dargestellt, um eine konsistentere Darstellung zu gewährleisten.
- Die URL wird nun korrekt formatiert, z.B. `https://10.10.0.118/CPL?/dashboard.html&CLK00=24-11-8&CLK01=14-3-5` statt `https://10.10.0.118/CPL?/dashboard.html&CLK00=24-11-08&CLK01=14-03-05`.
- Implementierung mit `Number()` zur Umwandlung und Entfernung der führenden Nullen.

Diese Änderung verbessert die Lesbarkeit und die Kompatibilität des URL-Formats mit dem Zielsystem.
2024-11-08 14:56:20 +01:00
ISA
aa9ff6ea24 Systemzeit debug 2024-11-08 13:58:33 +01:00
ISA
000cd74ea1 Datenbank leeren 2024-11-08 11:49:42 +01:00
ISA
2d0b1f6693 kueDetail link umbenannt 2024-11-07 14:35:07 +01:00
ISA
662f74011f /CPL?/CPL/Service/kueDetail.HTM in /CPL?/kabelueberwachung.html umbenannt 2024-11-07 14:29:26 +01:00
ISA
c49b16dd83 MAC Adresse 2 entfernen, weil ist nicht relavant zu sehen 2024-11-07 10:10:59 +01:00