Files
nodeMap/redux/slices/database/polylines/polylineLayerVisibleSlice.js
ISA 9d7a696f91 feat: Add persistent localStorage for Kabelstrecken (polylines) visibility
- Add kabelstreckenVisible state with localStorage persistence
- Implement dual localStorage variables (kabelstreckenVisible + polylineVisible) for compatibility
- Add event system for cross-component polyline visibility updates
- Update MapComponent to listen for polylineVisibilityChanged events
- Ensure polylines display correctly on browser reload
- Migrate from Redux-only state to localStorage-first approach
- Add comprehensive debug logging for troubleshooting

Fixes issue where Kabelstrecken checkbox state was lost on page reload
and polylines were not displayed until manual toggle.
2025-07-25 13:09:18 +02:00

33 lines
1.3 KiB
JavaScript

// /redux/slices/database7polylines/polylineLayerVisibleSlice.js
import { createSlice } from "@reduxjs/toolkit";
const initialState = {
visible: false, // Standardwert - wird in der Komponente aus localStorage überschrieben
isInitialized: false, // Flag um zu verfolgen, ob der Wert aus localStorage geladen wurde
};
const polylineLayerVisibleSlice = createSlice({
name: "polylineLayerVisible",
initialState,
reducers: {
setPolylineVisible: (state, action) => {
state.visible = action.payload;
state.isInitialized = true;
localStorage.setItem("polylineVisible", action.payload.toString());
console.log("💾 Redux: setPolylineVisible called with:", action.payload);
},
initializePolylineFromLocalStorage: (state, action) => {
// Diese Action wird nur beim Initialisieren aus localStorage verwendet
state.visible = action.payload;
state.isInitialized = true;
console.log("🔧 Redux: initializePolylineFromLocalStorage called with:", action.payload);
},
},
});
export const { setPolylineVisible, initializePolylineFromLocalStorage } =
polylineLayerVisibleSlice.actions;
export const selectPolylineVisible = state => state.polylineLayerVisible.visible;
export const selectPolylineInitialized = state => state.polylineLayerVisible.isInitialized;
export default polylineLayerVisibleSlice.reducer;