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