Перейти к основному содержимому

Navigation and Shell

Основная модель

Клиент построен вокруг трех основных tab flows:

  • Projects
  • Ranking / Statistics
  • Information

Поверх tab shell открываются detail-экраны, фильтры, dialogs и вложенные settings/profile flows.

Root shell

Главный контейнер собирается в MainScreen и держит:

  • выбранную вкладку;
  • видимость таббара;
  • overlay-навигацию для вложенных экранов;
  • ограничения для guest mode.

Custom Tab Bar

Нижний tab bar не использует стандартный системный вид. Он реализован как кастомный Compose-компонент с:

  • выделенным active indicator;
  • собственной анимацией переключения;
  • кастомными иконками разделов;
  • визуальным акцентом на центральном статистическом разделе.

Для документации важны не точные пиксели, а поведенческий контракт:

  • активная вкладка должна быть очевидна визуально;
  • переключение табов не должно ломать внутренние state экранов;
  • detail flow не должен сбрасывать текущий tab selection.

Ограничения навигации

  • guest user не получает доступ к ranking/statistics stack;
  • часть project detail content скрывается без авторизации;
  • auth flow определяет, попадет ли пользователь сразу в tab shell или пройдет через onboarding.

Что стоит поддерживать актуальным

  • состав основных tab flows;
  • правила видимости разделов для guest/auth users;
  • список экранов, которые открываются поверх tab shell;
  • места, где навигация зависит от auth state или backend response.