|
@@ -1,4 +1,5 @@
|
|
import Vuex from 'vuex'
|
|
import Vuex from 'vuex'
|
|
|
|
+import md5 from 'md5'
|
|
|
|
|
|
const createStore = () => {
|
|
const createStore = () => {
|
|
return new Vuex.Store({
|
|
return new Vuex.Store({
|
|
@@ -7,7 +8,8 @@ const createStore = () => {
|
|
loading: false,
|
|
loading: false,
|
|
category: '',
|
|
category: '',
|
|
token: null,
|
|
token: null,
|
|
- country: 'us'
|
|
|
|
|
|
+ country: 'us',
|
|
|
|
+ user: null
|
|
},
|
|
},
|
|
mutations: {
|
|
mutations: {
|
|
setHeadLines (state, headlines) {
|
|
setHeadLines (state, headlines) {
|
|
@@ -24,6 +26,9 @@ const createStore = () => {
|
|
},
|
|
},
|
|
setToken (state, token) {
|
|
setToken (state, token) {
|
|
state.token = token
|
|
state.token = token
|
|
|
|
+ },
|
|
|
|
+ setUser (state, user) {
|
|
|
|
+ state.user = user
|
|
}
|
|
}
|
|
},
|
|
},
|
|
actions: {
|
|
actions: {
|
|
@@ -40,6 +45,9 @@ const createStore = () => {
|
|
'/register/',
|
|
'/register/',
|
|
userPayload
|
|
userPayload
|
|
)
|
|
)
|
|
|
|
+ const avatar = `http://gravatar.com/avatar/${md5(autuUserData.email)}?d=identicon`
|
|
|
|
+ const user = { email: autuUserData.email, avatar }
|
|
|
|
+ commit('setUser', user)
|
|
commit('setToken', autuUserData.idToken)
|
|
commit('setToken', autuUserData.idToken)
|
|
commit('setLoading', false)
|
|
commit('setLoading', false)
|
|
} catch (error) {
|
|
} catch (error) {
|
|
@@ -52,7 +60,8 @@ const createStore = () => {
|
|
loading: state => state.loading,
|
|
loading: state => state.loading,
|
|
category: state => state.category,
|
|
category: state => state.category,
|
|
country: state => state.country,
|
|
country: state => state.country,
|
|
- isAuthenticated: state => !!state.token
|
|
|
|
|
|
+ isAuthenticated: state => !!state.token,
|
|
|
|
+ user: state => state.user
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
}
|