From 9e85de113ed0ceeb23a3f6a75244d41d12d472ad Mon Sep 17 00:00:00 2001 From: Fabian Freund Date: Thu, 30 Jul 2026 15:03:43 +0200 Subject: [PATCH] fix private mode for keyboard --- .../find_in_page/presentation/widgets/find_in_page.dart | 4 ++++ .../features/search/presentation/screens/search.dart | 1 + .../features/search/presentation/widgets/search_field.dart | 6 +++--- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/apps/weblibre/lib/features/geckoview/features/find_in_page/presentation/widgets/find_in_page.dart b/apps/weblibre/lib/features/geckoview/features/find_in_page/presentation/widgets/find_in_page.dart index 703e5cad..19cdf351 100644 --- a/apps/weblibre/lib/features/geckoview/features/find_in_page/presentation/widgets/find_in_page.dart +++ b/apps/weblibre/lib/features/geckoview/features/find_in_page/presentation/widgets/find_in_page.dart @@ -22,6 +22,7 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:weblibre/features/geckoview/domain/providers/tab_state.dart'; import 'package:weblibre/features/geckoview/features/find_in_page/presentation/controllers/find_in_page.dart'; +import 'package:weblibre/features/geckoview/features/tabs/data/entities/tab_mode.dart'; import 'package:weblibre/presentation/hooks/debouncer.dart'; class FindInPageWidget extends HookConsumerWidget { @@ -43,6 +44,8 @@ class FindInPageWidget extends HookConsumerWidget { final searchResult = ref.watch( selectedTabStateProvider.select((state) => state?.findResultState), ); + final privateTabMode = + ref.watch(tabStateProvider(tabId))?.tabMode == TabMode.private; final focusNode = useFocusNode(); final textController = useTextEditingController( @@ -100,6 +103,7 @@ class FindInPageWidget extends HookConsumerWidget { controller: textController, autofocus: true, autocorrect: false, + enableIMEPersonalizedLearning: !privateTabMode, decoration: const InputDecoration.collapsed( hintText: 'Find in Page', ), diff --git a/apps/weblibre/lib/features/geckoview/features/search/presentation/screens/search.dart b/apps/weblibre/lib/features/geckoview/features/search/presentation/screens/search.dart index 6456926a..bbd2d8e6 100644 --- a/apps/weblibre/lib/features/geckoview/features/search/presentation/screens/search.dart +++ b/apps/weblibre/lib/features/geckoview/features/search/presentation/screens/search.dart @@ -747,6 +747,7 @@ class SearchScreen extends HookConsumerWidget { textEditingController: searchTextController, focusNode: searchFocusNode, maxLines: isEditMode ? 3 : 1, + privateMode: privateTabMode, label: const Text('Search or enter URL'), unfocusOnTapOutside: false, onClearPressed: () { diff --git a/apps/weblibre/lib/features/geckoview/features/search/presentation/widgets/search_field.dart b/apps/weblibre/lib/features/geckoview/features/search/presentation/widgets/search_field.dart index 28a3c950..7088897b 100644 --- a/apps/weblibre/lib/features/geckoview/features/search/presentation/widgets/search_field.dart +++ b/apps/weblibre/lib/features/geckoview/features/search/presentation/widgets/search_field.dart @@ -25,7 +25,6 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.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'; import 'package:weblibre/features/user/domain/repositories/general_settings.dart'; import 'package:weblibre/presentation/hooks/on_listenable_change_selector.dart'; import 'package:weblibre/presentation/widgets/auto_suggest_text_field.dart'; @@ -45,6 +44,7 @@ class SearchField extends HookConsumerWidget { final bool unfocusOnTapOutside; final GlobalKey? textFieldKey; final Widget? hint; + final bool privateMode; final BangData? activeBang; final bool showBangIcon; @@ -70,11 +70,11 @@ class SearchField extends HookConsumerWidget { this.textFieldKey, this.hint, this.onClearPressed, + this.privateMode = false, }); @override Widget build(BuildContext context, WidgetRef ref) { - final incognitoEnabled = ref.watch(incognitoModeEnabledProvider); final acceptSuggestionOnSubmit = ref.watch( generalSettingsWithDefaultsProvider.select( (s) => s.acceptSuggestionOnSubmit, @@ -135,7 +135,7 @@ class SearchField extends HookConsumerWidget { acceptSuggestionOnSubmit: acceptSuggestionOnSubmit, enableSuggestions: true, autocorrect: false, - enableIMEPersonalizedLearning: !incognitoEnabled, + enableIMEPersonalizedLearning: !privateMode, focusNode: safeFocusNode, maxLines: maxLines, textFieldKey: textFieldKey,