From a18d5b964061f7fe0175dc8c11a4168c3de15267 Mon Sep 17 00:00:00 2001 From: ISA Date: Thu, 24 Apr 2025 09:01:43 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20TDR-Eingabefelder=20aktiviert,=20Werte?= =?UTF-8?q?=20editierbar=20mit=20Einheiten=20dB=20und=20m/=C2=B5s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kue705FO/modals/TdrEinstellung.tsx | 94 +++++++++---------- config/webVersion.ts | 2 +- 2 files changed, 46 insertions(+), 50 deletions(-) diff --git a/components/main/kabelueberwachung/kue705FO/modals/TdrEinstellung.tsx b/components/main/kabelueberwachung/kue705FO/modals/TdrEinstellung.tsx index 478d847..b334b4a 100644 --- a/components/main/kabelueberwachung/kue705FO/modals/TdrEinstellung.tsx +++ b/components/main/kabelueberwachung/kue705FO/modals/TdrEinstellung.tsx @@ -1,53 +1,34 @@ "use client"; // /components/main/kabelueberwachung/kue705FO/modals/TdrEinstellung.tsx -import React, { useState, useEffect } from "react"; -declare global { - interface Window { - win_tdrActive?: number[]; - win_tdrAmp?: string[]; - win_tdrPulse?: string[]; - win_tdrTrigger?: string[]; - } -} +import React, { useState } from "react"; +import { useSelector } from "react-redux"; +import { RootState } from "../../../../../redux/store"; interface Props { slot: number; } export default function TdrEinstellung({ slot }: Props) { - const [tdrActive, setTdrActive] = useState(false); + const tdrSlice = useSelector((state: RootState) => state.kueDataSlice); + + // Lokaler editierbarer Zustand const [tdrData, setTdrData] = useState({ - verstarkung: "", - pulsweite: "", - trigger: "", + verstarkung: tdrSlice.tdrAtten?.[slot] ?? "", + pulsweite: tdrSlice.tdrSpeed?.[slot] ?? "", + trigger: tdrSlice.tdrTrigger?.[slot] ?? "", }); - useEffect(() => { - if (typeof window !== "undefined") { - if (Array.isArray(window.win_tdrActive)) { - const status = parseInt(String(window.win_tdrActive[slot])); - setTdrActive(status === 1); - } - setTdrData({ - verstarkung: window.win_tdrAmp?.[slot] ?? "", - pulsweite: window.win_tdrPulse?.[slot] ?? "", - trigger: window.win_tdrTrigger?.[slot] ?? "", - }); - } - }, [slot]); + const [tdrActive, setTdrActive] = useState(false); // Optional: aus Redux ergänzbar const handleSave = () => { - const v = tdrData.verstarkung.trim(); - const p = tdrData.pulsweite.trim(); - const t = tdrData.trigger.trim(); - - if (!v || !p || !t) { + const { verstarkung, pulsweite, trigger } = tdrData; + if (!verstarkung.trim() || !pulsweite.trim() || !trigger.trim()) { alert("Bitte alle Felder ausfüllen."); return; } - const url = `/CPL?KTT${slot}=0&V=${v}&P=${p}&T=${t}`; + const url = `/CPL?KTT${slot}=0&V=${verstarkung.trim()}&P=${pulsweite.trim()}&T=${trigger.trim()}`; alert(`Sende: ${url}`); window.location.href = url; }; @@ -81,28 +62,43 @@ export default function TdrEinstellung({ slot }: Props) {
+ {/* TDR Dämpfung */}
- - - setTdrData({ ...tdrData, verstarkung: e.target.value }) - } - className="border px-2 py-1 rounded w-full" - /> + +
+ + setTdrData({ ...tdrData, verstarkung: e.target.value }) + } + className="border px-2 py-1 rounded w-full pr-10" + /> + + dB + +
+ {/* Geschwindigkeit */}
- - - setTdrData({ ...tdrData, pulsweite: e.target.value }) - } - className="border px-2 py-1 rounded w-full" - /> + +
+ + setTdrData({ ...tdrData, pulsweite: e.target.value }) + } + className="border px-2 py-1 rounded w-full pr-14" + /> + + m/µs + +
+ {/* Trigger */}
diff --git a/config/webVersion.ts b/config/webVersion.ts index 1f3d2f6..e4678db 100644 --- a/config/webVersion.ts +++ b/config/webVersion.ts @@ -6,5 +6,5 @@ 2: Patch oder Hotfix (Bugfixes oder kleine Änderungen). */ -const webVersion = "1.6.263"; +const webVersion = "1.6.264"; export default webVersion;