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>(( 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); }