From 6ffc9479c08f569da1318855ebfc2ee28b6d4ea7 Mon Sep 17 00:00:00 2001 From: Fabian Freund Date: Mon, 21 Jul 2025 23:08:50 +0200 Subject: [PATCH] refactor contaienr filter --- .../widgets/search_modules/tab_search.dart | 6 +++++- .../features/tabs/data/entities/container_filter.dart | 10 +--------- .../tabs/domain/providers/selected_container.dart | 6 ++++-- .../tabs/domain/providers/selected_container.g.dart | 2 +- 4 files changed, 11 insertions(+), 13 deletions(-) diff --git a/app/lib/features/geckoview/features/search/presentation/widgets/search_modules/tab_search.dart b/app/lib/features/geckoview/features/search/presentation/widgets/search_modules/tab_search.dart index f44bc2a5..c1db75dd 100644 --- a/app/lib/features/geckoview/features/search/presentation/widgets/search_modules/tab_search.dart +++ b/app/lib/features/geckoview/features/search/presentation/widgets/search_modules/tab_search.dart @@ -40,7 +40,11 @@ class TabSearch extends HookConsumerWidget { seamlessFilteredTabPreviewsProvider( TabSearchPartition.search, // ignore: provider_parameters - ContainerFilter.from(selectedContainer.value?.id), + selectedContainer.value?.id.mapNotNull( + (containerId) => + ContainerFilterById(containerId: containerId), + ) ?? + ContainerFilterDisabled(), ), ) .value; diff --git a/app/lib/features/geckoview/features/tabs/data/entities/container_filter.dart b/app/lib/features/geckoview/features/tabs/data/entities/container_filter.dart index d3cff8d9..509a4a9c 100644 --- a/app/lib/features/geckoview/features/tabs/data/entities/container_filter.dart +++ b/app/lib/features/geckoview/features/tabs/data/entities/container_filter.dart @@ -1,14 +1,6 @@ import 'package:fast_equatable/fast_equatable.dart'; -sealed class ContainerFilter with FastEquatable { - ContainerFilter(); - - factory ContainerFilter.from(String? containerId) { - return (containerId != null) - ? ContainerFilterById(containerId: containerId) - : ContainerFilterDisabled(); - } -} +sealed class ContainerFilter with FastEquatable {} class ContainerFilterById extends ContainerFilter { final String? containerId; diff --git a/app/lib/features/geckoview/features/tabs/domain/providers/selected_container.dart b/app/lib/features/geckoview/features/tabs/domain/providers/selected_container.dart index fe168b9c..2faa9506 100644 --- a/app/lib/features/geckoview/features/tabs/domain/providers/selected_container.dart +++ b/app/lib/features/geckoview/features/tabs/domain/providers/selected_container.dart @@ -144,8 +144,10 @@ Stream selectedContainerData(Ref ref) { AsyncValue selectedContainerTabCount(Ref ref) { final selectedContainer = ref.watch(selectedContainerProvider); final tabCount = ref.watch( - // ignore: provider_parameters - containerTabCountProvider(ContainerFilter.from(selectedContainer)), + containerTabCountProvider( + // ignore: provider_parameters + ContainerFilterById(containerId: selectedContainer), + ), ); return tabCount; diff --git a/app/lib/features/geckoview/features/tabs/domain/providers/selected_container.g.dart b/app/lib/features/geckoview/features/tabs/domain/providers/selected_container.g.dart index 5c73f314..f95f1709 100644 --- a/app/lib/features/geckoview/features/tabs/domain/providers/selected_container.g.dart +++ b/app/lib/features/geckoview/features/tabs/domain/providers/selected_container.g.dart @@ -26,7 +26,7 @@ final selectedContainerDataProvider = // ignore: unused_element typedef SelectedContainerDataRef = AutoDisposeStreamProviderRef; String _$selectedContainerTabCountHash() => - r'60218b4a9058738dfd43628d5e3c55f93080732f'; + r'0fd457793f7870050f81c54d2fbcc81aca60f394'; /// See also [selectedContainerTabCount]. @ProviderFor(selectedContainerTabCount)