<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>