refactor consumption of settings with defaults

This commit is contained in:
Fabian Freund
2024-06-20 14:13:41 +02:00
parent 3c06c49397
commit db84e43e0a
14 changed files with 73 additions and 43 deletions
@@ -1,4 +1,5 @@
import 'package:bang_navigator/features/content_block/domain/repositories/host.dart';
import 'package:bang_navigator/features/settings/data/models/settings.dart';
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
@@ -8,12 +9,15 @@ part 'providers.g.dart';
Stream<Set<String>?> blockContentHosts(BlockContentHostsRef ref) {
final hostRepository = ref.watch(hostRepositoryProvider.notifier);
final enableContentBlocking = ref.watch(
settingsRepositoryProvider
.select((value) => value.valueOrNull?.enableContentBlocking ?? false),
settingsRepositoryProvider.select(
(value) =>
(value.valueOrNull ?? Settings.withDefaults()).enableContentBlocking,
),
);
final enableHostList = ref.watch(
settingsRepositoryProvider
.select((value) => value.valueOrNull?.enableHostList ?? {}),
settingsRepositoryProvider.select(
(value) => (value.valueOrNull ?? Settings.withDefaults()).enableHostList,
),
);
if (!enableContentBlocking || enableHostList.isEmpty) {