feat: TDR-Funktion wird jetzt aus window.win_tdrActive gelesen

- TDR-Einstellung liest TDR-Status direkt aus kueDataX.js via window.win_tdrActive
- Schalter (Switch) zeigt Zustand korrekt an (aktiviert/deaktiviert)
- TypeScript-Typen für window-Objekt erweitert (declare global)
- Verzicht auf fetch → statisches Einlesen optimiert für Produktionsumgebung
- Build läuft erfolgreich mit `npm run build`
This commit is contained in:
ISA
2025-04-23 12:03:17 +02:00
parent 84f0afc37d
commit 549288ebb9
3 changed files with 46 additions and 19 deletions

View File

@@ -1,7 +1,12 @@
// components/main/kabelueberwachung/kue705FO/modals/TdrEinstellung.tsx
"use client"; "use client";
import React, { useState } from "react"; import React, { useState, useEffect } from "react";
declare global {
interface Window {
win_tdrActive?: number[];
}
}
interface Props { interface Props {
slot: number; slot: number;
@@ -15,24 +20,45 @@ export default function TdrEinstellung({ slot }: Props) {
trigger: "", trigger: "",
}); });
return ( useEffect(() => {
<div className="space-y-4"> if (
{/* typeof window !== "undefined" &&
<h2 className="text-lg font-semibold"> Array.isArray(window.win_tdrActive) &&
TDR-Einstellung Slot {slot + 1} typeof window.win_tdrActive[slot] !== "undefined"
</h2> ) {
const status = parseInt(String(window.win_tdrActive[slot]));
*/} setTdrActive(status === 1);
} else {
console.warn("⚠️ win_tdrActive ist nicht definiert oder Slot ungültig");
}
}, [slot]);
<div> return (
<label className="flex items-center gap-2"> <div className="space-y-4 text-sm laptop:text-base">
<input <h2 className="text-base laptop:text-lg font-semibold">
type="checkbox" TDR-Einstellung Steckplatz {slot + 1}
checked={tdrActive} </h2>
onChange={(e) => setTdrActive(e.target.checked)}
<div className="flex items-center gap-3">
<span className="text-sm font-medium">TDR-Funktion:</span>
<button
type="button"
role="switch"
aria-checked={tdrActive}
onClick={() => setTdrActive(!tdrActive)}
className={`relative inline-flex h-6 w-11 items-center rounded-full transition-colors duration-200 ${
tdrActive ? "bg-green-500" : "bg-gray-300"
}`}
>
<span
className={`inline-block h-4 w-4 transform rounded-full bg-white transition-transform duration-200 ${
tdrActive ? "translate-x-6" : "translate-x-1"
}`}
/> />
TDR-Funktion aktivieren </button>
</label> <span className="text-sm text-gray-600">
{tdrActive ? "aktiviert" : "deaktiviert"}
</span>
</div> </div>
<div className="grid grid-cols-1 md:grid-cols-3 gap-4"> <div className="grid grid-cols-1 md:grid-cols-3 gap-4">

View File

@@ -6,5 +6,5 @@
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen). 2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
*/ */
const webVersion = "1.6.256"; const webVersion = "1.6.257";
export default webVersion; export default webVersion;

View File

@@ -1,4 +1,5 @@
// /public/CPL/SERVICE/kueData.js
var win_kueOnline=[<%=KSO80%>,<%=KSO81%>,<%=KSO82%>,<%=KSO83%>];// Modul in Slot vorhanden 1 = vorhanden, 0 = nicht vorhanden var win_kueOnline=[<%=KSO80%>,<%=KSO81%>,<%=KSO82%>,<%=KSO83%>];// Modul in Slot vorhanden 1 = vorhanden, 0 = nicht vorhanden
var win_kueVersion=[<%=KSV80%>,<%=KSV81%>,<%=KSV82%>,<%=KSV83%>]; //Version z.B. V4.19 var win_kueVersion=[<%=KSV80%>,<%=KSV81%>,<%=KSV82%>,<%=KSV83%>]; //Version z.B. V4.19
var win_kuePSTmMinus96V=[<%=KSS80%>,<%=KSS81%>,<%=KSS82%>,<%=KSS83%>]; // Das Netzteil PST-M "-96V" hat eine Störung oder ist ausgefallen var win_kuePSTmMinus96V=[<%=KSS80%>,<%=KSS81%>,<%=KSS82%>,<%=KSS83%>]; // Das Netzteil PST-M "-96V" hat eine Störung oder ist ausgefallen