diff --git a/.env.development b/.env.development index 9a286f37c..70812ff3e 100644 --- a/.env.development +++ b/.env.development @@ -24,4 +24,4 @@ NEXT_PUBLIC_USE_MOCKS=true # z.B. http://10.10.0.13/xyz/index.aspx -> basePath in config.json auf /xyz setzen # basePath wird jetzt in public/config.json gepflegt # App-Versionsnummer -NEXT_PUBLIC_APP_VERSION=1.1.334 +NEXT_PUBLIC_APP_VERSION=1.1.335 diff --git a/.env.production b/.env.production index 1a3b2badc..0199be859 100644 --- a/.env.production +++ b/.env.production @@ -25,4 +25,4 @@ NEXT_PUBLIC_USE_MOCKS=false # basePath wird jetzt in public/config.json gepflegt # App-Versionsnummer -NEXT_PUBLIC_APP_VERSION=1.1.334 +NEXT_PUBLIC_APP_VERSION=1.1.335 diff --git a/components/uiWidgets/mapLayersControlPanel/MapLayersControlPanel.js b/components/uiWidgets/mapLayersControlPanel/MapLayersControlPanel.js index f433dc7d3..86fdb3479 100644 --- a/components/uiWidgets/mapLayersControlPanel/MapLayersControlPanel.js +++ b/components/uiWidgets/mapLayersControlPanel/MapLayersControlPanel.js @@ -16,7 +16,7 @@ import { incrementZoomTrigger } from "@/redux/slices/zoomTriggerSlice"; function MapLayersControlPanel() { const [editMode, setEditMode] = useState(false); // Zustand für editMode const [localStorageLoaded, setLocalStorageLoaded] = useState(false); // Tracking ob localStorage geladen wurde - const kabelstreckenVisible = useSelector(selectPolylineVisible); // Nur noch Redux + const [kabelstreckenVisible, setKabelstreckenVisible] = useState(false); // Lokaler State für Kabelstrecken const poiVisible = useSelector(state => state.poiLayerVisible.visible); const setPoiVisible = value => dispatch(setVisible(value)); const dispatch = useDispatch(); @@ -40,12 +40,18 @@ function MapLayersControlPanel() { const handlePolylineCheckboxChange = event => { const checked = event.target.checked; + setKabelstreckenVisible(checked); + localStorage.setItem("kabelstreckenVisible", checked.toString()); + localStorage.setItem("polylineVisible", checked.toString()); dispatch(setPolylineVisible(checked)); + setTimeout(() => { + const event = new Event("polylineVisibilityChanged"); + window.dispatchEvent(event); + }, 100); // Wenn aktiviert, TALAS aktivieren if (checked) { const talasKey = "system-1"; dispatch(setLayerVisibility({ layer: talasKey, visibility: true })); - // Optional: mapLayersVisibility im localStorage aktualisieren, aber nicht mehr für Sichtbarkeit nutzen const mapId = localStorage.getItem("currentMapId"); const userId = localStorage.getItem("currentUserId"); const mapStorageKey = @@ -56,12 +62,36 @@ function MapLayersControlPanel() { }; useEffect(() => { - // LocalStorage Werte beim ersten Laden der Komponente wiederherstellen (nur für POI und mapLayersVisibility, nicht mehr für Kabelstrecken) + // LocalStorage Werte beim ersten Laden der Komponente wiederherstellen const storedPoiVisible = localStorage.getItem("poiVisible"); if (storedPoiVisible !== null) { setPoiVisible(storedPoiVisible === "true"); } + // Neue Variable für Kabelstrecken mit Fallback auf die alte Variable + let storedKabelstreckenVisible = localStorage.getItem("kabelstreckenVisible"); + const storedPolylineVisible = localStorage.getItem("polylineVisible"); + + // Falls kabelstreckenVisible nicht existiert, aber polylineVisible schon, übernehmen wir den Wert + if (storedKabelstreckenVisible === null && storedPolylineVisible !== null) { + storedKabelstreckenVisible = storedPolylineVisible; + localStorage.setItem("kabelstreckenVisible", storedPolylineVisible); + } + + if (storedKabelstreckenVisible !== null) { + const shouldBeVisible = storedKabelstreckenVisible === "true"; + setKabelstreckenVisible(shouldBeVisible); + // Beide localStorage-Variablen synchronisieren + localStorage.setItem("polylineVisible", shouldBeVisible.toString()); + // Redux für Konsistenz setzen + dispatch(setPolylineVisible(shouldBeVisible)); + // Event auslösen nach dem Laden + setTimeout(() => { + const event = new Event("polylineVisibilityChanged"); + window.dispatchEvent(event); + }, 200); + } + // Kartenspezifischer localStorage-Key verwenden const mapId = localStorage.getItem("currentMapId"); const userId = localStorage.getItem("currentUserId"); diff --git a/nodemap-1.1.332.zip b/nodemap-1.1.332.zip deleted file mode 100644 index 1f1a4c086..000000000 Binary files a/nodemap-1.1.332.zip and /dev/null differ diff --git a/package-lock.json b/package-lock.json index a25a69a60..4669984ec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "nodemap", - "version": "1.1.334", + "version": "1.1.335", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "nodemap", - "version": "1.1.334", + "version": "1.1.335", "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", diff --git a/package.json b/package.json index 9e951cdc5..9d8f6dd98 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nodemap", - "version": "1.1.334", + "version": "1.1.335", "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0",