feat: Recoil-State 'selectedAreaState' durch Redux ersetzt

- Redux-Slice 'selectedAreaSlice' erstellt mit set/clear Funktionen
- DataSheet.js verwendet dispatch(setSelectedArea(...)) für Dropdown-Auswahl
- MapComponent.js liest Bereichsauswahl über useSelector aus Redux Store
- Recoil-Importe entfernt, Zustand zentralisiert
This commit is contained in:
Ismail Ali
2025-05-18 17:21:16 +02:00
parent b6bb533339
commit 20aba9bbac
6 changed files with 40 additions and 12 deletions

View File

@@ -1,7 +1,22 @@
// /redux/slides/selectedAreaSlice.js
import { atom } from "recoil";
// redux/slices/selectedAreaSlice.js
import { createSlice } from "@reduxjs/toolkit";
export const selectedAreaState = atom({
key: "selectedAreaState", // unique ID (with respect to other atoms/selectors)
default: null, // default value (aka initial value)
const initialState = {
area: null,
};
const selectedAreaSlice = createSlice({
name: "selectedArea",
initialState,
reducers: {
setSelectedArea: (state, action) => {
state.area = action.payload;
},
clearSelectedArea: (state) => {
state.area = null;
},
},
});
export const { setSelectedArea, clearSelectedArea } = selectedAreaSlice.actions;
export default selectedAreaSlice.reducer;

View File

@@ -19,6 +19,7 @@ import poiLayerVisibleReducer from "./slices/poiLayerVisibleSlice";
import poiReadFromDbTriggerReducer from "./slices/poiReadFromDbTriggerSlice";
import polylineEventsDisabledReducer from "./slices/polylineEventsDisabledSlice";
import readPoiMarkersStoreReducer from "./slices/readPoiMarkersStoreSlice";
import selectedAreaReducer from "./slices/selectedAreaSlice";
export const store = configureStore({
reducer: {
@@ -41,5 +42,6 @@ export const store = configureStore({
poiReadFromDbTrigger: poiReadFromDbTriggerReducer,
polylineEventsDisabled: polylineEventsDisabledReducer,
readPoiMarkersStore: readPoiMarkersStoreReducer,
selectedArea: selectedAreaReducer,
},
});