12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- 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' })
- },
- },
- }
|