fix(tradein/auth): always-available logout button on NoAccessScreen #1986
No reviewers
Labels
No labels
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
Fable 5 ревью
feedback/max
generative
GG-форсайт
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
вторичка
ИРД
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#1986
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "fix/tradein-logout-on-noaccess"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Проблема
Залоченный/без-доступа юзер в Mera (trade-in) попадает в тупик:
NoAccessScreen(экран для 403/denied/session/trial) не имеет кнопки выхода, аlogout()живёт только внутриUserMenu, который на этом экране не рендерится. Выйти можно было только через DevTools-консоль или полный перезапуск браузера.Фикс
logout()вынесен в общий utillib/logout.ts(basic-auth invalidation черезlogout:logout+ hard-reload на/).UserMenuимпортирует его (поведение без изменений).NoAccessScreenполучает accent-кнопку «Выйти» для всех вариантов (user/path/session/trial), под контентом карточки. Telegram-ссылка наtrialсохранена.frontend/) — MIRROR-инвариант.Проверка
npm run type-check(tsc --noEmit) → exit 0 в обоих фронтах.Заметки о дрейфе фронтов (применён эквивалент, не форс)
${API_BASE_URL}/api/v1/me(basePath/trade-in) vs main литеральный/api/v1/me— сохранил оригинальное поведение каждого.