Appearance
Виджеты сервиса портфолио
Виджеты — компоненты, которые отображаются за пределами основных страниц портфолио, интегрируя функционал портфолио в другие разделы приложения.
1. Кнопка портфолио на странице монеты (CoinWithPortfolioButton)
Расположение: modules/coinWithPortfolioButton/
Контекстная кнопка на странице отдельной монеты (раздел coins). Поведение зависит от того, есть ли монета в портфолио:
| Состояние | Текст кнопки | Действие |
|---|---|---|
| Монеты нет в портфолио | «Добавить в портфолио» | addAssetHandler(coinId) — создаёт пустой ассет |
| Монета в портфолио | «Добавить транзакцию» | Открывает попап добавления транзакции |
Проверка выполняется через геттер Vuex:
javascript
isInPortfolio() {
return Object.keys(this.transactions).includes(this.coinData.id);
}2. Постер портфолио (PortfolioPoster)
Расположение: modules/portfolioPoster/
Универсальный компонент для отображения пустого состояния. Используется когда в портфолио нет транзакций.
Содержит:
- Изображение с фоновым паттерном (сетка)
- Заголовок и подзаголовок
- Основная кнопка действия (напр. «Добавить актив»)
- Дополнительная кнопка (напр. «Узнать больше» → онбординг)
Компонент принимает все данные через пропсы и полностью конфигурируемый.
3. Карточки прибыли/убытка (GainLossCards)
Расположение: modules/gainLossCards/
Компактные карточки для отображения прибыли/убытка по активу. Могут встраиваться в различные контексты.
4. Виджет холдинга (HoldingWidget)
Расположение: modules/holdingWidget/
Компактный виджет для быстрого отображения информации о конкретном холдинге.