Newer
Older
<div
id="app"
:key="localeKey"
class="tw-flex tw-flex-col tw-min-h-screen"
>
<app-header
/>

Richard Blechinger
committed
<div
v-if="user.steeringUser !== null"
class="tw-flex-1 tw-flex tw-my-8"
>
<router-view
:modules="modules"
:user="user"
/>
</div>

Richard Blechinger
committed
<div
v-else
class="tw-flex-1 tw-flex tw-my-8"
>
<home

Richard Blechinger
committed
/>
</div>
<app-footer :modules="modules" />
</div>
</template>
<script>
import {translationVm} from '@/plugins/translation'
import header from './components/Header.vue'
import footer from './components/Footer.vue'
import Home from "./Pages/Home.vue"
export default {
name: 'App',
components: {

Richard Blechinger
committed
Home,
'app-header': header,
'app-footer': footer
},
computed: {
userOIDC() {
return this.$store.state.auth.userOIDC
},
user() {
return this.$store.state.auth.user
},
localeKey: () => translationVm.activeLocale,
modules: function () {
// Logged out
let modules = {}
// All icons used are taken from the Tango Project, which put them into public domain:
// http://tango.freedesktop.org
if (this.user.logged_in === true) {
modules = (this.user.steeringUser && this.user.steeringUser.is_superuser)
// Super user
? {
main: [
{
slug: 'shows',
title: this.$t('navigation.shows')
},
{
slug: 'files',
title: this.$t('navigation.filesPlaylists')
},
{
slug: 'calendar',
title: this.$t('navigation.calendar')
},
],
footer: [
{
slug: 'settings',
title: this.$t('navigation.settings'),
},
]
}
// Regular user
: {
main: [
{
slug: 'shows',
title: this.$t('navigation.shows')
},
{
slug: 'files',
title: this.$t('navigation.filesPlaylists')
},
],
}
}
return modules
},
},
created() {
this.$store.dispatch('auth/oidcInit')
},

Richard Blechinger
committed
methods: {
signIn() {
this.$store.dispatch('auth/signinRedirect')
},
signOut() {
this.$store.dispatch('auth/signoutRedirect')
},
}
}