import 'package:aioa_mobile/core/auth/authenticated_http_client.dart'; import 'package:aioa_mobile/core/config/runtime_config.dart'; import 'package:aioa_mobile/features/assistant/data/leave_progress_repository.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; final leaveProgressRepositoryProvider = Provider( (ref) => LeaveProgressRepository( client: ref.watch(authenticatedHttpClientProvider), baseUrl: RuntimeConfig.apiBaseUrl, ), ); final leaveProgressProvider = AsyncNotifierProvider( LeaveProgressController.new, ); class LeaveProgressController extends AsyncNotifier { String _question = ''; @override Future build() async => null; Future ask(String question, {String? selectedRequestId}) async { if (selectedRequestId == null) _question = question.trim(); state = const AsyncLoading(); state = await AsyncValue.guard( () => ref .read(leaveProgressRepositoryProvider) .ask(_question, selectedRequestId: selectedRequestId), ); } }