refactor: Seitenkomponenten ausgelagert in View-Komponenten

- meldungen.tsx → MeldungenView.tsx erstellt
  → beinhaltet Filterleiste, Tabellenansicht und Datenabruf
- system.tsx → SystemView.tsx ausgelagert
  → verbessert Lesbarkeit und Trennung von Routing und Inhalt
- View-Suffix verwendet für klare Struktur (Page = Entry, View = Inhalt)
This commit is contained in:
ISA
2025-07-07 08:27:19 +02:00
parent 859a8f1d64
commit ebe72c3ab0
14 changed files with 318 additions and 256 deletions

View File

@@ -1,6 +1,7 @@
// /redux/store.ts
import { configureStore } from "@reduxjs/toolkit";
import { useDispatch } from "react-redux";
import { persistReducer, persistStore } from "redux-persist";
import storage from "redux-persist/lib/storage"; // = localStorage
import authReducer from "./slices/authSlice";
import kueChartModeReducer from "./slices/kueChartModeSlice";
import webVersionReducer from "./slices/webVersionSlice";
@@ -35,48 +36,78 @@ import systemspannung15VplusReducer from "./slices/systemspannung15VplusSlice";
import systemspannung98VminusReducer from "./slices/systemspannung98VminusSlice";
import temperaturAdWandlerReducer from "./slices/temperaturAdWandlerSlice";
import temperaturProzessorReducer from "./slices/temperaturProzessorSlice";
import { combineReducers } from "@reduxjs/toolkit";
import { useDispatch, useSelector, TypedUseSelectorHook } from "react-redux";
const store = configureStore({
reducer: {
authSlice: authReducer,
kueChartModeSlice: kueChartModeReducer,
webVersionSlice: webVersionReducer,
digitalInputsSlice: digitalInputsReducer,
kabelueberwachungChartSlice: kabelueberwachungChartReducer,
last20MessagesSlice: last20MessagesReducer,
systemSettingsSlice: systemSettingsReducer,
opcuaSettingsSlice: opcuaSettingsReducer,
digitalOutputsSlice: digitalOutputsReducer,
analogInputs: analogInputsSlice,
brushSlice: brushReducer,
tdrChartSlice: tdrChartReducer,
tdrReferenceChartSlice: tdrReferenceChartReducer,
loopChartSlice: loopChartReducer,
tdmChartSlice: tdmChartReducer,
tdrDataByIdSlice: tdrDataByIdReducer,
kueDataSlice: kueDataReducer,
selectedChartDataSlice: selectedChartDataReducer,
tdmSingleChartSlice: tdmSingleChartReducer,
tdrReferenceChartDataBySlotSlice: tdrReferenceChartDataBySlotReducer,
loopChartType: loopChartTypeSlice,
systemVoltTemp: systemVoltTempReducer,
analogInputsHistory: analogInputsHistoryReducer,
selectedAnalogInput: selectedAnalogInputReducer,
messages: messagesReducer,
firmwareUpdate: firmwareUpdateReducer,
confirmModal: confirmModalReducer,
firmwareProgress: firmwareProgressReducer,
systemspannung5Vplus: systemspannung5VplusReducer,
systemspannung15Vminus: systemspannung15VminusReducer,
systemspannung15Vplus: systemspannung15VplusReducer,
systemspannung98Vminus: systemspannung98VminusReducer,
temperaturAdWandler: temperaturAdWandlerReducer,
temperaturProzessor: temperaturProzessorReducer,
},
//---------------------------------------
// 🧠 Nur diese Slices werden persistiert
const persistConfig = {
key: "root",
storage,
whitelist: [
"systemspannung5Vplus",
"systemspannung15Vplus",
"systemspannung15Vminus",
"systemspannung98Vminus",
"temperaturAdWandler",
"temperaturProzessor",
],
};
const rootReducer = combineReducers({
systemspannung5Vplus: systemspannung5VplusReducer,
systemspannung15Vplus: systemspannung15VplusReducer,
systemspannung15Vminus: systemspannung15VminusReducer,
systemspannung98Vminus: systemspannung98VminusReducer,
temperaturAdWandler: temperaturAdWandlerReducer,
temperaturProzessor: temperaturProzessorReducer,
// Die restlichen Slices werden nicht persistiert, aber können hier auch aufgenommen werden,
// falls sie Teil des globalen States sein sollen:
authSlice: authReducer,
kueChartModeSlice: kueChartModeReducer,
webVersionSlice: webVersionReducer,
digitalInputsSlice: digitalInputsReducer,
kabelueberwachungChartSlice: kabelueberwachungChartReducer,
last20MessagesSlice: last20MessagesReducer,
systemSettingsSlice: systemSettingsReducer,
opcuaSettingsSlice: opcuaSettingsReducer,
digitalOutputsSlice: digitalOutputsReducer,
analogInputs: analogInputsSlice,
brushSlice: brushReducer,
tdrChartSlice: tdrChartReducer,
tdrReferenceChartSlice: tdrReferenceChartReducer,
loopChartSlice: loopChartReducer,
tdmChartSlice: tdmChartReducer,
tdrDataByIdSlice: tdrDataByIdReducer,
kueDataSlice: kueDataReducer,
selectedChartDataSlice: selectedChartDataReducer,
tdmSingleChartSlice: tdmSingleChartReducer,
tdrReferenceChartDataBySlotSlice: tdrReferenceChartDataBySlotReducer,
loopChartType: loopChartTypeSlice,
systemVoltTemp: systemVoltTempReducer,
analogInputsHistory: analogInputsHistoryReducer,
selectedAnalogInput: selectedAnalogInputReducer,
messages: messagesReducer,
firmwareUpdate: firmwareUpdateReducer,
confirmModal: confirmModalReducer,
firmwareProgress: firmwareProgressReducer,
});
const persistedReducer = persistReducer(persistConfig, rootReducer);
//-------------------------------------------
export const store = configureStore({
reducer: persistedReducer,
});
export const persistor = persistStore(store);
// Typisierte Hooks
export type RootState = ReturnType<typeof store.getState>;
export type AppDispatch = typeof store.dispatch;
export const useAppDispatch: () => AppDispatch = useDispatch; // ✅ Typisierte Dispatch-Funktion
export const useAppDispatch = () => useDispatch<AppDispatch>();
export const useAppSelector: TypedUseSelectorHook<RootState> = useSelector;
export default store;