diff --git a/.env.development b/.env.development index 9f7de966c..9a286f37c 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.333 +NEXT_PUBLIC_APP_VERSION=1.1.334 diff --git a/.env.production b/.env.production index 9cec42acc..1a3b2badc 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.333 +NEXT_PUBLIC_APP_VERSION=1.1.334 diff --git a/components/mainComponent/MapComponent.js b/components/mainComponent/MapComponent.js index a43586863..b1ca7bb53 100644 --- a/components/mainComponent/MapComponent.js +++ b/components/mainComponent/MapComponent.js @@ -374,10 +374,7 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => { return; } - // Prüfe Sichtbarkeit aus localStorage und Redux - const localStoragePolylineVisible = localStorage.getItem("polylineVisible") === "true"; - const reduxPolylineLayerVisible = poiLayerVisible; // redux: polylineLayerVisible.visible - + // Die Sichtbarkeit der Polylines hängt nur noch vom Redux-Slice ab // vorherige Marker & Polylinien vollständig bereinigen (Array.isArray(markers) ? markers : []).forEach(marker => { marker.remove(); @@ -386,7 +383,7 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => { // Setze neue Marker und Polylinien mit den aktuellen Daten (asynchron!) const updatePolylines = async () => { - if (localStoragePolylineVisible && reduxPolylineLayerVisible) { + if (polylineVisible) { const { markers: newMarkers, polylines: newPolylines } = await setupPolylines( map, linePositions, @@ -396,7 +393,7 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => { tempMarker, currentZoom, currentCenter, - polylineVisible // kommt aus Redux + polylineVisible ); (Array.isArray(newPolylines) ? newPolylines : []).forEach((polyline, index) => { diff --git a/components/uiWidgets/mapLayersControlPanel/MapLayersControlPanel.js b/components/uiWidgets/mapLayersControlPanel/MapLayersControlPanel.js index fd5c80999..f433dc7d3 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, setKabelstreckenVisible] = useState(false); // Lokaler State für Kabelstrecken + const kabelstreckenVisible = useSelector(selectPolylineVisible); // Nur noch Redux const poiVisible = useSelector(state => state.poiLayerVisible.visible); const setPoiVisible = value => dispatch(setVisible(value)); const dispatch = useDispatch(); @@ -40,18 +40,12 @@ 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 = @@ -62,47 +56,12 @@ function MapLayersControlPanel() { }; useEffect(() => { - // LocalStorage Werte beim ersten Laden der Komponente wiederherstellen - console.log("🔄 Loading localStorage values..."); - + // LocalStorage Werte beim ersten Laden der Komponente wiederherstellen (nur für POI und mapLayersVisibility, nicht mehr für Kabelstrecken) const storedPoiVisible = localStorage.getItem("poiVisible"); - console.log("📦 POI localStorage value:", storedPoiVisible); 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); - console.log("� Migrated polylineVisible to kabelstreckenVisible:", storedPolylineVisible); - } - - console.log("�📦 Kabelstrecken localStorage value:", storedKabelstreckenVisible); - console.log("📦 Polyline localStorage value:", storedPolylineVisible); - - if (storedKabelstreckenVisible !== null) { - const shouldBeVisible = storedKabelstreckenVisible === "true"; - console.log("🎯 Setting kabelstreckenVisible to:", shouldBeVisible); - 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); - console.log("📢 Event 'polylineVisibilityChanged' dispatched on load"); - }, 200); - } - // Kartenspezifischer localStorage-Key verwenden const mapId = localStorage.getItem("currentMapId"); const userId = localStorage.getItem("currentUserId"); @@ -110,8 +69,6 @@ function MapLayersControlPanel() { mapId && userId ? `mapLayersVisibility_m${mapId}_u${userId}` : "mapLayersVisibility"; const storedMapLayersVisibility = localStorage.getItem(mapStorageKey); - console.log(`📦 MapLayers localStorage value for ${mapStorageKey}:`, storedMapLayersVisibility); - if (storedMapLayersVisibility) { const parsedVisibility = JSON.parse(storedMapLayersVisibility); Object.keys(parsedVisibility).forEach(key => { @@ -119,30 +76,21 @@ function MapLayersControlPanel() { }); } else { // Initialisiere mapLayersVisibility basierend auf Allow & Map (nur Systeme mit Map===1 anzeigen) - console.log( - "🚀 No stored mapLayersVisibility found, initializing based on Allow && Map values..." - ); if (Array.isArray(GisSystemStatic)) { const initialVisibility = {}; GisSystemStatic.forEach(system => { const systemKey = `system-${system.IdSystem}`; - const visibility = system.Allow === 1 && system.Map === 1; // <— angepasst + const visibility = system.Allow === 1 && system.Map === 1; if (visibility) { - // nur speichern wenn grundsätzlich sichtbar initialVisibility[systemKey] = visibility; dispatch(setLayerVisibility({ layer: systemKey, visibility })); - console.log( - `🎯 Setting ${systemKey} (${system.Name}) visibility to ${visibility} (Allow=${system.Allow}, Map=${system.Map})` - ); } }); localStorage.setItem(mapStorageKey, JSON.stringify(initialVisibility)); - console.log(`💾 Saved initial mapLayersVisibility to ${mapStorageKey}:`, initialVisibility); } } const storedEditMode = localStorage.getItem("editMode"); - console.log("📦 EditMode localStorage value:", storedEditMode); setEditMode(storedEditMode === "true"); setLocalStorageLoaded(true); diff --git a/package-lock.json b/package-lock.json index 91303a203..a25a69a60 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "nodemap", - "version": "1.1.333", + "version": "1.1.334", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "nodemap", - "version": "1.1.333", + "version": "1.1.334", "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", diff --git a/package.json b/package.json index 61d2b3662..9e951cdc5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nodemap", - "version": "1.1.333", + "version": "1.1.334", "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0",