diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2018-05-26 17:10:56 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2018-05-26 17:10:56 +0200 |
| commit | 0157537cc049d4b13384b7042129a61f297f9132 (patch) | |
| tree | 58e9aab43450f0cae569a14c3e7f72f249414932 /app/client/system/system.reducer.js | |
| parent | 96e19464f98b868bd93b76ac842ec5b32a17cfb6 (diff) | |
pass thru if server/relay are connected
Diffstat (limited to 'app/client/system/system.reducer.js')
| -rw-r--r-- | app/client/system/system.reducer.js | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/app/client/system/system.reducer.js b/app/client/system/system.reducer.js index e581813..1b0e28f 100644 --- a/app/client/system/system.reducer.js +++ b/app/client/system/system.reducer.js @@ -9,6 +9,21 @@ const systemInitialState = { site: { name: 'Lens Cortex', }, + server: { + connected: false, + status: "disconnected", + error: null, + }, + relay: { + connected: false, + status: "unknown", + error: null, + }, + rpc: { + connected: false, + status: "unknown", + error: null, + }, cmd: { loading: false, loaded: false, @@ -111,6 +126,63 @@ const systemInitialState = { const systemReducer = (state = systemInitialState, action) => { switch(action.type) { + case types.socket.connect: + case types.socket.reconnecting: + return { + ...state, + server: { + status: 'connected', + connected: true, + error: null, + }, + } + case types.socket.reconnect: + return { + ...state, + server: { + status: 'reconnecting (attempt ' + action.attempt + ')', + connected: false, + error: null, + }, + } + case types.socket.connect_error: + case types.socket.reconnect_error: + case types.socket.disconnect: + case types.socket.reconnect_failed: + return { + ...state, + server: { + status: 'disconnected', + connected: false, + error: action.error || null, + }, + } + case types.socket.error: + return { + ...state, + server: { + ...state.socket, + error: action.error, + }, + } + case types.system.relay_connected: + return { + ...state, + relay: { + status: 'connected', + connected: true, + error: null, + } + } + case types.system.relay_disconnected: + return { + ...state, + relay: { + status: 'disconnected', + connected: false, + error: null, + } + } case types.system.running_command: return { ...state, |
