refactor: Entfernt Recoil-Atoms mapIdState & userIdState – ersetzt durch Redux-Slice urlParameter

- MapComponent.js nutzt jetzt useSelector für mapId/userId
- Übergabe dynamischer Parameter via dispatch(setMapId), dispatch(setUserId)
- Store um urlParameterReducer erweitert
This commit is contained in:
Ismail Ali
2025-05-18 20:56:11 +02:00
parent 947317165c
commit 651326b532
5 changed files with 52 additions and 18 deletions

View File

@@ -1,14 +1,28 @@
// /redux/slices/urlParameterSlice.js
import { atom } from "recoil";
// redux/slices/urlParameterSlice.js
import { createSlice } from "@reduxjs/toolkit";
// Atom für die Speicherung der mapId aus der URL
export const mapIdState = atom({
key: "mapIdState", // Eindeutiger Schlüssel (innerhalb des gesamten Projekts)
default: "10", // Standardwert
const initialState = {
mapId: "10",
userId: "484",
};
const urlParameterSlice = createSlice({
name: "urlParameter",
initialState,
reducers: {
setMapId: (state, action) => {
state.mapId = action.payload;
},
setUserId: (state, action) => {
state.userId = action.payload;
},
setFromURL: (state, action) => {
const { m, u } = action.payload;
if (m) state.mapId = m;
if (u) state.userId = u;
},
},
});
// Atom für die Speicherung der userId aus der URL
export const userIdState = atom({
key: "userIdState",
default: "484",
});
export const { setMapId, setUserId, setFromURL } = urlParameterSlice.actions;
export default urlParameterSlice.reducer;

View File

@@ -21,6 +21,7 @@ import polylineEventsDisabledReducer from "./slices/polylineEventsDisabledSlice"
import readPoiMarkersStoreReducer from "./slices/readPoiMarkersStoreSlice";
import selectedAreaReducer from "./slices/selectedAreaSlice";
import zoomTriggerReducer from "./slices/zoomTriggerSlice";
import urlParameterReducer from "./slices/urlParameterSlice";
export const store = configureStore({
reducer: {
@@ -45,5 +46,6 @@ export const store = configureStore({
readPoiMarkersStore: readPoiMarkersStoreReducer,
selectedArea: selectedAreaReducer,
zoomTrigger: zoomTriggerReducer,
urlParameter: urlParameterReducer,
},
});