web feed intermediate

This commit is contained in:
Fabian Freund
2025-02-28 14:31:07 +01:00
parent 3c4d479bd9
commit 2a2311253b
51 changed files with 5503 additions and 0 deletions
@@ -0,0 +1,26 @@
import 'package:lensai/extensions/nullable.dart';
import 'package:lensai/features/web_feed/data/models/feed_filter.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'article_filter.g.dart';
@Riverpod(keepAlive: true)
class ArticleFilter extends _$ArticleFilter {
void addTag(String tagId) {
final tags = {...?state.tags, tagId};
state = state.copyWith.tags(tags);
}
void removeTag(String tagId) {
if (state.tags.isNotEmpty) {
final tags = {...state.tags!}..remove(tagId);
state = state.copyWith.tags(tags);
}
}
@override
FeedFilter build() {
return FeedFilter();
}
}
@@ -0,0 +1,27 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'article_filter.dart';
// **************************************************************************
// RiverpodGenerator
// **************************************************************************
String _$articleFilterHash() => r'dfc997af8a33cbcb995288ef633ff321e95bae8d';
/// See also [ArticleFilter].
@ProviderFor(ArticleFilter)
final articleFilterProvider =
NotifierProvider<ArticleFilter, FeedFilter>.internal(
ArticleFilter.new,
name: r'articleFilterProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$articleFilterHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$ArticleFilter = Notifier<FeedFilter>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package