Files
specs/openspec/specs/app-breadcrumb-navigation/spec.md
T
2026-08-14 14:30:20 +03:00

4.4 KiB

app-breadcrumb-navigation Specification

Purpose

Позволяет User быстро переходить по иерархии защищённых инвестиционных маршрутов через хлебные крошки над содержимым страницы.

Requirements

Requirement: Хлебные крошки доступны на защищённых маршрутах

Клиент SHALL показывать хлебные крошки над содержимым на защищённых маршрутах /accounts, /accounts/:accountId, /accounts/:accountId/operations и /settings. Клиент MUST NOT показывать хлебные крошки на public-маршрутах и странице несуществующего маршрута.

Scenario: User открывает список Brokerage Account

  • WHEN авторизованный User открывает /accounts
  • THEN клиент показывает единственную текущую крошку «Брокерские счета» над содержимым списка

Scenario: User открывает Settings

  • WHEN авторизованный User открывает /settings
  • THEN клиент показывает единственную текущую крошку «Настройки» над содержимым страницы

Requirement: Цепочка крошек отражает иерархию Brokerage Account

На /accounts/:accountId клиент SHALL показывать «Брокерские счета → <название счёта>». На /accounts/:accountId/operations клиент SHALL показывать «Брокерские счета → <название счёта> → Операции». Если название Brokerage Account недоступно, клиент MUST показывать «Счёт» вместо технического идентификатора.

Scenario: User открывает Portfolio счёта с доступным названием

  • WHEN авторизованный User открывает /accounts/:accountId и название Brokerage Account доступно
  • THEN клиент показывает его название как текущую крошку после ссылки «Брокерские счета»

Scenario: User открывает Account Ledger

  • WHEN авторизованный User открывает /accounts/:accountId/operations и название Brokerage Account доступно
  • THEN клиент показывает ссылку на список, ссылку на Portfolio этого счёта и текущую крошку «Операции» в указанном порядке без отдельного локального действия возврата к счёту

Scenario: Название Brokerage Account недоступно

  • WHEN клиент не получил название Brokerage Account для защищённого маршрута счёта
  • THEN клиент показывает «Счёт» и не показывает accountId

Requirement: Крошки предоставляют доступную адаптивную навигацию

Клиент SHALL делать ссылками только крошки, предшествующие текущей странице; текущая крошка MUST быть обычным текстом. На узком экране клиент MUST скрывать промежуточные крошки, сохраняя ближайшую родительскую крошку и текущую страницу.

Scenario: User выбирает предшествующую крошку

  • WHEN User выбирает крошку, предшествующую текущей странице
  • THEN клиент переходит по маршруту этой крошки

Scenario: Крошки показаны на узком экране

  • WHEN цепочка содержит более двух элементов и User открывает её на узком экране
  • THEN клиент сохраняет видимыми ближайшую родительскую крошку и текущую страницу, скрывая более дальние промежуточные крошки