From 417b24326996ec3987515244ce0512016a548809 Mon Sep 17 00:00:00 2001 From: Professional Date: Sun, 25 May 2025 23:41:35 +0700 Subject: [PATCH] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) 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(); + } } });