diff --git a/app/lib/features/bangs/presentation/widgets/site_search.dart b/app/lib/features/bangs/presentation/widgets/site_search.dart index e17f33d7..1a0554e4 100644 --- a/app/lib/features/bangs/presentation/widgets/site_search.dart +++ b/app/lib/features/bangs/presentation/widgets/site_search.dart @@ -5,6 +5,7 @@ import 'package:go_router/go_router.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:lensai/features/bangs/data/models/bang_data.dart'; import 'package:lensai/features/bangs/domain/providers/search.dart'; +import 'package:lensai/features/geckoview/domain/providers/tab_session.dart'; import 'package:lensai/features/geckoview/domain/repositories/tab.dart'; import 'package:lensai/features/geckoview/features/browser/domain/providers.dart'; import 'package:lensai/features/geckoview/features/search/domain/providers/search_suggestions.dart'; @@ -17,11 +18,13 @@ import 'package:lensai/presentation/widgets/selectable_chips.dart'; class SiteSearch extends HookConsumerWidget { final String domain; final List availableBangs; + final bool searchInNewTab; const SiteSearch({ required this.domain, required this.availableBangs, super.key, + this.searchInNewTab = true, }); @override @@ -46,7 +49,13 @@ class SiteSearch extends HookConsumerWidget { .read(bangSearchProvider.notifier) .triggerBangSearch(activeBang, query); - await ref.read(tabRepositoryProvider.notifier).addTab(url: searchUri); + if (searchInNewTab) { + await ref.read(tabRepositoryProvider.notifier).addTab(url: searchUri); + } else { + await ref + .read(tabSessionProvider(tabId: null).notifier) + .loadUrl(url: searchUri); + } if (context.mounted) { context.pop(); diff --git a/app/lib/features/geckoview/features/browser/presentation/dialogs/web_page_dialog.dart b/app/lib/features/geckoview/features/browser/presentation/dialogs/web_page_dialog.dart index 1be67b43..62ddfa56 100644 --- a/app/lib/features/geckoview/features/browser/presentation/dialogs/web_page_dialog.dart +++ b/app/lib/features/geckoview/features/browser/presentation/dialogs/web_page_dialog.dart @@ -89,6 +89,7 @@ class WebPageDialog extends HookConsumerWidget { return SiteSearch( domain: url.host, availableBangs: availableBangs, + searchInNewTab: false, ); }, error: