import types from '../types' const authInitialState = { token: null, user: {}, groups: {}, initialized: false, loading: false, isAuthenticated: false, returnTo: null, } const auth = (state = authInitialState, action) => { switch(action.type) { case types.auth.set_token: return { ...state, token: action.data, isAuthenticated: !!action.data, loading: false, error: null, } case types.auth.initialized: return { ...state, loading: false, initialized: true, error: null, } case types.auth.loading: return { ...state, loading: true, error: null, } case types.auth.set_current_user: return { ...state, loading: false, initialized: true, isAuthenticated: true, user: action.data, error: null, } case types.auth.set_return_to: return { ...state, returnTo: action.data, } case types.auth.logout_user: return { ...authInitialState } case types.auth.set_error: return { ...state, loading: false, error: action.data, } case types.auth.loading: // const initial_state_el = document.querySelector('#initial_state') // if (initial_state_el) { // try { // const initial_state = JSON.parse(initial_state_el.innerHTML) // if (initial_state && initial_state.auth && initial_state.auth.user) { // console.log(initial_state.auth.user) // return { // ...state, // user: { // ...initial_state.auth.user, // } // } // } // } catch (e) { // console.error("error loading initial state") // } // } return state default: return state } } export default auth