import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../../../backend/backend.dart'; import '../../../core/utils/result.dart'; final providersControllerProvider = AsyncNotifierProvider>( ProvidersController.new, ); class ProvidersController extends AsyncNotifier> { @override Future> build() => _load(); Future toggle(String id, bool enabled) async { await ref.read(providerManagerProvider).enableProvider(id, enabled); state = AsyncData(await _load()); } Future save(ContentProviderConfig config) async { await ref.read(providerManagerProvider).addCustomProvider(config); state = AsyncData(await _load()); } Future delete(String id) async { await ref.read(providerManagerProvider).deleteProvider(id); state = AsyncData(await _load()); } Future> _load() async { final result = await ref.read(providerManagerProvider).loadConfigs(enabledOnly: false); return result is Success> ? result.data : const []; } } final providerHealthProvider = StateProvider>((ref) => {});