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";
import React, { useState } from "react";
import React, { useState, useEffect } from "react";
declare global {
interface Window {
win_tdrActive?: number[];
}
}
interface Props {
slot: number;
@@ -15,24 +20,45 @@ export default function TdrEinstellung({ slot }: Props) {
trigger: "",
});
return (
<div className="space-y-4">
{/*
<h2 className="text-lg font-semibold">
TDR-Einstellung Slot {slot + 1}
</h2>
*/}
useEffect(() => {
if (
typeof window !== "undefined" &&
Array.isArray(window.win_tdrActive) &&
typeof window.win_tdrActive[slot] !== "undefined"
) {
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>
<label className="flex items-center gap-2">
<input
type="checkbox"
checked={tdrActive}
onChange={(e) => setTdrActive(e.target.checked)}
return (
<div className="space-y-4 text-sm laptop:text-base">
<h2 className="text-base laptop:text-lg font-semibold">
TDR-Einstellung Steckplatz {slot + 1}
</h2>
<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
</label>
</button>
<span className="text-sm text-gray-600">
{tdrActive ? "aktiviert" : "deaktiviert"}
</span>
</div>
<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).
*/
const webVersion = "1.6.256";
const webVersion = "1.6.257";
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_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