diff --git a/layouts/default.vue b/layouts/default.vue index 07b482219..4db556779 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -35,16 +35,24 @@ class="avatar-menu-popover" style="padding-top: .5rem; padding-bottom: .5rem;" @mouseover="popoverMouseEnter" - @mouseleave="popoveMouseLeave" - > - Hallo {{ user.name }} + @mouseleave="popoveMouseLeave"> + Hallo {{ user.name }} + :is-exact="isExact" + style="margin-left: -15px; margin-right: -15px; padding-top: 1rem; padding-bottom: 1rem;"> + + {{ item.route.name }} + + - Logout + Logout @@ -80,7 +88,7 @@ export default { ...mapGetters({ user: 'auth/user', isLoggedIn: 'auth/isLoggedIn', - isAdmin: 'auth/isLoggedIn' + isAdmin: 'auth/isAdmin' }), routes() { if (!this.user.slug) { @@ -89,17 +97,20 @@ export default { let routes = [ { name: 'Mein Profil', - path: `/profile/${this.user.slug}` + path: `/profile/${this.user.slug}`, + icon: 'user' }, { name: 'Einstellungen', - path: `/settings` + path: `/settings`, + icon: 'cogs' } ] if (this.isAdmin) { routes.push({ name: 'Systemverwaltung', - path: `/admin` + path: `/admin`, + icon: 'shield' }) } return routes @@ -113,6 +124,9 @@ export default { toggleMenu() { this.isPopoverOpen = !this.isPopoverOpen }, + isExact(url) { + return this.$route.path.indexOf(url) === 0 + }, popoverMouseEnter() { clearTimeout(mouseEnterTimer) clearTimeout(mouseLeaveTimer) diff --git a/store/auth.js b/store/auth.js index da4d567e7..c93ce87e2 100644 --- a/store/auth.js +++ b/store/auth.js @@ -37,12 +37,12 @@ export const getters = { return !!state.user && state.user.isVerified && !!state.user.name }, isAdmin(state) { - return !!state.user && state.user.role === 'ADMIN' + return !!state.user && state.user.role === 'admin' }, isModerator(state) { return ( !!state.user && - (state.user.role === 'ADMIN' || state.user.role === 'MODERATOR') + (state.user.role === 'admin' || state.user.role === 'moderator') ) }, user(state) {