Redux, idLD speichern nur Aktive Geräte
This commit is contained in:
@@ -1,9 +0,0 @@
|
||||
// /redux/actions.js
|
||||
export const connectWebSocket = (url) => ({
|
||||
type: "WS_CONNECT",
|
||||
payload: { url },
|
||||
});
|
||||
|
||||
export const disconnectWebSocket = () => ({
|
||||
type: "WS_DISCONNECT",
|
||||
});
|
||||
@@ -1,18 +0,0 @@
|
||||
// /redux/reducer.js
|
||||
const initialState = {
|
||||
messages: [],
|
||||
};
|
||||
|
||||
const websocketReducer = (state = initialState, action) => {
|
||||
switch (action.type) {
|
||||
case "WS_MESSAGE_RECEIVED":
|
||||
return {
|
||||
...state,
|
||||
messages: [...state.messages, action.payload],
|
||||
};
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
};
|
||||
|
||||
export default websocketReducer;
|
||||
23
redux/slices/lineVisibilitySlice.js
Normal file
23
redux/slices/lineVisibilitySlice.js
Normal file
@@ -0,0 +1,23 @@
|
||||
// /rdux/slices/lineVisibilitySlice.js
|
||||
import { createSlice } from "@reduxjs/toolkit";
|
||||
|
||||
const initialState = {
|
||||
activeLines: {}, // Speichert `idLD -> Active`
|
||||
};
|
||||
|
||||
const lineVisibilitySlice = createSlice({
|
||||
name: "lineVisibility",
|
||||
initialState,
|
||||
reducers: {
|
||||
updateLineStatus(state, action) {
|
||||
const { idLD, active } = action.payload;
|
||||
state.activeLines[idLD] = active; // Speichert `idLD` in Redux
|
||||
},
|
||||
setActiveLines(state, action) {
|
||||
state.activeLines = action.payload;
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
export const { updateLineStatus, setActiveLines } = lineVisibilitySlice.actions;
|
||||
export default lineVisibilitySlice.reducer;
|
||||
@@ -1,12 +1,9 @@
|
||||
// /redux/store.js
|
||||
import { configureStore } from "@reduxjs/toolkit";
|
||||
import websocketMiddleware from "./websocketMiddleware";
|
||||
import websocketReducer from "./reducer";
|
||||
import lineVisibilityReducer from "./slices/lineVisibilitySlice"; // Importiere deinen Slice
|
||||
|
||||
// Erstelle den Store mit configureStore
|
||||
const store = configureStore({
|
||||
reducer: websocketReducer,
|
||||
middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(websocketMiddleware),
|
||||
export const store = configureStore({
|
||||
reducer: {
|
||||
lineVisibility: lineVisibilityReducer, // Speichert `idLD -> Active`
|
||||
},
|
||||
});
|
||||
|
||||
export default store;
|
||||
|
||||
Reference in New Issue
Block a user