diff --git a/components/DataSheet.js b/components/DataSheet.js index cc9ab003a..80d875dd8 100644 --- a/components/DataSheet.js +++ b/components/DataSheet.js @@ -18,6 +18,18 @@ function DataSheet() { const GisSystemStatic = useRecoilValue(gisSystemStaticState); const setZoomTrigger = useSetRecoilState(zoomTriggerState); + useEffect(() => { + const storedPoiVisible = localStorage.getItem("poiVisible"); + if (storedPoiVisible !== null) { + setPoiVisible(storedPoiVisible === "true"); + } + + const storedMapLayersVisibility = localStorage.getItem("mapLayersVisibility"); + if (storedMapLayersVisibility) { + setMapLayersVisibility(JSON.parse(storedMapLayersVisibility)); + } + }, [setPoiVisible, setMapLayersVisibility]); + const handleAreaChange = (event) => { const selectedIndex = event.target.options.selectedIndex; const areaName = event.target.options[selectedIndex].text; @@ -69,10 +81,17 @@ function DataSheet() { ...prev, [name]: checked, }; + localStorage.setItem("mapLayersVisibility", JSON.stringify(newState)); // Store in localStorage return newState; }); }; + const handlePoiCheckboxChange = (event) => { + const { checked } = event.target; + setPoiVisible(checked); + localStorage.setItem("poiVisible", checked); // Store POI visibility in localStorage + }; + const handleIconClick = () => { setSelectedArea("Station wählen"); setZoomTrigger((current) => current + 1); @@ -104,15 +123,7 @@ function DataSheet() {
))} - { - const checked = e.target.checked; - setPoiVisible(checked); - }} - id="poi-checkbox" - /> + diff --git a/hooks/useLineData.js b/hooks/useLineData.js index 2a3e79b09..1140e7c47 100644 --- a/hooks/useLineData.js +++ b/hooks/useLineData.js @@ -16,6 +16,8 @@ const useLineData = (webserviceGisLinesStatusUrl, setLineStatusData) => { ws.onopen = () => { console.log("WebSocket-Verbindung hergestellt"); + // Testnachricht an den Server senden + ws.send(JSON.stringify({ type: "test", message: "Hallo vom Client" })); }; ws.onmessage = (event) => { diff --git a/websocket-server.js b/websocket-server.js index 63ada340e..fae14eb4d 100644 --- a/websocket-server.js +++ b/websocket-server.js @@ -7,8 +7,22 @@ wss.on("connection", (ws) => { console.log("New WebSocket connection"); ws.on("message", (message) => { - console.log("Received:", message); - ws.send(JSON.stringify({ message: "Hallo vom WebSocket-Server" })); + // Konvertiere den Buffer in einen String + const messageString = message.toString(); + + console.log("Received:", messageString); + + // Versuche die Nachricht in JSON zu parsen + try { + const parsedMessage = JSON.parse(messageString); + + // Beispielnachricht an den Client zurücksenden + if (parsedMessage.type === "test") { + ws.send(JSON.stringify({ message: `Hallo zurück, ${parsedMessage.message}` })); + } + } catch (error) { + console.error("Fehler beim Parsen der Nachricht:", error); + } }); ws.on("close", () => {