respect edit mode in history search

This commit is contained in:
Fabian Freund
2026-01-22 10:02:40 +01:00
parent b2cc9c7779
commit 9ddf1daea9
3 changed files with 33 additions and 257 deletions
@@ -426,8 +426,36 @@ class SearchScreen extends HookConsumerWidget {
TabSearch(searchTextListenable: sampledSearchText),
FeedSearch(searchTextNotifier: sampledSearchText),
HistorySuggestions(
isPrivate: privateTabMode,
searchTextListenable: sampledSearchText,
onUriSelected: (uri) async {
if (isEditMode) {
// Load into existing tab
await ref
.read(tabSessionProvider(tabId: tabId).notifier)
.loadUrl(url: uri);
} else {
// Create new tab
await ref
.read(tabRepositoryProvider.notifier)
.addTab(
url: uri,
private: privateTabMode,
parentId: (selectedTabType.value == TabType.child)
? ref.read(selectedTabProvider)
: null,
launchedFromIntent: launchedFromIntent,
selectTab: true,
);
}
if (context.mounted) {
ref
.read(bottomSheetControllerProvider.notifier)
.requestDismiss();
const BrowserRoute().go(context);
}
},
),
],
);
@@ -25,9 +25,6 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:nullability/nullability.dart';
import 'package:skeletonizer/skeletonizer.dart';
import 'package:sliver_tools/sliver_tools.dart';
import 'package:weblibre/core/routing/routes.dart';
import 'package:weblibre/features/geckoview/domain/controllers/bottom_sheet.dart';
import 'package:weblibre/features/geckoview/domain/repositories/tab.dart';
import 'package:weblibre/features/geckoview/features/search/domain/providers/engine_suggestions.dart';
import 'package:weblibre/features/geckoview/utils/image_helper.dart';
import 'package:weblibre/presentation/hooks/cached_future.dart';
@@ -35,12 +32,12 @@ import 'package:weblibre/presentation/widgets/failure_widget.dart';
import 'package:weblibre/presentation/widgets/uri_breadcrumb.dart';
class HistorySuggestions extends HookConsumerWidget {
final bool isPrivate;
final ValueListenable<TextEditingValue> searchTextListenable;
final void Function(Uri uri) onUriSelected;
const HistorySuggestions({
super.key,
required this.isPrivate,
required this.onUriSelected,
required this.searchTextListenable,
});
@@ -121,23 +118,9 @@ class HistorySuggestions extends HookConsumerWidget {
overflow: TextOverflow.ellipsis,
),
),
onTap: () async {
onTap: () {
if (uri != null) {
await ref
.read(tabRepositoryProvider.notifier)
.addTab(
url: uri,
private: isPrivate,
selectTab: true,
);
if (context.mounted) {
ref
.read(bottomSheetControllerProvider.notifier)
.requestDismiss();
const BrowserRoute().go(context);
}
onUriSelected(uri);
}
},
);