improve ghost text logic
This commit is contained in:
@@ -23,7 +23,6 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:flutter_hooks/flutter_hooks.dart';
|
import 'package:flutter_hooks/flutter_hooks.dart';
|
||||||
import 'package:hooks_riverpod/hooks_riverpod.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/bangs/data/models/bang_data.dart';
|
||||||
import 'package:weblibre/features/geckoview/features/search/domain/providers/engine_suggestions.dart';
|
import 'package:weblibre/features/geckoview/features/search/domain/providers/engine_suggestions.dart';
|
||||||
import 'package:weblibre/features/user/domain/providers.dart';
|
import 'package:weblibre/features/user/domain/providers.dart';
|
||||||
@@ -79,14 +78,15 @@ class SearchField extends HookConsumerWidget {
|
|||||||
|
|
||||||
if (showSuggestions) {
|
if (showSuggestions) {
|
||||||
useOnListenableChange(textEditingController, () async {
|
useOnListenableChange(textEditingController, () async {
|
||||||
if (textEditingController.text.isNotEmpty) {
|
if (textEditingController.text.isEmpty) {
|
||||||
if (suggestion.value.isNotEmpty &&
|
suggestion.value = null;
|
||||||
lastText.value.length > 1 &&
|
} else if (textEditingController.text != lastText.value) {
|
||||||
textEditingController.text ==
|
final isDeleting =
|
||||||
lastText.value.substring(0, lastText.value.length - 1)) {
|
textEditingController.text.length < lastText.value.length;
|
||||||
|
|
||||||
|
if (isDeleting) {
|
||||||
suggestion.value = null;
|
suggestion.value = null;
|
||||||
textEditingController.text = lastText.value;
|
} else {
|
||||||
} else if (textEditingController.text != lastText.value) {
|
|
||||||
final result = await ref
|
final result = await ref
|
||||||
.read(engineSuggestionsProvider.notifier)
|
.read(engineSuggestionsProvider.notifier)
|
||||||
.getAutocompleteSuggestion(textEditingController.text);
|
.getAutocompleteSuggestion(textEditingController.text);
|
||||||
|
|||||||
Reference in New Issue
Block a user