apply incognito mode to keyboard
This commit is contained in:
@@ -6,6 +6,7 @@ import 'package:bang_navigator/features/bangs/presentation/widgets/bang_details.
|
|||||||
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
|
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
|
||||||
import 'package:bang_navigator/features/search_browser/domain/entities/sheet.dart';
|
import 'package:bang_navigator/features/search_browser/domain/entities/sheet.dart';
|
||||||
import 'package:bang_navigator/features/search_browser/domain/providers.dart';
|
import 'package:bang_navigator/features/search_browser/domain/providers.dart';
|
||||||
|
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
|
||||||
import 'package:bang_navigator/presentation/hooks/listenable_callback.dart';
|
import 'package:bang_navigator/presentation/hooks/listenable_callback.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_hooks/flutter_hooks.dart';
|
import 'package:flutter_hooks/flutter_hooks.dart';
|
||||||
@@ -18,6 +19,10 @@ class BangSearchScreen extends HookConsumerWidget {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context, WidgetRef ref) {
|
Widget build(BuildContext context, WidgetRef ref) {
|
||||||
final resultsAsync = ref.watch(bangSearchProvider);
|
final resultsAsync = ref.watch(bangSearchProvider);
|
||||||
|
final incognitoEnabled = ref.watch(
|
||||||
|
settingsRepositoryProvider
|
||||||
|
.select((value) => value.valueOrNull?.incognitoMode ?? false),
|
||||||
|
);
|
||||||
|
|
||||||
final textEditingController = useTextEditingController();
|
final textEditingController = useTextEditingController();
|
||||||
|
|
||||||
@@ -32,6 +37,7 @@ class BangSearchScreen extends HookConsumerWidget {
|
|||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
title: TextField(
|
title: TextField(
|
||||||
|
enableIMEPersonalizedLearning: !incognitoEnabled,
|
||||||
controller: textEditingController,
|
controller: textEditingController,
|
||||||
autofocus: true,
|
autofocus: true,
|
||||||
autocorrect: false,
|
autocorrect: false,
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import 'package:bang_navigator/features/search_browser/presentation/widgets/shee
|
|||||||
import 'package:bang_navigator/features/search_browser/presentation/widgets/speech_to_text_button.dart';
|
import 'package:bang_navigator/features/search_browser/presentation/widgets/speech_to_text_button.dart';
|
||||||
import 'package:bang_navigator/features/search_browser/utils/url_builder.dart'
|
import 'package:bang_navigator/features/search_browser/utils/url_builder.dart'
|
||||||
as uri_builder;
|
as uri_builder;
|
||||||
|
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
|
||||||
import 'package:bang_navigator/features/share_intent/domain/entities/shared_content.dart';
|
import 'package:bang_navigator/features/share_intent/domain/entities/shared_content.dart';
|
||||||
import 'package:bang_navigator/presentation/hooks/sync_page_tab.dart';
|
import 'package:bang_navigator/presentation/hooks/sync_page_tab.dart';
|
||||||
import 'package:expandable_page_view/expandable_page_view.dart';
|
import 'package:expandable_page_view/expandable_page_view.dart';
|
||||||
@@ -23,6 +24,11 @@ class AssistantTab extends HookConsumerWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context, WidgetRef ref) {
|
Widget build(BuildContext context, WidgetRef ref) {
|
||||||
|
final incognitoEnabled = ref.watch(
|
||||||
|
settingsRepositoryProvider
|
||||||
|
.select((value) => value.valueOrNull?.incognitoMode ?? false),
|
||||||
|
);
|
||||||
|
|
||||||
useAutomaticKeepAlive();
|
useAutomaticKeepAlive();
|
||||||
|
|
||||||
final formKey = useMemoized(() => GlobalKey<FormState>());
|
final formKey = useMemoized(() => GlobalKey<FormState>());
|
||||||
@@ -127,6 +133,7 @@ class AssistantTab extends HookConsumerWidget {
|
|||||||
),
|
),
|
||||||
TextFormField(
|
TextFormField(
|
||||||
controller: textController,
|
controller: textController,
|
||||||
|
enableIMEPersonalizedLearning: !incognitoEnabled,
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
label: const Text('Prompt'),
|
label: const Text('Prompt'),
|
||||||
hintText: 'Enter your prompt...',
|
hintText: 'Enter your prompt...',
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import 'package:bang_navigator/features/search_browser/domain/providers.dart';
|
|||||||
import 'package:bang_navigator/features/search_browser/presentation/widgets/bang_chips.dart';
|
import 'package:bang_navigator/features/search_browser/presentation/widgets/bang_chips.dart';
|
||||||
import 'package:bang_navigator/features/search_browser/presentation/widgets/sheets/shared_content_sheet.dart';
|
import 'package:bang_navigator/features/search_browser/presentation/widgets/sheets/shared_content_sheet.dart';
|
||||||
import 'package:bang_navigator/features/search_browser/presentation/widgets/speech_to_text_button.dart';
|
import 'package:bang_navigator/features/search_browser/presentation/widgets/speech_to_text_button.dart';
|
||||||
|
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
|
||||||
import 'package:bang_navigator/features/share_intent/domain/entities/shared_content.dart';
|
import 'package:bang_navigator/features/share_intent/domain/entities/shared_content.dart';
|
||||||
import 'package:bang_navigator/presentation/widgets/autocomplete.dart';
|
import 'package:bang_navigator/presentation/widgets/autocomplete.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
@@ -103,6 +104,11 @@ class SearchTab extends HookConsumerWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context, WidgetRef ref) {
|
Widget build(BuildContext context, WidgetRef ref) {
|
||||||
|
final incognitoEnabled = ref.watch(
|
||||||
|
settingsRepositoryProvider
|
||||||
|
.select((value) => value.valueOrNull?.incognitoMode ?? false),
|
||||||
|
);
|
||||||
|
|
||||||
useAutomaticKeepAlive();
|
useAutomaticKeepAlive();
|
||||||
|
|
||||||
final formKey = useMemoized(() => GlobalKey<FormState>());
|
final formKey = useMemoized(() => GlobalKey<FormState>());
|
||||||
@@ -199,6 +205,7 @@ class SearchTab extends HookConsumerWidget {
|
|||||||
) {
|
) {
|
||||||
return TextFormField(
|
return TextFormField(
|
||||||
controller: textEditingController,
|
controller: textEditingController,
|
||||||
|
enableIMEPersonalizedLearning: !incognitoEnabled,
|
||||||
focusNode: focusNode,
|
focusNode: focusNode,
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
prefixIcon: (activeBang != null)
|
prefixIcon: (activeBang != null)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import 'package:bang_navigator/features/search_browser/domain/entities/modes.dar
|
|||||||
import 'package:bang_navigator/features/search_browser/presentation/widgets/sheets/shared_content_sheet.dart';
|
import 'package:bang_navigator/features/search_browser/presentation/widgets/sheets/shared_content_sheet.dart';
|
||||||
import 'package:bang_navigator/features/search_browser/utils/url_builder.dart'
|
import 'package:bang_navigator/features/search_browser/utils/url_builder.dart'
|
||||||
as uri_builder;
|
as uri_builder;
|
||||||
|
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
|
||||||
import 'package:bang_navigator/features/share_intent/domain/entities/shared_content.dart';
|
import 'package:bang_navigator/features/share_intent/domain/entities/shared_content.dart';
|
||||||
import 'package:bang_navigator/presentation/widgets/website_title_tile.dart';
|
import 'package:bang_navigator/presentation/widgets/website_title_tile.dart';
|
||||||
import 'package:bang_navigator/utils/uri_parser.dart' as uri_parser;
|
import 'package:bang_navigator/utils/uri_parser.dart' as uri_parser;
|
||||||
@@ -14,15 +15,21 @@ import 'package:flutter_material_design_icons/flutter_material_design_icons.dart
|
|||||||
import 'package:flutter_pdf_text/flutter_pdf_text.dart';
|
import 'package:flutter_pdf_text/flutter_pdf_text.dart';
|
||||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||||
|
|
||||||
class _InputField extends StatelessWidget {
|
class _InputField extends ConsumerWidget {
|
||||||
final TextEditingController? controller;
|
final TextEditingController? controller;
|
||||||
|
|
||||||
const _InputField({required this.controller, super.key});
|
const _InputField({required this.controller, super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context, WidgetRef ref) {
|
||||||
|
final incognitoEnabled = ref.watch(
|
||||||
|
settingsRepositoryProvider
|
||||||
|
.select((value) => value.valueOrNull?.incognitoMode ?? false),
|
||||||
|
);
|
||||||
|
|
||||||
return TextFormField(
|
return TextFormField(
|
||||||
controller: controller,
|
controller: controller,
|
||||||
|
enableIMEPersonalizedLearning: !incognitoEnabled,
|
||||||
decoration: const InputDecoration(
|
decoration: const InputDecoration(
|
||||||
label: Text('Document'),
|
label: Text('Document'),
|
||||||
hintText: 'Enter URL or text to summarize',
|
hintText: 'Enter URL or text to summarize',
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import 'package:bang_navigator/domain/entities/web_page_info.dart';
|
|||||||
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
|
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
|
||||||
import 'package:bang_navigator/features/search_browser/utils/url_builder.dart'
|
import 'package:bang_navigator/features/search_browser/utils/url_builder.dart'
|
||||||
as uri_builder;
|
as uri_builder;
|
||||||
|
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
|
||||||
import 'package:bang_navigator/features/share_intent/domain/entities/shared_content.dart';
|
import 'package:bang_navigator/features/share_intent/domain/entities/shared_content.dart';
|
||||||
import 'package:bang_navigator/features/web_view/presentation/controllers/switch_new_tab.dart';
|
import 'package:bang_navigator/features/web_view/presentation/controllers/switch_new_tab.dart';
|
||||||
import 'package:bang_navigator/features/web_view/presentation/widgets/favicon.dart';
|
import 'package:bang_navigator/features/web_view/presentation/widgets/favicon.dart';
|
||||||
@@ -53,6 +54,11 @@ class WebPageDialog extends HookConsumerWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context, WidgetRef ref) {
|
Widget build(BuildContext context, WidgetRef ref) {
|
||||||
|
final incognitoEnabled = ref.watch(
|
||||||
|
settingsRepositoryProvider
|
||||||
|
.select((value) => value.valueOrNull?.incognitoMode ?? false),
|
||||||
|
);
|
||||||
|
|
||||||
final formKey = useMemoized(() => GlobalKey<FormState>());
|
final formKey = useMemoized(() => GlobalKey<FormState>());
|
||||||
final urlTextController =
|
final urlTextController =
|
||||||
useTextEditingController(text: page.url.toString());
|
useTextEditingController(text: page.url.toString());
|
||||||
@@ -89,6 +95,7 @@ class WebPageDialog extends HookConsumerWidget {
|
|||||||
key: formKey,
|
key: formKey,
|
||||||
child: TextFormField(
|
child: TextFormField(
|
||||||
controller: urlTextController,
|
controller: urlTextController,
|
||||||
|
enableIMEPersonalizedLearning: !incognitoEnabled,
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
suffixIcon: (webViewController != null)
|
suffixIcon: (webViewController != null)
|
||||||
? IconButton(
|
? IconButton(
|
||||||
|
|||||||
Reference in New Issue
Block a user