- Keep alarm status line with empty space when no alarm is present
- Use non-breaking space (\u00A0) to preserve line height and layout
- Remove green "Status: OK" text for cleaner display
- Ensure consistent 3-line structure: Alarm/Empty, ISO, RSL
- Remove separate TDR/Schleife Messkurve buttons section
- Add direct chart opening to ISO, RSL, and TDR buttons in detail view
- ISO and RSL buttons now open Schleife chart with proper state setup
- TDR button opens TDR chart with distance calculation
- Remove unused button container but keep structure for future use
- Clean up unused imports and variables needed
- Remove Schleife/TDR switch buttons and separate Messkurve button
- Add "TDR Messkurve" and "Schleife Messkurve" buttons for direct chart access
- Each button opens the corresponding chart type directly
- Improve user experience by reducing clicks needed to access specific charts
- Clean up unused imports (handleButtonClick, tdrLocation, tdrActive)
Anzeige KÜ-Display:
1. Zeile Alarm: Isolationsfehler, Schleifenfehler, Aderbruch, Erdschluß, Messpannung: Immer in Rot; wenn kein Alarm, bleibt die Zeile leer
2. Zeile: Isowert: xx MOhm (großes M)
in Rot, wenn Iso-Fehler ansteht
Beispiel: ISO: 100 MOHm der beim Abliech: ISO: Abgleich
3. Zeile: Schleifenwert, xx kOhm (kleines k)
in Rot, wenn Schleifenfehler ansteht
Beispiel:: RSL: 1,7 kOhm oder wenn Schleifenmessung aktiv: RSL: Messung
- Neuer Name beschreibt die Funktion als dynamischer Modal-Wrapper für KUE-, TDR- und Knotenpunkte-Einstellungen
- Verbesserte Lesbarkeit und Struktur im Projekt
- Keine Änderung an Funktionalität, nur Umbenennung der Datei
- Historische Messdaten von analogInput1 bis analogInput8 im Verzeichnis /apiMockData/analogInputsHistoryData angelegt
- Namensschema analogInputX gewählt für bessere Lesbarkeit und Klarheit
- Daten wurden per CPL-Endpunkt (DIA0) vom Webinterface geladen und lokal gespeichert
- Grundlage für Entwicklung, Tests und Offline-Visualisierung im Chart
- Originalwerte werden jetzt direkt aus window.win_kueXYZ geladen
- Vergleiche in handleSave.ts angepasst für stabile Zahl/String-Auswertung
- Fehlerhafte Meldung „Keine Änderungen vorgenommen“ behoben
- Nur geänderte Werte werden per GET-API gesendet
- Lokale Zustände durch direkten Zugriff auf Redux-Arrays ersetzt
- updateArray-Funktion korrigiert: kein Thunk mehr, stattdessen direkte Übergabe des aktuellen Arrays
- Fehler bei Typkonflikt in dispatch() behoben
- Eingaben schreiben nun sofort in den Store → Änderungen werden korrekt erkannt und gespeichert
- Renamed all slice names (createSlice `name` attribute) to match their file names (e.g. loopChartSlice, authSlice, kueDataSlice etc.)
- Updated `store.ts` to register each reducer with consistent key names (e.g. state.loopChartSlice instead of state.loopChart)
- Adjusted all `useSelector` and Redux state accesses across the codebase
- Improves maintainability, searchability and consistency across files and Redux DevTools
- Alle KÜE-Daten (z. B. kueAlarm1, kueCableBreak, kuePSTmMinus96V etc.) über fetchKueData.ts geladen
- Redux Slice `kueDataSlice.ts` überarbeitet, um alle Werte aus kueData.js korrekt zu speichern
- Komponenten wie `Kue705FO`, `KabelModulStatus` und `Baugruppentraeger` auf Redux umgestellt
- Fehler bei undefined-Variablen durch korrekte Zuweisung aus Redux behoben
- loadWindowVariables.ts wird nicht mehr für KÜE-Daten verwendet
- useMemo für Redux-Selektoren in Kue705FO.tsx hinzugefügt, um unnötige Re-Renders zu vermeiden.
- State-Update in useAlarmStatus.ts optimiert, sodass setState nur noch aufgerufen wird, wenn sich der Wert wirklich ändert.
- Performance verbessert und maximale Update-Tiefe-Fehler ("Maximum update depth exceeded") behoben.
- Code-Struktur verbessert, um stabilere Redux-Integration zu gewährleisten.
- Alle Event-Handler in eigene Dateien ausgelagert:
- `handleOpenModal.ts`, `handleCloseModal.ts`
- `handleOpenChartModal.ts`, `handleCloseChartModal.ts`
- `handleRefreshClick.ts`, `handleSave.ts`
- Neue Hooks zur Verwaltung von Redux-Selektoren und UI-Zuständen erstellt
- `Kue705FO.tsx` gesäubert, jetzt schlanker und übersichtlicher
- Verbesserte Wartbarkeit und Wiederverwendbarkeit der Code-Basis
✅ Bessere Wiederverwendbarkeit: Falls du das gleiche Verhalten in einer anderen Komponente brauchst, kannst du einfach useTDRChart importieren.
✅ Kue705FO.tsx ist schlanker: Alle Hooks sind nun ausgelagert! 🎯🚀 Jetzt ist dein Code perfekt optimiert! 🎉
- useLoopDisplay.ts angepasst: useState nun explizit als `number` deklariert
- Typensicherheit in Kue705FO.tsx verbessert:
- `schleifenwiderstand` wird immer als `number` konvertiert
- `setLoopDisplayValue` akzeptiert nur `number`
- Fehlerhafte Typzuweisung in `handleButtonClick` korrigiert
- `npm run build` läuft nun ohne Fehler
✅ Code nun sauber typisiert, keine TypeScript-Fehler mehr 🚀
- useEffect-Logik aus Kue705FO.tsx in eigene Hooks ausgelagert:
- useKueVersion.ts für die KUE-Version
- useAlarmStatus.ts für den Alarmstatus
- useIsoDisplay.ts für die Anzeige der Isolationswerte
- useLoopDisplay.ts für den Schleifenwiderstand
- useChartPlugin.ts für Chart.js Plugin-Handling
- useChartData.ts für Redux-Chart-Datenverwaltung
- useModulName.ts für den Modulnamen mit Setter-Funktion
- Code in Kue705FO.tsx optimiert und modularisiert
- Fehler mit `setCurrentModulName` behoben durch Rückgabe der Setter-Funktion in useModulName.ts
- `kueCableBreak`, `kueGroundFault`, `kueAlarm1`, `kueAlarm2` und `kueOverflow` in `number[]` umgewandelt
- `.map(Number)` verwendet, um fehlerhafte `string[]`-Werte zu vermeiden
- `?? []` hinzugefügt, um `null` oder `undefined` zu verhindern
- Fehler beim Next.js Build behoben
- useSelector-Aufruf in ChartSwitcher.tsx angepasst, um den korrekten Redux-Slice (kueChartMode) zu verwenden.
- Fehler behoben: TypeError: Cannot read properties of undefined (reading 'activeMode').
Die Variable 'chartData' wurde in 'loopMeasurementCurveChartData' umbenannt, um den Inhalt und Zweck der Daten klarer zu definieren. Diese Änderung verbessert die Lesbarkeit und Wartbarkeit des Codes, indem sie die Bedeutung der Variablen präziser beschreibt.
- `setChartOpen(true)` in `handleOpenChartModal` hinzugefügt.
- Redux-Import von `setChartOpen` in `Kue705FO.tsx` sichergestellt.
- Dadurch bleibt `isChartOpen` nicht mehr `false`, wenn das Modal geöffnet wird.
- Status wird nun korrekt aktualisiert, wenn `Messkurve` geklickt wird.
- Import von `chartjs-plugin-zoom` in `LoopMeasurementChart.tsx` dynamisch in `useEffect` verschoben.
- Stellt sicher, dass `window` nur im Client-Umfeld genutzt wird.
- Erfolgreicher Next.js Production-Build getestet.