feat(app): новый визуальный язык, верхняя навигация, портфели, создание счетов и ручные события
Тема и общие виджеты (AssetIcon, ServiceMark, HelpTip, глоссарий), верхняя панель TopNav и вкладки Аналитики вместо NavSidebar, иконки PWA. Экраны: портфели, создание брокерского счёта, ручное событие, правка инструмента, Обзор карточками по скоупам и таблица активов, пересчёт метрик с опросом /metrics/status. design-system.md обновлён.
This commit is contained in:
@@ -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);
|
||||
}
|
||||
Reference in New Issue
Block a user