Merge remote-tracking branch 'origin/master' into i18n-pure

This commit is contained in:
Grzegorz Leoniec 2018-12-18 12:02:56 +01:00
commit ee6bb7dc2d
No known key found for this signature in database
GPG Key ID: 3AA43686D4EB1377
2 changed files with 26 additions and 12 deletions

View File

@ -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 <b>{{ user.name }}</b>
<ds-menu
:routes="routes"
style="margin-left: -15px; margin-right: -15px; padding-top: 1rem; padding-bottom: 1rem;"
/>
:is-exact="isExact"
style="margin-left: -15px; margin-right: -15px; padding-top: 1rem; padding-bottom: 1rem;">
<ds-menu-item
slot="Navigation"
slot-scope="item"
:route="item.route"
:parents="item.parents"
@click.native="toggleMenu">
<ds-icon :name="item.route.icon" /> {{ item.route.name }}
</ds-menu-item>
</ds-menu>
<ds-space margin="xx-small" />
<nuxt-link :to="{ name: 'logout'}">
Logout
<ds-icon name="sign-out" /> Logout
</nuxt-link>
</div>
</v-popover>
@ -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)

View File

@ -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) {