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 клиент сохраняет видимыми ближайшую родительскую крошку и текущую страницу, скрывая более дальние промежуточные крошки