diff --git a/CHANGELOG.md b/CHANGELOG.md index b77c319..cb5d60c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,16 @@ Alle Änderungen und Versionen des CPLv4.0 Frontends chronologisch dokumentiert. --- +## [1.6.403] – 2025-05-13 + +### Sicherheit & UI + +- Der Umschalter für die TDR-Aktivierung in `TdrEinstellung.tsx` wird jetzt nur noch angezeigt, wenn ein Admin eingeloggt ist. +- Damit wird verhindert, dass Standardnutzer oder Gäste versehentlich TDR-Funktionen aktivieren oder deaktivieren. +- Gleiche Logik wie beim „Firmware Update“-Button in `KueEinstellung.tsx` (`useAdminAuth`). + +--- + ## [1.6.402] – 2025-05-13 ### Fix diff --git a/README.md b/README.md index 949b362..321df2f 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,8 @@ Die Benutzeroberfläche ist modular aufgebaut und ermöglicht Zugriff auf digita - Beim Umschalten der TDR-Funktion (Ein/Aus) wird eine Bestätigung angezeigt. - Nach Klick auf „OK“ wird die Seite automatisch neu geladen, da der neue TDR-Status aktuell **nicht sofort im UI aktualisiert wird**. + - Nur eingeloggte Admins können die TDR-Funktion aktivieren oder deaktivieren. + - Der Schalter wird im UI ausgeblendet, wenn kein Admin-Login erfolgt ist. > Hinweis: Diese Lösung wurde aus Zeitgründen gewählt (Deadline), um eine stabile Anzeige sicherzustellen. Eine spätere Optimierung über Redux- und React-State-Handling ist vorgesehen. diff --git a/components/main/kabelueberwachung/kue705FO/modals/TdrEinstellung.tsx b/components/main/kabelueberwachung/kue705FO/modals/TdrEinstellung.tsx index 7a16659..4327f5e 100644 --- a/components/main/kabelueberwachung/kue705FO/modals/TdrEinstellung.tsx +++ b/components/main/kabelueberwachung/kue705FO/modals/TdrEinstellung.tsx @@ -9,12 +9,15 @@ import React, { useState, useEffect } from "react"; import { useSelector } from "react-redux"; import { RootState } from "../../../../../redux/store"; +import { useAdminAuth } from "../../../settingsPageComponents/hooks/useAdminAuth"; + interface Props { slot: number; onClose?: () => void; // ← NEU } export default function TdrEinstellung({ slot, onClose }: Props) { + const { isAdminLoggedIn } = useAdminAuth(true); const tdrSlice = useSelector((state: RootState) => state.kueDataSlice); const cacheKey = `slot_${slot}`; @@ -162,29 +165,31 @@ export default function TdrEinstellung({ slot, onClose }: Props) { return (