From 180885234441e4a116e2c63d6dbbe343cac62fa2 Mon Sep 17 00:00:00 2001 From: ISA Date: Wed, 16 Oct 2024 20:07:56 +0200 Subject: [PATCH] Daten an Server senden in der Settings --- components/Header.jsx | 31 +++- components/Navigation.jsx | 2 +- components/modales/SettingsModal.jsx | 249 +++++++++++++++++++++++++++ 3 files changed, 279 insertions(+), 3 deletions(-) create mode 100644 components/modales/SettingsModal.jsx diff --git a/components/Header.jsx b/components/Header.jsx index 923ba0a..670a5b8 100644 --- a/components/Header.jsx +++ b/components/Header.jsx @@ -4,11 +4,21 @@ import React, { useEffect, useState } from "react"; import Image from "next/image"; import "bootstrap-icons/font/bootstrap-icons.css"; import { loadWindowVariables } from "../utils/loadWindowVariables"; // Importiere die Funktion +import SettingsModal from "./modales/SettingsModal"; function Header() { const apiUrl = process.env.NEXT_PUBLIC_API_BASE_URL; const [stationsname, setStationsname] = useState("Lädt..."); // Platzhalter const [cplStatus, setCplStatus] = useState("Lädt..."); + const [showSettingsModal, setShowSettingsModal] = useState(false); + + const handleSettingsClick = () => { + setShowSettingsModal(true); // Öffne das Modal + }; + + const handleCloseSettingsModal = () => { + setShowSettingsModal(false); // Schließe das Modal + }; useEffect(() => { // Lade die Variablen vom Server und setze sie in `window` @@ -74,12 +84,29 @@ function Header() { */} - - {/* User Icon */} + {/* Settings Icon als Button */}
+ +
+ {/* User Icon */} + {/* +
+ */} + {/* SettingsModal wird angezeigt, wenn showSettingsModal true ist */} + {showSettingsModal && ( + + )} ); } diff --git a/components/Navigation.jsx b/components/Navigation.jsx index 30c2a08..3b73200 100644 --- a/components/Navigation.jsx +++ b/components/Navigation.jsx @@ -24,7 +24,7 @@ function Navigation() { return (