1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
import types from '../types'
const authInitialState = {
token: null,
user: {},
groups: {},
initialized: false,
loading: false,
isAuthenticated: false,
returnTo: null,
}
const auth = (state = authInitialState, action) => {
console.log(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
|