From 84e6a342e428c2eb621e4361628cd1b7336ed1a8 Mon Sep 17 00:00:00 2001 From: ISA Date: Wed, 22 Jan 2025 14:04:21 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20Modale=20f=C3=BCr=20digitale=20Eing?= =?UTF-8?q?=C3=A4nge=20und=20Ausg=C3=A4nge=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Separate Modale für digitale Eingänge und Ausgänge implementiert. - Modale enthalten spezifische Details wie Status, Beschreibung und Invertierung (für Eingänge) sowie Schaltzustand und Bezeichnung (für Ausgänge). - Modale werden über ein Zahnrad-Symbol geöffnet und sind zentriert dargestellt. - Funktionen zum Öffnen und Schließen der Modale (`openInputModal`, `closeInputModal`, `openOutputModal`, `closeOutputModal`) hinzugefügt. - State-Management für ausgewählte Einträge (`selectedInput`, `selectedOutput`) implementiert. - Responsives Design und einheitliches Styling für Modale mit z-index und Overlays sichergestellt. --- pages/einausgaenge.js | 77 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/pages/einausgaenge.js b/pages/einausgaenge.js index c129252..08e4c0d 100644 --- a/pages/einausgaenge.js +++ b/pages/einausgaenge.js @@ -55,7 +55,32 @@ function EinAusgaenge() { ) ); }; + //-------------------------------------------- + const [selectedInput, setSelectedInput] = useState(null); + const [selectedOutput, setSelectedOutput] = useState(null); + const [isInputModalOpen, setIsInputModalOpen] = useState(false); + const [isOutputModalOpen, setIsOutputModalOpen] = useState(false); + const openInputModal = (input) => { + setSelectedInput(input); + setIsInputModalOpen(true); + }; + + const closeInputModal = () => { + setSelectedInput(null); + setIsInputModalOpen(false); + }; + + const openOutputModal = (output) => { + setSelectedOutput(output); + setIsOutputModalOpen(true); + }; + + const closeOutputModal = () => { + setSelectedOutput(null); + setIsOutputModalOpen(false); + }; + //-------------------------------------------- return (

Ein- und Ausgänge

@@ -116,6 +141,7 @@ function EinAusgaenge() { openInputModal(input)} /> @@ -171,6 +197,7 @@ function EinAusgaenge() { openOutputModal(output)} /> @@ -179,6 +206,56 @@ function EinAusgaenge() {
+ {/* Modal für Eingänge */} + {isInputModalOpen && ( +
+
+

+ Details für Eingang {selectedInput.id} +

+

+ Status:{" "} + {selectedInput.status === "active" ? "Aktiv" : "Inaktiv"} +

+

+ Beschreibung: {selectedInput.description} +

+

+ Invertiert:{" "} + {selectedInput.isInverted ? "Ja" : "Nein"} +

+ +
+
+ )} + {/* Modal für Ausgänge */} + {isOutputModalOpen && ( +
+
+

+ Details für Ausgang {selectedOutput.id} +

+

+ Bezeichnung: {selectedOutput.description} +

+

+ Status:{" "} + {selectedOutput.toggle ? "Eingeschaltet" : "Ausgeschaltet"} +

+ +
+
+ )} ); }