Files
CPLv4.0/components/modulesStatus/KabelModulStatus.jsx
ISA 7f792f833f fix: Verhindere Wechsel zwischen aktivem und inaktivem Status bei leerem Slot
- 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.
2024-10-27 08:09:54 +01:00

51 lines
1.6 KiB
JavaScript

const KabelModulStatus = ({ slot, kueCableBreak, isOnline, moduleVersion }) => {
if (!isOnline) {
return (
<div className="border border-gray-400 w-10 h-20 flex items-center justify-center bg-gray-200">
<div className="text-xs text-gray-500">Leer</div>
</div>
);
}
// Modultyp basierend auf der Version bestimmen
let moduleName = "";
let moduleType = "";
if (moduleVersion === 419) {
moduleName = "KÜ705";
moduleType = "FO";
} else if (moduleVersion === 350) {
moduleName = "KÜ605";
moduleType = "µC";
} else if (moduleVersion === 1100) {
moduleName = "KÜSS";
moduleType = "___";
}
// Status nur prüfen, wenn der Slot aktiv ist (kueOnline für den Slot ist 1)
const isCableBreak = kueCableBreak[slot - 1] === 1;
const isAlarm1 = kueAlarm1[slot - 1] === 1;
const isAlarm2 = kueAlarm2[slot - 1] === 1;
const groundFault = kueGroundFault[slot - 1] === 1;
return (
<div className="border border-gray-400 w-10 h-20 flex flex-col">
<div className="bg-littwin-blue flex-grow flex flex-col items-center justify-center text-white text-[10px]">
<div className="flex w-full mb-1 items-start justify-start">{slot}</div>
<div className="text-[10px]">{moduleName}</div>
<div className="text-[10px]">{moduleType}</div>
</div>
<div
className={`w-full h-2/6 ${
isCableBreak || isAlarm1 || isAlarm2 || groundFault
? "bg-red-500"
: "bg-green-500"
}`}
></div>
<div className="bg-littwin-blue w-full h-1/6"></div>
</div>
);
};
export default KabelModulStatus;