import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../models/fee.dart'; import '../repositories/fee_repository.dart'; import 'auth_provider.dart'; final feeRepositoryProvider = Provider((ref) { final apiClient = ref.watch(apiClientProvider); return FeeRepository(apiClient: apiClient); }); final feeStatusFilterProvider = StateProvider.autoDispose((ref) => null); final feeSummaryProvider = FutureProvider.autoDispose((ref) async { final repository = ref.watch(feeRepositoryProvider); return await repository.getFeeSummary(); }); final feeInvoicesProvider = FutureProvider.autoDispose((ref) async { final repository = ref.watch(feeRepositoryProvider); final status = ref.watch(feeStatusFilterProvider); return await repository.getInvoices(status: status); }); final feeInvoiceDetailProvider = FutureProvider.autoDispose.family((ref, id) async { final repository = ref.watch(feeRepositoryProvider); return await repository.getInvoiceDetail(id); }); final feePaymentsProvider = FutureProvider.autoDispose((ref) async { final repository = ref.watch(feeRepositoryProvider); return await repository.getPayments(); });