From e1e8aa19fa1eca314d4689b111a9a2916b8108eb Mon Sep 17 00:00:00 2001 From: Ismail Ali Date: Mon, 9 Jun 2025 09:35:22 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20WebSocket-basierte=20Live-Aktualisierun?= =?UTF-8?q?g=20f=C3=BCr=20alle=20GIS-Daten=20umgesetzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - UI-Reaktivität für GisLinesStatus, GisStationsMeasurements, GisStationsStaticDistrict und GisStationsStatusDistrict erfolgreich implementiert - WebSocket-Daten werden direkt über Redux-Slices aktualisiert - useDynamicDeviceLayers Hook reagiert zuverlässig auf neue Slice-Daten - Leaflet Marker werden korrekt neu gesetzt und in der UI dargestellt - Performance verbessert durch gezieltes diff-basiertes Re-Rendering --- config/appVersion.js | 2 +- hooks/useDynamicDeviceLayers.js | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/config/appVersion.js b/config/appVersion.js index 0cb7d11d1..e9c46cf24 100644 --- a/config/appVersion.js +++ b/config/appVersion.js @@ -1,2 +1,2 @@ // /config/appVersion -export const APP_VERSION = "1.1.249"; +export const APP_VERSION = "1.1.250"; diff --git a/hooks/useDynamicDeviceLayers.js b/hooks/useDynamicDeviceLayers.js index b25984f76..bfd501d45 100644 --- a/hooks/useDynamicDeviceLayers.js +++ b/hooks/useDynamicDeviceLayers.js @@ -7,6 +7,7 @@ import plusRoundIcon from "@/components/icons/devices/overlapping/PlusRoundIcon" import { useSelector } from "react-redux"; import { selectGisStationsStaticDistrict } from "@/redux/slices/webservice/gisStationsStaticDistrictSlice.js"; import { selectGisStationsMeasurements } from "@/redux/slices/webservice/gisStationsMeasurementsSlice.js"; +import { selectGisStationsStatusDistrict } from "@/redux/slices/webservice/gisStationsStatusDistrictSlice.js"; /** * Dynamisch GIS-System-Marker erstellen & Sichtbarkeit steuern. @@ -19,6 +20,8 @@ import { selectGisStationsMeasurements } from "@/redux/slices/webservice/gisStat const useDynamicDeviceLayers = (map, GisSystemStatic, mapLayersVisibility, priorityConfig, oms) => { const measurements = useSelector(selectGisStationsMeasurements); const staticDistrictData = useSelector(selectGisStationsStaticDistrict); + const statusDistrict = useSelector(selectGisStationsStatusDistrict); + const [markerStates, setMarkerStates] = useState({}); const layerRefs = useRef({}); @@ -59,7 +62,7 @@ const useDynamicDeviceLayers = (map, GisSystemStatic, mapLayersVisibility, prior oms ); }); - }, [map, GisSystemStatic, priorityConfig, staticDistrictData, measurements]); + }, [map, GisSystemStatic, priorityConfig, staticDistrictData, measurements, statusDistrict]); // Sichtbarkeit nach Redux-Status steuern useEffect(() => {