improve ghost text logic

This commit is contained in:
Fabian Freund
2026-02-27 20:39:06 +01:00
parent 4709bb563f
commit 51906ef61f
@@ -23,7 +23,6 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:nullability/nullability.dart';
import 'package:weblibre/features/bangs/data/models/bang_data.dart';
import 'package:weblibre/features/geckoview/features/search/domain/providers/engine_suggestions.dart';
import 'package:weblibre/features/user/domain/providers.dart';
@@ -79,14 +78,15 @@ class SearchField extends HookConsumerWidget {
if (showSuggestions) {
useOnListenableChange(textEditingController, () async {
if (textEditingController.text.isNotEmpty) {
if (suggestion.value.isNotEmpty &&
lastText.value.length > 1 &&
textEditingController.text ==
lastText.value.substring(0, lastText.value.length - 1)) {
if (textEditingController.text.isEmpty) {
suggestion.value = null;
} else if (textEditingController.text != lastText.value) {
final isDeleting =
textEditingController.text.length < lastText.value.length;
if (isDeleting) {
suggestion.value = null;
textEditingController.text = lastText.value;
} else if (textEditingController.text != lastText.value) {
} else {
final result = await ref
.read(engineSuggestionsProvider.notifier)
.getAutocompleteSuggestion(textEditingController.text);