summaryrefslogtreecommitdiffstats
path: root/webapp/src/store/global.js
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/src/store/global.js')
-rw-r--r--webapp/src/store/global.js24
1 files changed, 21 insertions, 3 deletions
diff --git a/webapp/src/store/global.js b/webapp/src/store/global.js
index 2a564e4..b08c751 100644
--- a/webapp/src/store/global.js
+++ b/webapp/src/store/global.js
@@ -1,3 +1,4 @@
+import axios from 'axios'
function loadSetting (name, defaultValue) {
const value = localStorage.getItem('settings.' + name)
switch (typeof defaultValue) {
@@ -20,17 +21,34 @@ export default {
mini: loadSetting('mini', true)
},
loginRedirect: null,
- userFullName: 'unnamed'
+ user: {
+ id: undefined,
+ name: undefined,
+ username: undefined,
+ email: undefined
+ }
},
getters: {
tabsDark: state => state.settings.dark || state.settings.coloredTabs,
tabsColor: state => state.settings.coloredTabs ? 'primary' : '',
tabsSliderColor: state => state.settings.coloredTabs ? 'white' : 'primary',
- userFullName: state => state.userFullName
+ user: state => state.user
},
mutations: {
setLoginRedirect: (state, value) => { state.loginRedirect = value },
saveSetting (state, { name, value }) { if (name in state.settings) state.settings[name] = value; localStorage.setItem('settings.' + name, value) },
- setUserFullName: (state, value) => { state.userFullName = value }
+ setUser: (state, value) => {
+ state.user.id = value.id
+ state.user.name = value.name
+ state.user.username = value.username
+ state.user.email = value.email
+ }
+ },
+ actions: {
+ loadUser (context) {
+ axios.get('/api/users/current').then(response => {
+ context.commit('setUser', response.data)
+ })
+ }
}
}