import { createAction, NavigationActions } from '../../utils' import * as authService from '../../services/auth' import Theme from '../../containers/common/theme/config' import deviceStorage from '../../utils/storage' export default { namespace: 'theme', state: { appTheme: '', }, reducers: { // updateState(state, { payload }) { // return { ...state, ...payload }; // } updateState(state, { payload }) { return { ...state, ...payload } }, }, effects: { *getTheme(action, { call, put }) { try { let getColor if (action && action.payload && action.payload.getColor) { getColor = action.payload.getColor } else { getColor = yield call(deviceStorage.get, 'themeColor') if (getColor) { getColor = getColor.describeText } else { getColor = 'white' } } const res = Theme.switchTheme(getColor) // Theme.currentMap = res; // Theme.currentTheme = action.map; deviceStorage.set('themeColor', res) yield put(createAction('updateState')({ appTheme: res })) } catch (error) {} }, }, subscriptions: { setup({ dispatch }) { dispatch({ type: 'getTheme' }) }, }, }