1
0
Fork 0
mirror of https://github.com/em-squared/5e-drs.git synced 2025-10-29 20:54:19 +00:00
5e-drs/docs/.vuepress/theme/components/Navbar.vue

91 lines
2.7 KiB
Vue
Raw Normal View History

2020-03-28 10:42:54 +01:00
<template>
<v-app-bar :clipped-left="$vuetify.breakpoint.lgAndUp" :clipped-right="$vuetify.breakpoint.lgAndUp" :hide-on-scroll="$vuetify.breakpoint.mdAndDown" scroll-threshold="60" app color="#563f5a" dark>
2020-03-28 10:42:54 +01:00
<v-app-bar-nav-icon @click.stop="setDrawer" />
<v-toolbar-title class="ml-0 mr-4 pl-4">
2020-04-11 18:01:59 +02:00
<v-btn class="hidden-sm-and-down site-title" text link :to="{ path: '/' }"><img src="/dragon_blanc.svg" />&nbsp;{{ $site.title }}</v-btn>
2020-03-28 10:42:54 +01:00
</v-toolbar-title>
<SRDSearchBox v-if="$site.themeConfig.search !== false && $page.frontmatter.search !== false" />
<v-spacer class="hidden-sm-and-down" />
2020-04-18 15:27:29 +02:00
<v-btn class="hidden-sm-and-down" @click.stop="setIsThemeDark" icon>
<v-icon v-html="$vuetify.theme.dark ? 'mdi-brightness-4' : 'mdi-brightness-7'"></v-icon>
</v-btn>
<v-btn class="hidden-sm-and-down" @click.stop="toggleAboutDialog" icon>
<v-icon>mdi-information</v-icon>
</v-btn>
<v-btn class="ml-5" @click.stop="setRightDrawer" icon v-if="hasRightDrawer">
2020-04-02 14:20:33 +02:00
<v-icon>{{ rightDrawerIcon }}</v-icon>
2020-04-01 19:34:06 +02:00
</v-btn>
2020-03-28 10:42:54 +01:00
</v-app-bar>
</template>
<script>
import SRDSearchBox from '@theme/components/search/SRDSearchBox.vue'
export default {
name: 'Navbar',
components: {
// NavLinks,
SRDSearchBox
},
data () {
return {
2020-04-15 16:27:16 +02:00
aboutDialog: false
2020-03-28 10:42:54 +01:00
}
},
computed: {
drawer() {
return this.$store.state.drawer
2020-04-01 19:34:06 +02:00
},
rightDrawer() {
return this.$store.state.rightDrawer
},
hasRightDrawer() {
return this.$store.state.hasRightDrawer
2020-04-02 14:20:33 +02:00
},
inRightDrawer() {
return this.$store.state.inRightDrawer
},
rightDrawerIcon() {
if (this.inRightDrawer == 'pageToc') {
return 'mdi-format-list-bulleted'
} else if (this.inRightDrawer == 'spellFilters' || this.inRightDrawer == 'monsterFilters' || this.inRightDrawer == 'magicItemFilters') {
return 'mdi-filter'
2020-04-02 14:20:33 +02:00
}
return 'mdi-menu'
},
isOpenAboutDialog() {
return this.$store.state.isOpenAboutDialog
2020-03-28 10:42:54 +01:00
}
},
methods: {
setDrawer () {
this.$store.commit('setDrawer', !this.$store.state.drawer)
2020-04-01 19:34:06 +02:00
},
setRightDrawer () {
this.$store.commit('setRightDrawer', !this.$store.state.rightDrawer)
},
toggleAboutDialog () {
this.$store.commit('setIsOpenAboutDialog', !this.$store.state.isOpenAboutDialog)
2020-04-18 15:27:29 +02:00
},
setIsThemeDark () {
this.$vuetify.theme.dark = !this.$vuetify.theme.dark
this.$store.commit('setIsThemeDark', this.$vuetify.theme.dark)
2020-03-28 10:42:54 +01:00
}
2020-04-11 18:01:59 +02:00
},
mounted () {
this.$store.commit('setDrawer', this.$vuetify.breakpoint.lgAndUp)
2020-03-28 10:42:54 +01:00
}
}
</script>
<style lang="scss">
.site-title.theme--dark.v-btn--active:before {
opacity: 0;
}
</style>