intermediate
This commit is contained in:
@@ -1,9 +1,5 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:exceptions/exceptions.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:lensai/core/http_error_handler.dart';
|
||||
import 'package:lensai/features/settings/data/repositories/settings_repository.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
|
||||
part 'chat.g.dart';
|
||||
@@ -18,17 +14,19 @@ class KagiChatService extends _$KagiChatService {
|
||||
}
|
||||
|
||||
Future<Result<String>> downloadChat(Uri url) {
|
||||
final kagiSession =
|
||||
ref.read(settingsRepositoryProvider).valueOrNull?.kagiSession;
|
||||
throw Exception('Not implemented !');
|
||||
|
||||
return Result.fromAsync(
|
||||
() async {
|
||||
final response = await _client
|
||||
.get(url.replace(queryParameters: {'token': kagiSession}));
|
||||
// final kagiSession =
|
||||
// ref.read(settingsRepositoryProvider).valueOrNull?.kagiSession;
|
||||
|
||||
return utf8.decode(response.bodyBytes);
|
||||
},
|
||||
exceptionHandler: handleHttpError,
|
||||
);
|
||||
// return Result.fromAsync(
|
||||
// () async {
|
||||
// final response = await _client
|
||||
// .get(url.replace(queryParameters: {'token': kagiSession}));
|
||||
|
||||
// return utf8.decode(response.bodyBytes);
|
||||
// },
|
||||
// exceptionHandler: handleHttpError,
|
||||
// );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ part of 'chat.dart';
|
||||
// RiverpodGenerator
|
||||
// **************************************************************************
|
||||
|
||||
String _$kagiChatServiceHash() => r'fda3874c955812fa62d555afaca352a3776dd692';
|
||||
String _$kagiChatServiceHash() => r'a112b70b42fe9d650c9d4dc643bf965ddce7bfa6';
|
||||
|
||||
/// See also [KagiChatService].
|
||||
@ProviderFor(KagiChatService)
|
||||
|
||||
@@ -8,9 +8,8 @@ import 'package:lensai/features/geckoview/features/browser/presentation/widgets/
|
||||
import 'package:lensai/features/geckoview/features/browser/presentation/widgets/speech_to_text_button.dart';
|
||||
import 'package:lensai/features/kagi/data/entities/modes.dart';
|
||||
import 'package:lensai/features/kagi/utils/url_builder.dart' as uri_builder;
|
||||
import 'package:lensai/features/settings/data/models/settings.dart';
|
||||
import 'package:lensai/features/settings/data/repositories/settings_repository.dart';
|
||||
import 'package:lensai/features/share_intent/domain/entities/shared_content.dart';
|
||||
import 'package:lensai/features/user/domain/repositories/settings.dart';
|
||||
import 'package:lensai/presentation/hooks/sync_page_tab.dart';
|
||||
|
||||
class AssistantTab extends HookConsumerWidget {
|
||||
@@ -26,9 +25,7 @@ class AssistantTab extends HookConsumerWidget {
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final incognitoEnabled = ref.watch(
|
||||
settingsRepositoryProvider.select(
|
||||
(value) => (value.valueOrNull ?? Settings.withDefaults()).incognitoMode,
|
||||
),
|
||||
settingsRepositoryProvider.select((value) => value.incognitoMode),
|
||||
);
|
||||
|
||||
final researchVariant = ref.watch(activeResearchVariantProvider);
|
||||
|
||||
@@ -5,6 +5,7 @@ import 'package:go_router/go_router.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:lensai/core/routing/routes.dart';
|
||||
import 'package:lensai/features/bangs/domain/providers/bangs.dart';
|
||||
import 'package:lensai/features/bangs/domain/providers/search.dart';
|
||||
import 'package:lensai/features/bangs/domain/repositories/data.dart';
|
||||
import 'package:lensai/features/bangs/presentation/widgets/bang_icon.dart';
|
||||
import 'package:lensai/features/bangs/presentation/widgets/search_field.dart';
|
||||
@@ -33,7 +34,8 @@ class SearchTab extends HookConsumerWidget {
|
||||
final selectedBang = ref
|
||||
.watch(selectedBangDataProvider().select((value) => value.valueOrNull));
|
||||
final defaultSearchBang = ref.watch(
|
||||
defaultSearchBangDataProvider.select((value) => value.valueOrNull));
|
||||
defaultSearchBangDataProvider.select((value) => value.valueOrNull),
|
||||
);
|
||||
|
||||
final activeBang = selectedBang ?? defaultSearchBang;
|
||||
|
||||
@@ -42,11 +44,11 @@ class SearchTab extends HookConsumerWidget {
|
||||
|
||||
Future<void> submitSearch() async {
|
||||
if (activeBang != null && (formKey.currentState?.validate() == true)) {
|
||||
await ref
|
||||
.read(bangDataRepositoryProvider.notifier)
|
||||
.increaseFrequency(activeBang.trigger);
|
||||
final searchUri = await ref.read(
|
||||
triggerBangSearchProvider(activeBang, textController.text).future,
|
||||
);
|
||||
|
||||
onSubmit(activeBang.getUrl(textController.text));
|
||||
onSubmit(searchUri);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,9 +9,8 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:lensai/features/geckoview/features/browser/presentation/widgets/sheets/create_tab.dart';
|
||||
import 'package:lensai/features/kagi/data/entities/modes.dart';
|
||||
import 'package:lensai/features/kagi/utils/url_builder.dart' as uri_builder;
|
||||
import 'package:lensai/features/settings/data/models/settings.dart';
|
||||
import 'package:lensai/features/settings/data/repositories/settings_repository.dart';
|
||||
import 'package:lensai/features/share_intent/domain/entities/shared_content.dart';
|
||||
import 'package:lensai/features/user/domain/repositories/settings.dart';
|
||||
import 'package:lensai/presentation/widgets/website_title_tile.dart';
|
||||
import 'package:lensai/utils/uri_parser.dart' as uri_parser;
|
||||
|
||||
@@ -24,7 +23,7 @@ class _InputField extends ConsumerWidget {
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final incognitoEnabled = ref.watch(
|
||||
settingsRepositoryProvider.select(
|
||||
(value) => (value.valueOrNull ?? Settings.withDefaults()).incognitoMode,
|
||||
(value) => value.incognitoMode,
|
||||
),
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user