1234567891011121314151617181920212223242526272829 |
- 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' })
|