feat: Redux-Thunk für digitale Eingänge integriert & UI mit zwei Tabellen umgesetzt

- `fetchDigitaleEingaengeThunk.ts` erstellt, um digitale Eingänge in Redux zu speichern.
- `fetchDigitaleEingaenge.ts` erstellt, um API-Daten aus `de.js` zu laden.
- `digitalInputsSlice.ts` hinzugefügt, um digitale Eingänge in Redux zu verwalten.
- `DigitalInputs.tsx` überarbeitet: Zwei Tabellen für digitale Eingänge hinzugefügt.
- Sicherstellung, dass Redux-Thunk nur im Client (`useEffect`) ausgeführt wird.
- API-Calls werden nun alle 10 Sekunden aktualisiert.

 Jetzt läuft Redux-Thunk stabil & effizient für digitale Eingänge!
This commit is contained in:
ISA
2025-03-19 15:33:23 +01:00
parent 25b63e3a31
commit f9c2dc7bc9
8 changed files with 110 additions and 86 deletions

View File

@@ -5,6 +5,8 @@ interface DigitalInput {
id: number;
label: string;
status: boolean;
counter: number;
flutter: number;
}
interface DigitalInputsState {
@@ -12,7 +14,7 @@ interface DigitalInputsState {
}
const initialState: DigitalInputsState = {
inputs: [], // Initial leerer Zustand
inputs: [],
};
const digitalInputsSlice = createSlice({
@@ -32,19 +34,8 @@ const digitalInputsSlice = createSlice({
input.status = status;
}
},
updateInputLabel: (
state,
action: PayloadAction<{ id: number; label: string }>
) => {
const { id, label } = action.payload;
const input = state.inputs.find((input) => input.id === id);
if (input) {
input.label = label;
}
},
},
});
export const { setInputs, updateInputStatus, updateInputLabel } =
digitalInputsSlice.actions;
export const { setInputs, updateInputStatus } = digitalInputsSlice.actions;
export default digitalInputsSlice.reducer;