Files
mirror-os-flutter/apps/remote/lib/providers/programs_provider.dart
T
2026-07-11 21:51:34 -05:00

26 lines
775 B
Dart

import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:mirror_core/mirror_core.dart';
final programsApiProvider = Provider<ProgramsApiClient>((ref) {
return ProgramsApiClient(baseUrl: 'http://192.168.86.172:8091');
});
final programsProvider =
AsyncNotifierProvider<ProgramsNotifier, List<Program>>(ProgramsNotifier.new);
class ProgramsNotifier extends AsyncNotifier<List<Program>> {
@override
Future<List<Program>> build() async {
final client = ref.read(programsApiProvider);
return client.fetchPrograms();
}
Future<void> refresh() async {
state = const AsyncValue.loading();
state = await AsyncValue.guard(() async {
final client = ref.read(programsApiProvider);
return client.fetchPrograms();
});
}
}