import type { PayloadAction } from "@reduxjs/toolkit"; import { createSlice } from "@reduxjs/toolkit"; export interface StatusState { status: "Online" | "Offline"; height: number; hasNetwork: boolean; isSuspended: boolean; } const initialState: StatusState = { status: "Offline", height: 0, hasNetwork: true, isSuspended: false, }; const statusSlice = createSlice({ name: 'status', initialState, reducers: { setHeight: (state, action: PayloadAction) => { if (action.payload > 0) { state.status = "Online"; } state.height = action.payload; }, setOffline: (state) => { state.status = "Offline"; }, setHasNetwork: (state, action: PayloadAction) => { state.hasNetwork = action.payload; }, setIsSuspended: (state, action: PayloadAction) => { state.isSuspended = action.payload; } } }); export const statusActions = statusSlice.actions; export const statusReducer = statusSlice.reducer;