fix private mode for keyboard
This commit is contained in:
+4
@@ -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: () {
|
||||||
|
|||||||
+3
-3
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user