feat: unify market/portfolio/system UI, improve exchange errors and asset valuation

This commit is contained in:
2026-04-22 18:21:34 +03:00
parent 2a9ef16524
commit 1fb72ced58
13 changed files with 2034 additions and 822 deletions

View File

@@ -0,0 +1,173 @@
# Trading Bot UI/UX Stabilization Milestone
## Что сделано
### 1. Унификация экранов
Приведены к единому UI-стандарту экраны:
- 📈 Рынок
- 💼 Портфель
- ⚙️ Система
Общий стиль:
- заголовок экрана
- строка режима аккаунта (`🔸 ДЕМО аккаунт` / `🔸 РЕАЛЬНЫЙ аккаунт`)
- единый стиль кнопок
- единый стиль ошибок
- единый стиль времени обновления
---
### 2. Экран Рынок
Улучшения:
- перевод строк на русский язык
- убрана техническая информация
- скрыта строка `Обновлено` в нормальном режиме
- добавлены понятные статусы
Показывает:
- Пара
- Цена
- Статус
- Тип инструмента
- Базовый актив
- Валюта котировки
- Шаг цены
---
### 3. Экран Портфель
Улучшения:
- компактный UI
- сортировка активов
- скрытие нулевых балансов
- общая оценка портфеля в USD
- оценка каждого актива в USD
- partial degradation state (`🟡`)
Состояния:
- нормальное
- частично загружено
- ошибка
---
### 4. Экран Система
Полностью переработан:
Показывает:
- статус приложения
- статус БД
- статус Telegram
- статус биржи
- статус аккаунта
- статус журнала
Состояния:
- 🟢 OK
- 🟡 warning
- 🔴 error
При авариях:
- добавляется описание под компонентом
- появляется кнопка обновления
- появляется строка времени обновления
---
### 5. Exchange Error UI
Создан единый renderer ошибок:
Типы ошибок:
- network
- auth
- time
- generic
Примеры:
- 🔴 Нет связи с биржей
- 🔴 Ошибка доступа к аккаунту
- 🔴 Ошибка времени
---
### 6. currency\_ui.py
Создан единый модуль:
Функции:
- format\_amount()
- format\_usd\_amount()
- estimate\_balance\_usd()
- render\_currency\_line()
- get\_asset\_usd\_rate()
Добавлено:
- иконки валют
- форматирование
- оценка активов
---
### 7. Автоподбор символа для оценки
Реализован умный подбор инструмента:
Приоритет:
1. USD
2. USDT
3. TRADING
4. SPOT
5. LEVERAGE
Пример: BTC/USD → BTC/USDT → BTC/USD\_LEVERAGE
---
### 8. UX улучшения
Добавлено:
- динамическая кнопка обновления
- now\_line()
- mode\_line()
---
## Commit
Рекомендуемый commit:
```bash
git add .
git commit -m "feat: unify market/portfolio/system UI, improve exchange errors and asset valuation"
```
---
## Следующие этапы
1. Compact mode portfolio
2. Loading-state UI
3. О продукте
4. Auto refresh
5. Cache exchange symbols