diff --git a/src/App.vue b/src/App.vue index fba2208..4ac5743 100644 --- a/src/App.vue +++ b/src/App.vue @@ -189,13 +189,43 @@ onMounted(() => { if (localStorage.getItem('userToken') && !isAuthenticated.value) { fetchUser().then(() => { if (isAuthenticated.value) { - fetchConversations(); - setupSocketConnection(); + console.log('[App] Пользователь загружен, проверка статуса администратора:', user.value?.isAdmin); + + // Проверяем, является ли пользователь администратором + if (user.value?.isAdmin) { + console.log('[App] Пользователь является администратором, перенаправление на админ-панель'); + // Если да, перенаправляем на административную панель + if (route.path !== '/admin') { + const router = route.matched[0]?.instances.default?.$router; + if (router) { + router.push('/admin'); + } + } + } else { + // Для обычных пользователей + fetchConversations(); + setupSocketConnection(); + } } }); } else if (isAuthenticated.value) { - fetchConversations(); - setupSocketConnection(); + console.log('[App] Пользователь уже аутентифицирован, проверка статуса администратора:', user.value?.isAdmin); + + // Проверяем, является ли пользователь администратором + if (user.value?.isAdmin) { + console.log('[App] Пользователь является администратором, перенаправление на админ-панель'); + // Если да, перенаправляем на административную панель + if (route.path !== '/admin') { + const router = route.matched[0]?.instances.default?.$router; + if (router) { + router.push('/admin'); + } + } + } else { + // Для обычных пользователей + fetchConversations(); + setupSocketConnection(); + } } });