From 721600b12de513a0cec631072e9215e1564bd1b0 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Fri, 26 Aug 2022 17:56:31 -0500 Subject: [PATCH] Add home page component; fix user state issues must be sure to keep "anonymous" user represented as {} instead of null, otherwise getting errors. this also fixes the menu upon user login; previously it wasn't showing most options --- src/components/app/ByjoveApp.vue | 2 +- src/components/home/ByjoveHome.vue | 55 ++++++++++++++++++++++++++++ src/components/home/index.js | 28 ++++++++++++++ src/components/index.js | 2 + src/components/login/ByjoveLogin.vue | 5 ++- src/components/menu/ByjoveMenu.vue | 6 +-- src/plugin.js | 2 +- 7 files changed, 93 insertions(+), 7 deletions(-) create mode 100644 src/components/home/ByjoveHome.vue create mode 100644 src/components/home/index.js diff --git a/src/components/app/ByjoveApp.vue b/src/components/app/ByjoveApp.vue index b8d18cd..78b0fd1 100644 --- a/src/components/app/ByjoveApp.vue +++ b/src/components/app/ByjoveApp.vue @@ -42,7 +42,7 @@ export default { this.$http.get('/api/session').then(response => { // let all of app know who the user is(n't) - this.$store.commit('SET_USER', response.data.user) + this.$store.commit('SET_USER', response.data.user || {}) this.$store.commit('SET_USER_IS_ADMIN', response.data.user ? response.data.user.is_admin : false) this.$store.commit('SET_USER_IS_ROOT', response.data.user ? response.data.user.is_root : false) diff --git a/src/components/home/ByjoveHome.vue b/src/components/home/ByjoveHome.vue new file mode 100644 index 0000000..df9da81 --- /dev/null +++ b/src/components/home/ByjoveHome.vue @@ -0,0 +1,55 @@ + + + diff --git a/src/components/home/index.js b/src/components/home/index.js new file mode 100644 index 0000000..d30b2ef --- /dev/null +++ b/src/components/home/index.js @@ -0,0 +1,28 @@ +// Import vue component +import ByjoveHome from './ByjoveHome.vue' + +// Declare install function executed by Vue.use() +export function install(Vue) { + if (install.installed) return; + install.installed = true; + Vue.component('ByjoveHome', ByjoveHome); +} + +// Create module definition for Vue.use() +const plugin = { + install, +}; + +// Auto-install when vue is found (eg. in browser via