filter bangs by categories

This commit is contained in:
Fabian Freund
2024-06-16 06:32:55 +02:00
parent 2993ca59ea
commit 04e8dc7c0e
10 changed files with 660 additions and 98 deletions
@@ -1,3 +1,5 @@
import 'dart:convert';
import 'package:bang_navigator/domain/services/generic_website.dart';
import 'package:bang_navigator/features/bangs/data/database/database.dart';
import 'package:bang_navigator/features/bangs/data/models/bang.dart';
@@ -27,6 +29,15 @@ class BangDataRepository extends _$BangDataRepository {
}
}
Stream<Map<String, List<String>>> watchCategories() {
return _db.categoriesJson().watchSingle().map((json) {
final decoded = jsonDecode(json) as Map<String, dynamic>;
return decoded.map(
(key, value) => MapEntry(key, (value as List<dynamic>).cast()),
);
});
}
Stream<int> watchBangCount(BangGroup group) {
return _db.bangDao.getBangCount(groups: [group]).watchSingle();
}
@@ -7,7 +7,7 @@ part of 'bang_data.dart';
// **************************************************************************
String _$bangDataRepositoryHash() =>
r'6ac3a59546f6d7e22f3c37aacd43a3579978eb50';
r'a6e4017a54516571af553426b0e8e3597d19f779';
/// See also [BangDataRepository].
@ProviderFor(BangDataRepository)