Newer
Older
<div id="app" class="tw-flex tw-flex-col tw-min-h-screen" :key="localeKey">
<app-header
:modules="modules"
:user="user"
/>
<div class="tw-flex-1 tw-flex tw-my-8">
<router-view/>
</div>
<app-footer />
</div>
</template>
<script>
import 'bootstrap/dist/css/bootstrap.css'
import 'bootstrap-vue/dist/bootstrap-vue.css'

Richard Blechinger
committed
import { translationVm } from '@/plugins/translation'
import header from './components/Header.vue'
import footer from './components/Footer.vue'
export default {
name: 'App',
components: {
'app-header': header,
'app-footer': footer
},
userOIDC () { return this.$store.state.auth.userOIDC },
user () { return this.$store.state.auth.user },

Richard Blechinger
committed
localeKey: () => translationVm.activeLocale,
modules: function () {

Richard Blechinger
committed
// Logged out
let modules = [
{ slug: 'home', title: this.$t('navigation.home') },
]
if (this.user.logged_in === true) {

Richard Blechinger
committed
modules = (this.user.steeringUser && this.user.steeringUser.is_superuser)
// Super user
? [ { slug: 'home', title: this.$t('navigation.home') },
{ slug: 'shows', title: this.$t('navigation.shows') },
{ slug: 'files', title: this.$t('navigation.filesPlaylists') },
{ slug: 'calendar', title: this.$t('navigation.calendar') }, ]
// Regular user
: [ { slug: 'home', title: this.$t('navigation.home') },
{ slug: 'shows', title: this.$t('navigation.shows') },
{ slug: 'files', title: this.$t('navigation.filesPlaylists') }, ]

Richard Blechinger
committed
return modules
},
this.$store.dispatch('auth/oidcInit')
methods: {
signIn () {
this.$store.dispatch('auth/signinRedirect')
},
signOut () {
this.$store.dispatch('auth/signoutRedirect')
}
}
</script>
<style>
/*
#app .content-width {
margin: auto;
width: 920px;
max-width: 920px;
}
*/