diff --git a/sojorn_app/lib/models/feed_filter.dart b/sojorn_app/lib/models/feed_filter.dart new file mode 100644 index 0000000..8d2fce7 --- /dev/null +++ b/sojorn_app/lib/models/feed_filter.dart @@ -0,0 +1,13 @@ +/// Filter options for the home feed +enum FeedFilter { + all('All Posts', null), + posts('Posts Only', 'post'), + quips('Quips Only', 'quip'), + chains('Chains Only', 'chain'), + beacons('Beacons Only', 'beacon'); + + final String label; + final String? typeValue; + + const FeedFilter(this.label, this.typeValue); +} diff --git a/sojorn_app/lib/screens/home/feed_personal_screen.dart b/sojorn_app/lib/screens/home/feed_personal_screen.dart index 2b2f550..014266c 100644 --- a/sojorn_app/lib/screens/home/feed_personal_screen.dart +++ b/sojorn_app/lib/screens/home/feed_personal_screen.dart @@ -3,6 +3,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../../providers/api_provider.dart'; import '../../providers/feed_refresh_provider.dart'; import '../../models/post.dart'; +import '../../models/feed_filter.dart'; import '../../theme/app_theme.dart'; import '../../widgets/sojorn_post_card.dart'; import '../../widgets/app_scaffold.dart'; @@ -23,6 +24,7 @@ class _FeedPersonalScreenState extends ConsumerState { bool _isLoading = false; bool _hasMore = true; String? _error; + FeedFilter _currentFilter = FeedFilter.all; @override void initState() {