File size: 697 Bytes
6e81cb0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { createSlice } from '@reduxjs/toolkit';

const initialState = {
  connected: false,
  latency: 23,
  subscriptions: ['system-metrics', 'ai-status', 'notifications'],
  lastUpdate: new Date().toISOString()
};

export const websocketSlice = createSlice({
  name: 'websocket',
  initialState,
  reducers: {
    websocketConnected: (state) => {
      state.connected = true;
    },
    websocketDisconnected: (state) => {
      state.connected = false;
    },
    updateLatency: (state, action) => {
      state.latency = action.payload;
    },
  },
});

export const { websocketConnected, websocketDisconnected, updateLatency } = websocketSlice.actions;
export default websocketSlice.reducer;