feat(app): новый визуальный язык, верхняя навигация, портфели, создание счетов и ручные события
Тема и общие виджеты (AssetIcon, ServiceMark, HelpTip, глоссарий), верхняя панель TopNav и вкладки Аналитики вместо NavSidebar, иконки PWA. Экраны: портфели, создание брокерского счёта, ручное событие, правка инструмента, Обзор карточками по скоупам и таблица активов, пересчёт метрик с опросом /metrics/status. design-system.md обновлён.
This commit is contained in:
@@ -38,7 +38,8 @@ const dimensionLabels = {
|
||||
'currency': 'Валюта',
|
||||
};
|
||||
|
||||
String assetClassLabel(String? value) => assetClassLabels[value] ?? value ?? '—';
|
||||
String assetClassLabel(String? value) =>
|
||||
assetClassLabels[value] ?? value ?? '—';
|
||||
|
||||
/// A bucket key as a person reads it. `cash` and `unknown` are the two literals the
|
||||
/// allocation step emits; everything else is the source's own value.
|
||||
@@ -89,7 +90,8 @@ const eventKindLabels = {
|
||||
'other': 'Прочее',
|
||||
};
|
||||
|
||||
String eventKindLabel(EventKind kind) => eventKindLabels[kind.value] ?? kind.value;
|
||||
String eventKindLabel(EventKind kind) =>
|
||||
eventKindLabels[kind.value] ?? kind.value;
|
||||
|
||||
/// `'0.1234'` as `'+12,34 %'`. Null becomes an em dash: a return nobody could compute is
|
||||
/// not zero percent.
|
||||
@@ -111,13 +113,17 @@ Color? signColor(BuildContext context, String? value) {
|
||||
if (value == null) return null;
|
||||
final d = Decimal.parse(value);
|
||||
if (d == Decimal.zero) return null;
|
||||
return d > Decimal.zero ? ChartColors.slot3Aqua : ChartColors.slot2Orange;
|
||||
return d > Decimal.zero ? ChartColors.gain : ChartColors.loss;
|
||||
}
|
||||
|
||||
/// The price-status chip every value on screen depends on: a stale price still produces a
|
||||
/// number, a missing one produces nothing at all, and both must be visible.
|
||||
class PriceStatusChip extends StatelessWidget {
|
||||
const PriceStatusChip({required this.status, required this.priceDate, super.key});
|
||||
const PriceStatusChip({
|
||||
required this.status,
|
||||
required this.priceDate,
|
||||
super.key,
|
||||
});
|
||||
|
||||
final String status;
|
||||
final DateTime? priceDate;
|
||||
|
||||
Reference in New Issue
Block a user