feat: priorityConfig vollständig auf Redux umgestellt – Slice, Thunk und Service integriert und zentral ausgelagert

This commit is contained in:
ISA
2025-05-21 12:27:36 +02:00
parent 71a6aeef1c
commit 067eba95b5
7 changed files with 71 additions and 18 deletions

View File

@@ -0,0 +1,16 @@
// redux/slices/database/priorityConfigSlice.js
import { fetchPriorityConfigThunk } from "../../thunks/database/fetchPriorityConfigThunk";
import { createSlice } from "@reduxjs/toolkit";
const slice = createSlice({
name: "priorityConfig",
initialState: { data: [], status: "idle" },
extraReducers: (builder) => {
builder.addCase(fetchPriorityConfigThunk.fulfilled, (state, action) => {
state.status = "succeeded";
state.data = action.payload;
});
},
});
export default slice.reducer;
export const selectPriorityConfig = (state) => state.priorityConfig.data;

View File

@@ -22,6 +22,7 @@ import readPoiMarkersStoreReducer from "./slices/readPoiMarkersStoreSlice";
import selectedAreaReducer from "./slices/selectedAreaSlice";
import zoomTriggerReducer from "./slices/zoomTriggerSlice";
import urlParameterReducer from "./slices/urlParameterSlice";
import priorityConfigReducer from "./slices/database/priorityConfigSlice";
export const store = configureStore({
reducer: {
@@ -46,5 +47,6 @@ export const store = configureStore({
selectedArea: selectedAreaReducer,
zoomTrigger: zoomTriggerReducer,
urlParameter: urlParameterReducer,
priorityConfig: priorityConfigReducer,
},
});

View File

@@ -0,0 +1,7 @@
// /redux/thunks/database/fetchPriorityConfigThunk.js
import { createAsyncThunk } from "@reduxjs/toolkit";
import { fetchPriorityConfigService } from "../../../services/database/fetchPriorityConfigService";
export const fetchPriorityConfigThunk = createAsyncThunk("priorityConfig/fetch", async () => {
return await fetchPriorityConfigService();
});