From 1d0889c060b48ff522e110730dc8b3514277827a Mon Sep 17 00:00:00 2001 From: Fabian Freund Date: Tue, 11 Mar 2025 23:27:05 +0100 Subject: [PATCH] update selected container --- .../domain/providers/selected_container.dart | 18 ++++++++++++++++++ .../domain/providers/selected_container.g.dart | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) 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 81479e9f..11004519 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 @@ -1,8 +1,10 @@ import 'package:flutter_mozilla_components/flutter_mozilla_components.dart'; +import 'package:lensai/features/geckoview/domain/providers/selected_tab.dart'; import 'package:lensai/features/geckoview/features/tabs/data/models/container_data.dart'; import 'package:lensai/features/geckoview/features/tabs/data/providers.dart'; import 'package:lensai/features/geckoview/features/tabs/domain/providers.dart'; import 'package:lensai/features/geckoview/features/tabs/domain/repositories/container.dart'; +import 'package:lensai/features/geckoview/features/tabs/domain/repositories/tab.dart'; import 'package:lensai/features/user/domain/services/local_authentication.dart'; import 'package:riverpod/riverpod.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; @@ -81,6 +83,22 @@ class SelectedContainer extends _$SelectedContainer { } }); + ref.listen(selectedTabProvider, (previous, next) async { + if (next != null) { + final tabContainerId = await ref + .read(tabDataRepositoryProvider.notifier) + .containerTabId(next); + + if (tabContainerId != stateOrNull) { + if (tabContainerId != null) { + await setContainerId(tabContainerId); + } else { + clearContainer(); + } + } + } + }, fireImmediately: true); + return null; } } 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 eda3a1fb..31bc0fd0 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 = @Deprecated('Will be removed in 3.0. Use Ref instead') // ignore: unused_element typedef SelectedContainerDataRef = AutoDisposeStreamProviderRef; -String _$selectedContainerHash() => r'f3fbe035aff6902c8e140f02a3efeca20a75a70f'; +String _$selectedContainerHash() => r'07f534f8570135cdc47a2332d0eba9ff6fc5cf44'; /// See also [SelectedContainer]. @ProviderFor(SelectedContainer)