Appearance
Внутренняя страница портфолио монеты
Страница детального просмотра конкретного актива в портфолио. Маршрут: /portfolio/:coinId. Компонент: pages/portfolio/_overview.vue.
Структура страницы
Страница состоит из двух колонок (на десктопе: 71.5% / 28.5%):
Левая колонка
1. Навигация (breadcrumbs)
Ссылка возврата на главную страницу портфолио /portfolio.
2. Шапка монеты (CoinHeader)
- Логотип, полное название и символ монеты
- Рыночный ранг
- Кнопка «Избранное» — добавить/убрать монету из избранного
- Ссылка на раздел инвестирования
- Кнопка «Добавить транзакцию» — при скролле фиксируется
3. Карточки показателей (InfoShortGeneral)
Сетка карточек с ключевыми метриками:
| Карточка | Описание | Формула |
|---|---|---|
| Баланс (акцентная) | Текущая стоимость + количество монет | holdings.cash / holdings.coins |
| Общая прибыль | Доход за всё время | total.profit / total.profitPercent |
| Инвестировано | Всего потрачено | total.invested |
| Реализованная прибыль | Прибыль от продаж | profit.realised |
| Нереализованная прибыль | Потенциальная прибыль | profit.unrealised |
| Средняя цена покупки | Средневзвешенная | avg |
| Доля в портфолио | Процент от общего | holdings.cash / totalPortfolioCash × 100 |
| Прибыль/убыток | Изменение стоимости | По рыночной цене |
Каждая карточка поддерживает режим «скрытия данных» (кнопка-глазик).
4. График транзакций (TransactionsChart)
- Линейный график изменения стоимости позиции во времени
- Переключатель периода с кастомным выбором дат
- Данные: слияние истории цен с бекенда и точек транзакций
5. Таблица транзакций
- Только транзакции текущей монеты
- Пагинация (10/20/30/40/50)
- Группировка по датам
- При клике — открытие ViewTransactionPopup
Правая колонка
6. Статистика монеты (StatisticsCrypto)
Данные с бекенда:
- Текущая цена в выбранной валюте
- Максимум/минимум за 24ч
- Объём торгов
- Ранг по рыночной капитализации
- Рыночная капитализация
- ATH (исторический максимум) с датой и % от текущей
- ATL (исторический минимум) с датой и % от текущей
7. Распределение холдингов (HoldingsChart)
- Круговая диаграмма (eCharts) всех активов портфолио
- Текущий актив выделен
- Активы с долей < 2% группируются в «Другие»
8. Конвертер (опционально)
- Виджет обмена криптовалют (ChangeNow)
- Показывается если монета поддерживается
9. Заметки пользователя (UserNotes)
- Независимые заметки (не привязанные к транзакциям)
- Показываются если включена функция Notes
10. Импорт/Экспорт
- Секция с кнопками импорта и экспорта транзакций
Адаптивное поведение
| Размер экрана | Поведение |
|---|---|
| Desktop (md+) | 2 колонки: 71.5% + 28.5% |
| Tablet (md) | Статистика в 2 колонки, таблица с горизонтальным скроллом |
| Mobile (xs) | 1 колонка, показатели сгруппированы в контейнер |
Неактивная монета
Если монета делистована (is_active: false):
- Отображается бейдж «inactive»
- Показывается дата последнего обновления
- Некоторые операции заблокированы