docs: describe compact portfolio totals

This commit is contained in:
2026-09-09 10:31:08 +03:00
parent b0e747fdee
commit 2985def574
+28
View File
@@ -43,6 +43,28 @@ Metadata инструмента ищется сначала по instrument UID,
Первый запрос крупного Portfolio может выполнить много metadata lookup. Если настроенный per-instance лимит T-Bank RPC недостаточен и локальная очередь переполняется, увеличьте `TBANK_RATE_LIMIT_PER_SECOND` в рамках upstream-квоты; после успешного lookup metadata остаётся в 24-часовом in-memory cache.
## Валютная сводка
Над составом портфеля каждый полученный валютный итог показан отдельной
компактной карточкой. На узком экране карточки идут в одну колонку, на широком
— в две или три. Метка и сумма расположены в одной строке, пока хватает места;
длинная сумма переносится под метку и при необходимости на несколько строк
без обрезания и горизонтальной прокрутки.
Для RUB, USD и EUR сводка использует знаки ₽, $ и € в метке и после суммы.
Вспомогательным технологиям доступны названия «Российский рубль», «Доллар США»
и «Евро» вместе с полным значением. Остальные валюты сохраняют исходный ISO-код,
поэтому USD и CAD остаются различимыми. Карточки не интерактивны.
Суммы форматируются из decimal strings с пробелами между разрядами и десятичной
запятой: сохраняются все цифры, дробные нули и отрицательный знак, включая
`-0,5`. Округления, сокращения до тысяч или миллионов и валютной конвертации нет.
Каждый итог уже включает позиции и доступные деньги своей валюты; frontend
не добавляет остатки повторно и не считает межвалютную общую стоимость.
Позиции без вычислимой стоимости не превращаются в нулевые суммы, поэтому
сводка не обещает полной оценки портфеля. Отсутствующие валюты не дополняются
карточками; при пустом списке итогов доступный состав портфеля остаётся видимым.
## Свежесть и ошибки
При первом открытии Portfolio frontend показывает structural skeleton заголовка,
@@ -50,6 +72,12 @@ Metadata инструмента ищется сначала по instrument UID,
recent operations и future events заменяются skeleton только внутри своего
section; Portfolio и соседние sections остаются доступными. Skeleton placeholders
декоративны, не содержат пользовательских данных и не получают keyboard focus.
Область сводки содержит три формы компактных карточек в той же адаптивной сетке;
это не обещает три валюты в ответе. Загрузка имеет доступное busy-обозначение.
При фоновом обновлении и его ошибке сводка сохраняет прежние суммы и время
успешного получения в UTC. Повторная попытка доступна с клавиатуры; новый
успешный ответ обновляет суммы и время и снимает клиентскую ошибку, а server-side
stale-предупреждение зависит от `isStale` нового ответа.
- Backend хранит успешный полный Snapshot для пары User и Brokerage Account свежим 30 секунд.
- До cache hit backend разрешает текущее persisted T-Bank connection. Snapshot повторно используется только внутри непрозрачной generation этого connection; при cache miss доступ к Brokerage Account проверяется до финансовых T-Bank RPC.