supersam/docs/superpowers/specs/2026-04-14-role-switch-and-...

2.9 KiB
Raw Permalink Blame History

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.