2019-04-03 00:25:12 +02:00
|
|
|
<template lang="pug">
|
2022-06-11 12:00:14 +02:00
|
|
|
v-app-bar(app aria-label='Menu' height=64)
|
2020-07-25 21:41:22 +02:00
|
|
|
|
2022-06-11 12:00:14 +02:00
|
|
|
//- logo, title and description
|
|
|
|
v-list-item(:to='$route.name==="index"?"/about":"/"')
|
|
|
|
v-list-item-avatar.ma-xs-1(tile)
|
|
|
|
img(src='/logo.png' height='40')
|
|
|
|
v-list-item-content
|
|
|
|
v-list-item-title.d-flex
|
|
|
|
h2 {{settings.title}}
|
|
|
|
v-list-item-subtitle.d-none.d-sm-flex {{settings.description}}
|
2020-07-25 21:41:22 +02:00
|
|
|
|
2022-06-11 12:00:14 +02:00
|
|
|
v-spacer
|
|
|
|
v-btn(v-if='$auth.loggedIn || settings.allow_anon_event' icon nuxt to='/add' :aria-label='$t("common.add_event")' :title='$t("common.add_event")')
|
|
|
|
v-icon(large color='primary' v-text='mdiPlus')
|
2020-07-25 21:41:22 +02:00
|
|
|
|
2022-06-11 12:00:14 +02:00
|
|
|
v-btn(icon nuxt to='/export' :title='$t("common.share")' :aria-label='$t("common.share")')
|
|
|
|
v-icon(v-text='mdiShareVariant')
|
2020-07-25 21:41:22 +02:00
|
|
|
|
2022-06-11 12:00:14 +02:00
|
|
|
v-btn(v-if='!$auth.loggedIn' icon nuxt to='/login' :title='$t("common.login")' :aria-label='$t("common.login")')
|
|
|
|
v-icon(v-text='mdiLogin')
|
2022-02-04 22:35:15 +01:00
|
|
|
|
2022-06-11 12:00:14 +02:00
|
|
|
client-only
|
|
|
|
v-menu(v-if='$auth.loggedIn' offset-y eager)
|
|
|
|
template(v-slot:activator="{ on, attrs }")
|
|
|
|
v-btn(icon v-bind='attrs' v-on='on' title='Menu' aria-label='Menu')
|
|
|
|
v-icon(v-text='mdiDotsVertical')
|
|
|
|
v-list
|
|
|
|
v-list-item(nuxt to='/settings')
|
|
|
|
v-list-item-icon
|
|
|
|
v-icon(v-text='mdiCog')
|
|
|
|
v-list-item-content
|
|
|
|
v-list-item-title {{$t('common.settings')}}
|
2020-07-25 21:41:22 +02:00
|
|
|
|
2022-06-11 12:00:14 +02:00
|
|
|
v-list-item(v-if='$auth.user.is_admin' nuxt to='/admin')
|
|
|
|
v-list-item-icon
|
|
|
|
v-icon(v-text='mdiAccount')
|
|
|
|
v-list-item-content
|
|
|
|
v-list-item-title {{$t('common.admin')}}
|
2020-07-25 21:41:22 +02:00
|
|
|
|
2022-06-11 12:00:14 +02:00
|
|
|
v-list-item(@click='logout')
|
|
|
|
v-list-item-icon
|
|
|
|
v-icon(v-text='mdiLogout')
|
|
|
|
v-list-item-content
|
|
|
|
v-list-item-title {{$t('common.logout')}}
|
|
|
|
template(#placeholder)
|
|
|
|
v-btn(v-if='$auth.loggedIn' icon aria-label='Menu' title='Menu')
|
|
|
|
v-icon(v-text='mdiDotsVertical')
|
2020-07-25 21:41:22 +02:00
|
|
|
|
|
|
|
|
2022-06-11 12:00:14 +02:00
|
|
|
v-btn(icon target='_blank' :href='`${settings.baseurl}/feed/rss`' title='RSS' aria-label='RSS')
|
|
|
|
v-icon(color='orange' v-text='mdiRss')
|
2020-07-25 21:41:22 +02:00
|
|
|
|
2019-04-03 00:25:12 +02:00
|
|
|
</template>
|
|
|
|
<script>
|
2019-06-25 01:05:38 +02:00
|
|
|
import { mapState } from 'vuex'
|
2021-12-06 15:58:12 +01:00
|
|
|
import clipboard from '../assets/clipboard'
|
2022-02-08 14:45:19 +01:00
|
|
|
import { mdiPlus, mdiShareVariant, mdiLogin, mdiDotsVertical, mdiLogout, mdiAccount, mdiCog, mdiRss } from '@mdi/js'
|
|
|
|
|
2019-05-30 12:04:14 +02:00
|
|
|
|
2019-04-03 00:25:12 +02:00
|
|
|
export default {
|
|
|
|
name: 'Nav',
|
2022-02-08 14:45:19 +01:00
|
|
|
data () {
|
|
|
|
return { mdiPlus, mdiShareVariant, mdiLogout, mdiLogin, mdiDotsVertical, mdiAccount, mdiCog, mdiRss }
|
|
|
|
},
|
2021-12-06 15:58:12 +01:00
|
|
|
mixins: [clipboard],
|
2022-05-31 15:15:41 +02:00
|
|
|
computed: mapState(['settings']),
|
2019-05-30 12:04:14 +02:00
|
|
|
methods: {
|
|
|
|
logout () {
|
2020-10-07 11:12:13 +02:00
|
|
|
this.$root.$message('common.logout_ok')
|
2019-05-30 12:04:14 +02:00
|
|
|
this.$auth.logout()
|
2020-06-04 23:33:45 +02:00
|
|
|
}
|
2019-05-30 12:04:14 +02:00
|
|
|
}
|
2019-04-03 00:25:12 +02:00
|
|
|
}
|
|
|
|
</script>
|