import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'social_feed_models.dart'; import 'social_feed_service.dart'; /// Provider for SocialFeedService singleton. final socialFeedServiceProvider = Provider((ref) { FirebaseFirestore? firestore; try { firestore = FirebaseFirestore.instance; } catch (_) { firestore = null; } final service = SocialFeedService(firestore: firestore); ref.onDispose(() { service.dispose(); }); return service; }); /// State provider for the active feed filter tab. final feedFilterStateProvider = StateProvider((ref) { return FeedFilter.allActivity; }); /// Stream provider for the filtered community social feed. final socialFeedStreamProvider = StreamProvider.autoDispose>((ref) { final service = ref.watch(socialFeedServiceProvider); final filter = ref.watch(feedFilterStateProvider); return service.getFeedStream(filter: filter); });