fix private mode for keyboard

This commit is contained in:
Fabian Freund
2026-07-30 15:03:43 +02:00
parent fcfde0dc3b
commit 9e85de113e
3 changed files with 8 additions and 3 deletions
@@ -22,6 +22,7 @@ import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:weblibre/features/geckoview/domain/providers/tab_state.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/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'; import 'package:weblibre/presentation/hooks/debouncer.dart';
class FindInPageWidget extends HookConsumerWidget { class FindInPageWidget extends HookConsumerWidget {
@@ -43,6 +44,8 @@ class FindInPageWidget extends HookConsumerWidget {
final searchResult = ref.watch( final searchResult = ref.watch(
selectedTabStateProvider.select((state) => state?.findResultState), selectedTabStateProvider.select((state) => state?.findResultState),
); );
final privateTabMode =
ref.watch(tabStateProvider(tabId))?.tabMode == TabMode.private;
final focusNode = useFocusNode(); final focusNode = useFocusNode();
final textController = useTextEditingController( final textController = useTextEditingController(
@@ -100,6 +103,7 @@ class FindInPageWidget extends HookConsumerWidget {
controller: textController, controller: textController,
autofocus: true, autofocus: true,
autocorrect: false, autocorrect: false,
enableIMEPersonalizedLearning: !privateTabMode,
decoration: const InputDecoration.collapsed( decoration: const InputDecoration.collapsed(
hintText: 'Find in Page', hintText: 'Find in Page',
), ),
@@ -747,6 +747,7 @@ class SearchScreen extends HookConsumerWidget {
textEditingController: searchTextController, textEditingController: searchTextController,
focusNode: searchFocusNode, focusNode: searchFocusNode,
maxLines: isEditMode ? 3 : 1, maxLines: isEditMode ? 3 : 1,
privateMode: privateTabMode,
label: const Text('Search or enter URL'), label: const Text('Search or enter URL'),
unfocusOnTapOutside: false, unfocusOnTapOutside: false,
onClearPressed: () { onClearPressed: () {
@@ -25,7 +25,6 @@ import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.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/repositories/general_settings.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/hooks/on_listenable_change_selector.dart';
import 'package:weblibre/presentation/widgets/auto_suggest_text_field.dart'; import 'package:weblibre/presentation/widgets/auto_suggest_text_field.dart';
@@ -45,6 +44,7 @@ class SearchField extends HookConsumerWidget {
final bool unfocusOnTapOutside; final bool unfocusOnTapOutside;
final GlobalKey? textFieldKey; final GlobalKey? textFieldKey;
final Widget? hint; final Widget? hint;
final bool privateMode;
final BangData? activeBang; final BangData? activeBang;
final bool showBangIcon; final bool showBangIcon;
@@ -70,11 +70,11 @@ class SearchField extends HookConsumerWidget {
this.textFieldKey, this.textFieldKey,
this.hint, this.hint,
this.onClearPressed, this.onClearPressed,
this.privateMode = false,
}); });
@override @override
Widget build(BuildContext context, WidgetRef ref) { Widget build(BuildContext context, WidgetRef ref) {
final incognitoEnabled = ref.watch(incognitoModeEnabledProvider);
final acceptSuggestionOnSubmit = ref.watch( final acceptSuggestionOnSubmit = ref.watch(
generalSettingsWithDefaultsProvider.select( generalSettingsWithDefaultsProvider.select(
(s) => s.acceptSuggestionOnSubmit, (s) => s.acceptSuggestionOnSubmit,
@@ -135,7 +135,7 @@ class SearchField extends HookConsumerWidget {
acceptSuggestionOnSubmit: acceptSuggestionOnSubmit, acceptSuggestionOnSubmit: acceptSuggestionOnSubmit,
enableSuggestions: true, enableSuggestions: true,
autocorrect: false, autocorrect: false,
enableIMEPersonalizedLearning: !incognitoEnabled, enableIMEPersonalizedLearning: !privateMode,
focusNode: safeFocusNode, focusNode: safeFocusNode,
maxLines: maxLines, maxLines: maxLines,
textFieldKey: textFieldKey, textFieldKey: textFieldKey,