diff --git a/frontend/src/App.vue b/frontend/src/App.vue
index c766586..39ed8b1 100644
--- a/frontend/src/App.vue
+++ b/frontend/src/App.vue
@@ -72,9 +72,12 @@
// будет бесконечно ловить 401
startRealtime()
} else if (unauthorized) {
- // не залогинен — экран входа (ТЗ 3.17); после логина вернём на этот же адрес.
+ // не залогинен — экран входа (ТЗ 3.17); после логина вернём на этот же адрес
+ // (на самой /login ничего не делаем — уже там; return_to не заворачиваем).
// Сетевая ошибка (оффлайн) — не редиректим: оффлайн-оболочка без сети.
- void router.replace({ path: '/login', query: { return_to: route.fullPath } })
+ if (route.path !== '/login') {
+ void router.replace({ path: '/login', query: { return_to: route.fullPath } })
+ }
// настройки не запрашиваем: лишний 401 на /login ни к чему
return
}
diff --git a/frontend/src/views/LoginView.vue b/frontend/src/views/LoginView.vue
index ee925f9..c5b3323 100644
--- a/frontend/src/views/LoginView.vue
+++ b/frontend/src/views/LoginView.vue
@@ -1,20 +1,38 @@