2.9 KiB
2.9 KiB
Role Switch And Production Copy Design
Goal: Убрать из пользовательского интерфейса явную demo/PWA-подачу, добавить служебный сценарий быстрого входа по специальному email с выбором роли и подготовить аккуратную клиентскую ссылку для показа выбора доставки.
Scope
- Обычный рабочий OTP-вход остается основным сценарием.
- При вводе специального email
roles@localлогин переключается в локальный служебный режим:- пользователь выбирает роль
manager,logisticianилиdriver; - OTP не требуется;
- приложение авторизует пользователя через локальный fallback-профиль для выбранной роли.
- пользователь выбирает роль
- Из интерфейса убираются тексты и панели, которые прямо продают demo/PWA-режим.
- Для клиентского показа появляется локальный showcase-token с понятными слотами:
- завтра / послезавтра;
- до обеда / после обеда.
UX Decisions
- Служебный email не скрывается глубоко в коде: он поддерживается формой логина напрямую, чтобы им было удобно пользоваться на встрече.
- Тексты в логине и дашборде должны звучать как рабочий продукт, без слов
demo,демонстрация,PWA-версия,offline demo. - Быстрый вход по роли оформляется как сервисный режим доступа, а не как обучающий блок.
- Клиентская showcase-ссылка должна выглядеть как реальная страница подтверждения доставки, а не как технический мок.
Data Approach
- Для служебного role-switch входа используются уже существующие локальные профили ролей.
- Для showcase-клиента используется локально собранный invitation payload, без вызова Supabase.
- Боевой Supabase flow не меняется и продолжает обслуживать обычные invitation token.
Validation
- Тесты на логин покрывают:
- обычный OTP-copy без demo-текста;
- служебный режим по
roles@local; - выбор роли без OTP.
- Тесты client flow покрывают showcase invitation.
- После правок прогоняются таргетированные тесты UI и auth.