fix search start for weblibre search bang

This commit is contained in:
Fabian Freund
2026-05-24 10:30:50 +02:00
parent 0b0ef38636
commit 46a3b250c2
7 changed files with 65 additions and 2 deletions
@@ -26,6 +26,7 @@ import 'package:url_launcher/url_launcher.dart';
import 'package:weblibre/core/logger.dart';
import 'package:weblibre/core/providers/router.dart';
import 'package:weblibre/core/routing/routes.dart';
import 'package:weblibre/features/bangs/data/models/web_search_bang.dart';
import 'package:weblibre/features/bangs/domain/providers/bangs.dart';
import 'package:weblibre/features/geckoview/domain/providers/selected_tab.dart';
import 'package:weblibre/features/geckoview/domain/providers/tab_state.dart';
@@ -83,6 +84,20 @@ GeckoSelectionActionService selectionActionService(Ref ref) {
.effectiveDefaultCreateTabType,
);
if (isWebSearchBang(searchBang)) {
final router = await ref.read(routerProvider.future);
if (!ref.mounted) return;
await router.push(
SearchRoute(
tabType: tabMode.toTabType(),
searchText: text,
autoSubmitSearch: true,
).location,
);
return;
}
await ref
.read(tabRepositoryProvider.notifier)
.addTab(
@@ -55,7 +55,7 @@ final class SelectionActionServiceProvider
}
String _$selectionActionServiceHash() =>
r'78593799e8d903de415cf49ebb3acfb73e45d878';
r'c2cdd69d3dc4c2fe4bb54658d76ca26efb5bfc74';
@ProviderFor(eventService)
final eventServiceProvider = EventServiceProvider._();