import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../models/announcement.dart'; import '../repositories/announcement_repository.dart'; import 'auth_provider.dart'; final announcementRepositoryProvider = Provider((ref) { final apiClient = ref.watch(apiClientProvider); return AnnouncementRepository(apiClient: apiClient); }); final announcementTypeFilterProvider = StateProvider.autoDispose((ref) => null); final announcementsProvider = FutureProvider.autoDispose((ref) async { final repository = ref.watch(announcementRepositoryProvider); final filterType = ref.watch(announcementTypeFilterProvider); return await repository.getAnnouncements(type: filterType); }); final announcementDetailProvider = FutureProvider.autoDispose.family((ref, id) async { final repository = ref.watch(announcementRepositoryProvider); return await repository.getAnnouncementDetail(id); });