fix: polish remote access and responsive UI

This commit is contained in:
benya
2026-07-22 23:18:09 +03:00
parent 15b5b7f792
commit ee2fb0a6c9
7 changed files with 298 additions and 29 deletions

57
UI_AUDIT_CHECKLIST.md Normal file
View File

@@ -0,0 +1,57 @@
# Полный UI/UX-аудит
Дата аудита: 2026-07-21. Production проверен на реальной учётной записи, изменения — на изолированной локальной Docker-сборке с фиктивным роутером и длинными тестовыми значениями.
## Авторизация и общий каркас
- [x] Вход, выход и понятное состояние ошибки авторизации.
- [x] Личный кабинет, профиль, e-mail, смена пароля и восстановление доступа представлены единообразно.
- [x] Header, боковая и мобильная навигация, отступы, фокус и зоны нажатия.
- [x] Loading, empty, offline, reconnecting, forbidden, timeout и server error используют общий визуальный язык.
- [x] Нет горизонтального overflow или недоступных действий в основном каркасе.
## Список и карточка роутера
- [x] Поиск, фильтры, обновление и длинные имена/ID/IPv6 не ломают сетку.
- [x] Статусы online/offline/reconnecting понятны по цвету и тексту.
- [x] Все шесть вкладок карточки проверены в 4:3 и на телефоне.
- [x] Широкие таблицы превращаются в карточки либо остаются внутри локального scroll-контейнера.
- [x] Мобильные действия и нижняя навигация остаются видимыми и доступными.
## Облачный LuCI
- [x] Верхняя и карточная кнопки используют один сценарий и не зависят от состояния друг друга.
- [x] Повторное нажатие блокируется на время запроса; открытая вкладка показывает состояние подключения.
- [x] Проверены starting, offline и expired; backend-тесты покрывают grant, cookie и проксирование.
- [x] Ошибки 401/403/404/409/429/502/504 имеют понятный текст, возврат в RMM и request ID.
- [x] Отдельная страница ошибки приведена к стилю кабинета и проверена на телефоне.
## Лендинг и motion
- [x] Последовательное появление hero без блокировки управления.
- [x] Scroll-reveal для возможностей, партнёров, безопасности и CTA.
- [x] Спокойные hover/press-переходы для CTA, навигации и партнёров.
- [x] Ненавязчивое движение фоновых градиентов без layout shift.
- [x] `prefers-reduced-motion: reduce` отключает декоративное движение.
- [x] Контент остаётся видимым при отключённом JavaScript.
## Матрица экранов
- [x] 1920×1080 — широкий desktop.
- [x] 1366×768 — ноутбук.
- [x] 1024×768 — формат 4:3.
- [x] 768×1024 — tablet portrait.
- [x] 390×844 — современный телефон.
- [x] 360×800 — узкий телефон.
## Качество
- [x] Видимый keyboard focus, логичный tab order и зоны нажатия не меньше 42 px для ключевых действий.
- [x] Диалоги ограничены viewport, прокручиваются внутри и предсказуемо закрываются.
- [x] Нет синтаксических ошибок JavaScript и необработанного горизонтального overflow.
- [x] Go tests/vet, Compose config, Docker build и проверка diff проходят.
## Ограничения production-проверки
- Смена пароля и e-mail на production намеренно не выполнялись, чтобы не изменять реальную учётную запись; формы и API покрыты локальной проверкой и автоматическими тестами.
- Исправления становятся видны на `rmm.daemonlord.ru` после развёртывания нового Docker-образа.