- 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.
33 lines
1.3 KiB
JavaScript
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;
|