import jwt_decode from "jwt-decode"; export function authReducer(state, { type, token }) { if (!state) { if (localStorage.authToken) { type = 'AUTH_LOGIN' token = localStorage.authToken } else state = {} } if (type === 'AUTH_LOGIN') { localStorage.setItem('authToken', token) let payload = jwt_decode(token) if (typeof payload === 'object') { return { ...state, token, payload } } else return state } if (type === 'AUTH_LOGOUT') { localStorage.removeItem('authToken') return {} } return state } export const actionAuthLogin = token => ({ type: 'AUTH_LOGIN', token }) export const actionAuthLogout = () => ({ type: 'AUTH_LOGOUT' })