feat(app): новый визуальный язык, верхняя навигация, портфели, создание счетов и ручные события

Тема и общие виджеты (AssetIcon, ServiceMark, HelpTip, глоссарий), верхняя панель TopNav и вкладки Аналитики вместо NavSidebar, иконки PWA. Экраны: портфели, создание брокерского счёта, ручное событие, правка инструмента, Обзор карточками по скоупам и таблица активов, пересчёт метрик с опросом /metrics/status. design-system.md обновлён.
This commit is contained in:
Dmitry
2026-09-19 22:14:21 +03:00
parent a559d6de3e
commit 62d36aa3e8
73 changed files with 6406 additions and 1192 deletions
@@ -0,0 +1,21 @@
import 'package:fintracker_api/fintracker_api.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../../core/api/api_client.dart';
import '../portfolio/providers.dart' show scopesProvider;
import '../rebalance/providers.dart' show portfoliosProvider;
final portfolioListProvider = FutureProvider.autoDispose<List<PortfolioOut>>((
ref,
) async {
final r = await ref.watch(apiProvider).getPortfoliosApi().portfoliosList();
return r.data ?? const [];
});
/// After any change the list, the scope picker and the rebalance screen's portfolio list
/// (both derived from scopes) must be refetched.
void invalidatePortfolios(WidgetRef ref) {
ref.invalidate(portfolioListProvider);
ref.invalidate(scopesProvider);
ref.invalidate(portfoliosProvider);
}