<template> <div v-if="$store.state.auth.user.steeringUser" class="tw-w-full" > <slot /> </div> <div v-else class="tw-w-full tw-text-center" > {{ $t('loading') }} </div> </template> <script> export default { created() { const user = this.$store.state.auth.user.steeringUser // We might not have a user at load-time. // In this case wait until the store gives us one. if (user === null) { this.$store.watch( (state) => state.auth.user.steeringUser, (user) => this.redirectToHome(user) ) return } this.redirectToHome(user) }, methods: { redirectToHome(user) { if (!user.is_superuser) { this.$toast.error(this.$t('auth.permissionError')) this.$router.push({name: 'home'}) } } } } </script>