fix: ConfirmModal-Zustand in Redux ausgelagert zur Stabilisierung

- Neuen confirmModalSlice erstellt für globale Steuerung des Bestätigungsdialogs
- Zustand wird nun nicht mehr durch Re-Renders oder Komponentenneuaufbau zurückgesetzt
- ConfirmModal in KueEinstellung.tsx vollständig an Redux angebunden
- Flackern und automatisches Schließen nach 10–15 Sekunden dauerhaft behoben
This commit is contained in:
ISA
2025-07-02 14:16:08 +02:00
parent b3c5580538
commit f50bff4819
8 changed files with 57 additions and 9 deletions

View File

@@ -0,0 +1,29 @@
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
interface ConfirmModalState {
open: boolean;
}
const initialState: ConfirmModalState = {
open: false,
};
export const confirmModalSlice = createSlice({
name: "confirmModal",
initialState,
reducers: {
openConfirmModal: (state) => {
state.open = true;
},
closeConfirmModal: (state) => {
state.open = false;
},
setConfirmModal: (state, action: PayloadAction<boolean>) => {
state.open = action.payload;
},
},
});
export const { openConfirmModal, closeConfirmModal, setConfirmModal } =
confirmModalSlice.actions;
export default confirmModalSlice.reducer;

View File

@@ -27,6 +27,7 @@ import analogInputsHistoryReducer from "./slices/analogInputsHistorySlice";
import selectedAnalogInputReducer from "./slices/selectedAnalogInputSlice";
import messagesReducer from "./slices/messagesSlice";
import firmwareUpdateReducer from "@/redux/slices/firmwareUpdateSlice";
import confirmModalReducer from "./slices/confirmModalSlice";
const store = configureStore({
reducer: {
@@ -56,6 +57,7 @@ const store = configureStore({
selectedAnalogInput: selectedAnalogInputReducer,
messages: messagesReducer,
firmwareUpdate: firmwareUpdateReducer,
confirmModal: confirmModalReducer,
},
});