feat: Implement blinking icon for "PST-M prüfen" alarm

- Added blinking icon functionality to "PST-M prüfen" alarm status for consistency with other alarm statuses.
- Refactored display logic to prioritize "PST-M prüfen" with icon blink effect in the interval.
- Ensured proper interval clearing for consistent display across alarm updates.
This commit is contained in:
ISA
2024-11-06 08:43:32 +01:00
parent 2d2889a36d
commit 7333bf93fa
4 changed files with 17 additions and 14 deletions

View File

@@ -309,6 +309,12 @@ function Kue705FO({
return () => clearInterval(interval);
}, [slotIndex, kueAlarm1, kueAlarm2, kueCableBreak, kueGroundFault]);
useEffect(() => {
if (reduxKueVersion?.[slotIndex]) {
setKueVersion("V" + reduxKueVersion[slotIndex] / 100);
}
}, [slotIndex, reduxKueVersion]);
//---------------------------------------------------
// Funktion zum Aktualisieren der Anzeige basierend auf dem Alarmstatus mit Icon und Blinken
useEffect(() => {
let intervalId;
@@ -326,13 +332,13 @@ function Kue705FO({
text
)
);
}, 5000); // Gesamtdauer von 7 Sekunden für einen vollständigen Blink-Zyklus
}, 7000); // Beispiel-Zyklus für 7 Sekunden
};
// Alarmanzeige je nach Status aktualisieren
// Priorisierte Alarmanzeige
if (kuePSTmMinus96V?.[slotIndex] === 1) {
clearInterval(intervalId); // Vorheriges Intervall stoppen
setCurrentDisplayValue("PST-M prüfen");
clearInterval(intervalId); // Stoppt das vorherige Intervall, falls aktiv
setBlinkingText("PST-M prüfen");
} else if (kueCableBreak?.[slotIndex] === 1) {
clearInterval(intervalId);
setBlinkingText(isoDisplayText);
@@ -347,13 +353,13 @@ function Kue705FO({
setBlinkingText(loopFaultDisplayText);
} else if (kueOverflow?.[slotIndex] === 1) {
clearInterval(intervalId);
setBlinkingText(isoGreaterThan200);
setCurrentDisplayValue(isoGreaterThan200);
} else {
clearInterval(intervalId);
setCurrentDisplayValue(isolationswert); // Kein Alarm aktiv
setCurrentDisplayValue(isolationswert); // Standardanzeige
}
// Cleanup, um das Intervall zu stoppen, wenn sich der Status ändert oder der Effekt aufgeräumt wird
// Cleanup bei Änderungen des Status oder Schließen des Effekts
return () => clearInterval(intervalId);
}, [
slotIndex,
@@ -371,12 +377,7 @@ function Kue705FO({
kueOverflow,
]);
useEffect(() => {
if (reduxKueVersion?.[slotIndex]) {
setKueVersion("V" + reduxKueVersion[slotIndex] / 100);
}
}, [slotIndex, reduxKueVersion]);
//---------------------------------------------------
return (
<div className="relative bg-gray-300 w-[116px] h-[390px] border border-gray-400 scale-110 top-3">
{kueOnline === 1 ? (