mainly refactoring & addons

This commit is contained in:
Fabian Freund
2024-10-29 10:03:24 +01:00
parent 91a4319b28
commit 0710116feb
127 changed files with 4234 additions and 1815 deletions
+2 -1
View File
@@ -3,6 +3,7 @@ import 'package:drift/native.dart';
import 'package:lensai/features/bangs/data/database/database.dart';
import 'package:path/path.dart' as p;
import 'package:path_provider/path_provider.dart' as path_provider;
import 'package:riverpod/riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:sqlite3/sqlite3.dart';
import 'package:sqlite3_flutter_libs/sqlite3_flutter_libs.dart';
@@ -11,7 +12,7 @@ import 'package:universal_io/io.dart';
part 'providers.g.dart';
@Riverpod(keepAlive: true)
BangDatabase bangDatabase(BangDatabaseRef ref) {
BangDatabase bangDatabase(Ref ref) {
return BangDatabase(
LazyDatabase(() async {
// put the database file, called db.sqlite here, into the documents folder
+4 -2
View File
@@ -6,7 +6,7 @@ part of 'providers.dart';
// RiverpodGenerator
// **************************************************************************
String _$bangDatabaseHash() => r'bbca2edf32faa378dcb6270b12019758d5156662';
String _$bangDatabaseHash() => r'd7964e9cdbb6e60fb6d2a78f07bfd4fa34bcb236';
/// See also [bangDatabase].
@ProviderFor(bangDatabase)
@@ -19,6 +19,8 @@ final bangDatabaseProvider = Provider<BangDatabase>.internal(
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef BangDatabaseRef = ProviderRef<BangDatabase>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// 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
@@ -23,4 +23,4 @@ final bangSourceServiceProvider =
typedef _$BangSourceService = AutoDisposeNotifier<void>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// 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
+10 -9
View File
@@ -2,31 +2,32 @@ import 'package:lensai/features/bangs/data/models/bang.dart';
import 'package:lensai/features/bangs/data/models/bang_data.dart';
import 'package:lensai/features/bangs/domain/repositories/data.dart';
import 'package:lensai/features/bangs/domain/repositories/sync.dart';
import 'package:riverpod/riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'providers.g.dart';
@Riverpod()
Stream<BangData?> bangData(BangDataRef ref, String? trigger) {
Stream<BangData?> bangData(Ref ref, String? trigger) {
final repository = ref.watch(bangDataRepositoryProvider.notifier);
return repository.watchBang(trigger);
}
@Riverpod(keepAlive: true)
Stream<BangData?> kagiSearchBangData(KagiSearchBangDataRef ref) {
Stream<BangData?> kagiSearchBangData(Ref ref) {
final repository = ref.watch(bangDataRepositoryProvider.notifier);
return repository.watchBang('kagi');
}
@Riverpod()
Stream<Map<String, List<String>>> bangCategories(BangCategoriesRef ref) {
Stream<Map<String, List<String>>> bangCategories(Ref ref) {
final repository = ref.watch(bangDataRepositoryProvider.notifier);
return repository.watchCategories();
}
@Riverpod()
Stream<List<BangData>> bangDataList(
BangDataListRef ref, {
Ref ref, {
({
Iterable<BangGroup>? groups,
String? domain,
@@ -44,14 +45,14 @@ Stream<List<BangData>> bangDataList(
}
@Riverpod()
Stream<List<BangData>> frequentBangDataList(FrequentBangDataListRef ref) {
Stream<List<BangData>> frequentBangDataList(Ref ref) {
final repository = ref.watch(bangDataRepositoryProvider.notifier);
return repository.watchFrequentBangs();
}
@Riverpod()
Future<BangData> bangDataEnsureIcon(
BangDataEnsureIconRef ref,
Ref ref,
BangData bang,
) {
final repository = ref.watch(bangDataRepositoryProvider.notifier);
@@ -62,7 +63,7 @@ Future<BangData> bangDataEnsureIcon(
@Riverpod()
Stream<DateTime?> lastSyncOfGroup(
LastSyncOfGroupRef ref,
Ref ref,
BangGroup group,
) {
final repository = ref.watch(bangSyncRepositoryProvider.notifier);
@@ -71,7 +72,7 @@ Stream<DateTime?> lastSyncOfGroup(
@Riverpod()
Stream<int> bangCountOfGroup(
BangCountOfGroupRef ref,
Ref ref,
BangGroup group,
) {
final repository = ref.watch(bangDataRepositoryProvider.notifier);
@@ -79,7 +80,7 @@ Stream<int> bangCountOfGroup(
}
@Riverpod()
Stream<double> bangIconCacheSizeMegabytes(BangIconCacheSizeMegabytesRef ref) {
Stream<double> bangIconCacheSizeMegabytes(Ref ref) {
final repository = ref.watch(bangDataRepositoryProvider.notifier);
return repository.watchIconCacheSize();
}
+28 -10
View File
@@ -6,7 +6,7 @@ part of 'providers.dart';
// RiverpodGenerator
// **************************************************************************
String _$bangDataHash() => r'd0e96885458be8893c6b19735b8792bdd1b9bcb8';
String _$bangDataHash() => r'057a002de9789ab74c8f3b337a43faa26b788d8d';
/// Copied from Dart SDK
class _SystemHash {
@@ -141,6 +141,8 @@ class BangDataProvider extends AutoDisposeStreamProvider<BangData?> {
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin BangDataRef on AutoDisposeStreamProviderRef<BangData?> {
/// The parameter `trigger` of this provider.
String? get trigger;
@@ -155,7 +157,7 @@ class _BangDataProviderElement
}
String _$kagiSearchBangDataHash() =>
r'4dbeaab0541d7c8214d097523d139eede2e3f975';
r'0bb5014a7af73ef6f5a36b0545d7a73e7ad0580a';
/// See also [kagiSearchBangData].
@ProviderFor(kagiSearchBangData)
@@ -169,8 +171,10 @@ final kagiSearchBangDataProvider = StreamProvider<BangData?>.internal(
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef KagiSearchBangDataRef = StreamProviderRef<BangData?>;
String _$bangCategoriesHash() => r'dbc63b78208be90c2aa3c3d61b08f98818f4b89d';
String _$bangCategoriesHash() => r'947fcfd2dffcc7f585c6ed7379d319f4fe72293a';
/// See also [bangCategories].
@ProviderFor(bangCategories)
@@ -185,9 +189,11 @@ final bangCategoriesProvider =
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef BangCategoriesRef
= AutoDisposeStreamProviderRef<Map<String, List<String>>>;
String _$bangDataListHash() => r'c4fbc1676be933b29ec88f503110c119fe8b6d86';
String _$bangDataListHash() => r'cd034fdf046b156ac452edd0857ac054ab477917';
/// See also [bangDataList].
@ProviderFor(bangDataList)
@@ -317,6 +323,8 @@ class BangDataListProvider extends AutoDisposeStreamProvider<List<BangData>> {
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin BangDataListRef on AutoDisposeStreamProviderRef<List<BangData>> {
/// The parameter `filter` of this provider.
({
@@ -342,7 +350,7 @@ class _BangDataListProviderElement
}
String _$frequentBangDataListHash() =>
r'adf8d0b72adfa8faffadd7f1a294ce3945e22fec';
r'27bc10ddf502266458af3910fff09bc8282a8e5c';
/// See also [frequentBangDataList].
@ProviderFor(frequentBangDataList)
@@ -357,9 +365,11 @@ final frequentBangDataListProvider =
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef FrequentBangDataListRef = AutoDisposeStreamProviderRef<List<BangData>>;
String _$bangDataEnsureIconHash() =>
r'69b59b582a7b165b8076a1478d0d433ec0846ccb';
r'423b8e92fd89ec328c2fcc8f9e55365c30633fd2';
/// See also [bangDataEnsureIcon].
@ProviderFor(bangDataEnsureIcon)
@@ -474,6 +484,8 @@ class BangDataEnsureIconProvider extends AutoDisposeFutureProvider<BangData> {
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin BangDataEnsureIconRef on AutoDisposeFutureProviderRef<BangData> {
/// The parameter `bang` of this provider.
BangData get bang;
@@ -488,7 +500,7 @@ class _BangDataEnsureIconProviderElement
BangData get bang => (origin as BangDataEnsureIconProvider).bang;
}
String _$lastSyncOfGroupHash() => r'4906dc24970eccda89d94697f98cf70e241ea4ec';
String _$lastSyncOfGroupHash() => r'23d07f3132ba9bb35a31f74e3a69698d31d4c569';
/// See also [lastSyncOfGroup].
@ProviderFor(lastSyncOfGroup)
@@ -603,6 +615,8 @@ class LastSyncOfGroupProvider extends AutoDisposeStreamProvider<DateTime?> {
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin LastSyncOfGroupRef on AutoDisposeStreamProviderRef<DateTime?> {
/// The parameter `group` of this provider.
BangGroup get group;
@@ -617,7 +631,7 @@ class _LastSyncOfGroupProviderElement
BangGroup get group => (origin as LastSyncOfGroupProvider).group;
}
String _$bangCountOfGroupHash() => r'10b363679230c0abf6a6ba7d0be2d0367a7ed215';
String _$bangCountOfGroupHash() => r'211ffcd7f49b637a7953f913dc5eafda344423f3';
/// See also [bangCountOfGroup].
@ProviderFor(bangCountOfGroup)
@@ -732,6 +746,8 @@ class BangCountOfGroupProvider extends AutoDisposeStreamProvider<int> {
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin BangCountOfGroupRef on AutoDisposeStreamProviderRef<int> {
/// The parameter `group` of this provider.
BangGroup get group;
@@ -746,7 +762,7 @@ class _BangCountOfGroupProviderElement
}
String _$bangIconCacheSizeMegabytesHash() =>
r'2199439f1b8a2692607231836769a10a24405181';
r'e08bfdc7bb47a56c079464478f0b8b5516b2effe';
/// See also [bangIconCacheSizeMegabytes].
@ProviderFor(bangIconCacheSizeMegabytes)
@@ -761,6 +777,8 @@ final bangIconCacheSizeMegabytesProvider =
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef BangIconCacheSizeMegabytesRef = AutoDisposeStreamProviderRef<double>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// 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
@@ -24,4 +24,4 @@ final bangDataRepositoryProvider =
typedef _$BangDataRepository = Notifier<void>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// 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
@@ -22,4 +22,4 @@ final bangSearchProvider =
typedef _$BangSearch = AutoDisposeStreamNotifier<List<BangData>>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// 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
@@ -24,4 +24,4 @@ final bangSyncRepositoryProvider =
typedef _$BangSyncRepository = Notifier<void>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// 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