Add session_established flag in global store

This commit is contained in:
Lance Edgar 2020-02-11 11:06:11 -06:00
parent 777f877dd5
commit a80a42fb56
2 changed files with 8 additions and 23 deletions

View file

@ -1,6 +1,6 @@
<template>
<!-- note, we do not show anything at all until we have user info -->
<div class="main-container" v-show="fetchedUserInfo">
<div class="main-container" v-show="$store.state.session_established">
<slot>
<p>TODO: put your nav in the default slot!</p>
</slot>
@ -28,12 +28,6 @@ export default {
default: true,
},
},
data() {
return {
// we will not display anything until we have user info
'fetchedUserInfo': false,
}
},
beforeCreate: function() {
// TODO: even with beforeCreate() this logic is still happening "too
@ -54,27 +48,14 @@ export default {
// also keep track of user's permissions
this.$store.commit('SET_PERMISSIONS', response.data.permissions)
// if user is anonymous, and requested logout page, send to login instead
// TODO: remove this
if (!response.data.user && this.$route.name == 'logout') {
this.$router.push('/login')
}
// declare the session established
this.$store.commit('SET_SESSION_ESTABLISHED', true)
// set background color, to whatever api said
// TODO: should this be the custom app's responsibility?
if (response.data.background_color) {
document.body.style.backgroundColor = response.data.background_color
}
// okay now we can let the app display. if this page needs to
// redirect based on new info, that should have happened by now?
this.fetchedUserInfo = true
}, response => { // error handler
// pretend that we *did* get user info, just so something displays
// TODO: should probably show some kind of warning also
this.fetchedUserInfo = true
})
},
mounted: function () {

View file

@ -1,11 +1,15 @@
export let ByjoveStoreConfig = {
state: {
session_established: false,
user: null,
user_is_root: null,
user_is_root: false,
permissions: [],
},
mutations: {
SET_SESSION_ESTABLISHED(state, established) {
state.session_established = established
},
SET_USER(state, user) {
state.user = user
},