43 lines
4.4 KiB
Markdown
43 lines
4.4 KiB
Markdown
## Purpose
|
|
|
|
Позволяет User быстро переходить по иерархии защищённых инвестиционных маршрутов через хлебные крошки над содержимым страницы.
|
|
|
|
## ADDED 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** клиент сохраняет видимыми ближайшую родительскую крошку и текущую страницу, скрывая более дальние промежуточные крошки
|