|
|
|
@ -1,4 +1,10 @@
|
|
|
|
|
import { createSlice, PayloadAction } from '@reduxjs/toolkit';
|
|
|
|
|
import type { GlobalConfig } from '../../model/config';
|
|
|
|
|
|
|
|
|
|
export const defaultGlobalConfig: GlobalConfig = {
|
|
|
|
|
uploadFileLimit: 1 * 1024 * 1024,
|
|
|
|
|
emailVerification: false,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export interface GlobalState {
|
|
|
|
|
/**
|
|
|
|
@ -6,11 +12,13 @@ export interface GlobalState {
|
|
|
|
|
*/
|
|
|
|
|
networkStatus: 'initial' | 'connected' | 'reconnecting' | 'disconnected';
|
|
|
|
|
reconnectNum: number;
|
|
|
|
|
config: GlobalConfig;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const initialState: GlobalState = {
|
|
|
|
|
networkStatus: 'initial',
|
|
|
|
|
reconnectNum: 0,
|
|
|
|
|
config: defaultGlobalConfig,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const globalSlice = createSlice({
|
|
|
|
@ -26,6 +34,9 @@ const globalSlice = createSlice({
|
|
|
|
|
incReconnectNum(state) {
|
|
|
|
|
state.reconnectNum += 1;
|
|
|
|
|
},
|
|
|
|
|
setGlobalConfig(state, action: PayloadAction<GlobalConfig>) {
|
|
|
|
|
state.config = action.payload;
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|