Files
nodeMap/redux/slices/mapLayersSlice.js
Ismail Ali 984ce72201 refactor: Recoil durch Redux ersetzt und Fehler behoben
- Entfernt `useRecoilState(mapLayersState)` und durch `useSelector(selectMapLayersState)` ersetzt.
- Alle `setMapLayersVisibility` durch `dispatch(setLayerVisibility(...))` ersetzt.
- LocalStorage-Handling für `mapLayersVisibility` mit Redux umgesetzt.
- Fehler "setMapLayersVisibility is not defined" behoben, indem `dispatch` verwendet wurde.
- Sicherstellung, dass `mapLayersSlice` im Redux-Store registriert ist.
2025-03-11 21:17:12 +01:00

44 lines
1.0 KiB
JavaScript

// redux/slices/mapLayersSlice.js
import { createSlice } from "@reduxjs/toolkit";
const initialState = {
TALAS: true,
ECI: true,
ULAF: true,
GSMModem: true,
CiscoRouter: true,
WAGO: true,
Siemens: true,
OTDR: true,
WDM: true,
GMA: true,
Messstellen: true,
TALASICL: true,
DAUZ: true,
SMSFunkmodem: true,
Sonstige: true,
};
const mapLayersSlice = createSlice({
name: "mapLayers",
initialState,
reducers: {
toggleLayer: (state, action) => {
const layer = action.payload;
if (state[layer] !== undefined) {
state[layer] = !state[layer]; // Toggle Sichtbarkeit
}
},
setLayerVisibility: (state, action) => {
const { layer, visibility } = action.payload;
if (state[layer] !== undefined) {
state[layer] = visibility;
}
},
},
});
export const { toggleLayer, setLayerVisibility } = mapLayersSlice.actions;
export const selectMapLayersState = (state) => state.mapLayers || initialState;
export default mapLayersSlice.reducer;