Тема и общие виджеты (AssetIcon, ServiceMark, HelpTip, глоссарий), верхняя панель TopNav и вкладки Аналитики вместо NavSidebar, иконки PWA. Экраны: портфели, создание брокерского счёта, ручное событие, правка инструмента, Обзор карточками по скоупам и таблица активов, пересчёт метрик с опросом /metrics/status. design-system.md обновлён.
22 lines
779 B
Dart
22 lines
779 B
Dart
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);
|
|
}
|