intermediate

This commit is contained in:
Fabian Freund
2024-12-12 09:44:33 +01:00
parent 0710116feb
commit 6b2ae28828
108 changed files with 5531 additions and 2265 deletions
@@ -4,7 +4,7 @@ import 'package:flutter_hooks/flutter_hooks.dart';
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.dart';
import 'package:lensai/features/bangs/domain/providers/bangs.dart';
import 'package:lensai/presentation/widgets/failure_widget.dart';
class BangCategoriesScreen extends HookConsumerWidget {
@@ -19,7 +19,7 @@ class BangCategoriesScreen extends HookConsumerWidget {
actions: [
IconButton(
onPressed: () async {
await context.push(BangSearchRoute().location);
await context.push(const BangSearchRoute().location);
},
icon: const Icon(Icons.search),
),
@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
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.dart';
import 'package:lensai/features/bangs/domain/providers/bangs.dart';
import 'package:lensai/features/bangs/presentation/widgets/bang_details.dart';
import 'package:lensai/features/geckoview/features/browser/domain/entities/sheet.dart';
import 'package:lensai/features/geckoview/features/browser/domain/providers.dart';
@@ -5,20 +5,18 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
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/repositories/search.dart';
import 'package:lensai/features/bangs/presentation/widgets/bang_details.dart';
import 'package:lensai/features/geckoview/features/browser/domain/entities/sheet.dart';
import 'package:lensai/features/geckoview/features/browser/domain/providers.dart';
import 'package:lensai/features/geckoview/features/controllers/bottom_sheet.dart';
import 'package:lensai/features/kagi/data/entities/modes.dart';
import 'package:lensai/features/settings/data/models/settings.dart';
import 'package:lensai/features/settings/data/repositories/settings_repository.dart';
import 'package:lensai/presentation/hooks/listenable_callback.dart';
import 'package:lensai/presentation/widgets/failure_widget.dart';
class BangSearchScreen extends HookConsumerWidget {
const BangSearchScreen({super.key});
final String? initialSearchText;
const BangSearchScreen({super.key, this.initialSearchText});
@override
Widget build(BuildContext context, WidgetRef ref) {
@@ -29,7 +27,8 @@ class BangSearchScreen extends HookConsumerWidget {
),
);
final textEditingController = useTextEditingController();
final textEditingController =
useTextEditingController(text: initialSearchText);
useListenableCallback(textEditingController, () async {
unawaited(
@@ -78,14 +77,15 @@ class BangSearchScreen extends HookConsumerWidget {
.read(selectedBangTriggerProvider().notifier)
.setTrigger(bang.trigger);
if (ref.read(bottomSheetControllerProvider)
is! CreateTabSheet) {
ref.read(bottomSheetControllerProvider.notifier).show(
CreateTabSheet(preferredTool: KagiTool.search),
);
}
// if (ref.read(bottomSheetControllerProvider)
// is! CreateTabSheet) {
// ref.read(bottomSheetControllerProvider.notifier).show(
// CreateTabSheet(preferredTool: KagiTool.search),
// );
// }
context.go(BrowserRoute().location);
// context.go(BrowserRoute().location);
context.pop();
},
);
},
@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/features/bangs/data/models/bang_data.dart';
import 'package:lensai/features/bangs/domain/providers.dart';
import 'package:lensai/features/bangs/domain/providers/bangs.dart';
import 'package:skeletonizer/skeletonizer.dart';
class BangIcon extends HookConsumerWidget {
@@ -4,9 +4,9 @@ import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/features/bangs/data/models/bang_data.dart';
import 'package:lensai/features/search/domain/providers/search_suggestions.dart';
import 'package:lensai/features/bangs/presentation/widgets/bang_icon.dart';
import 'package:lensai/features/geckoview/features/browser/presentation/widgets/speech_to_text_button.dart';
import 'package:lensai/features/kagi/domain/repositories/autosuggest.dart';
import 'package:lensai/features/settings/data/models/settings.dart';
import 'package:lensai/features/settings/data/repositories/settings_repository.dart';
import 'package:lensai/presentation/widgets/autocomplete.dart';
@@ -36,7 +36,7 @@ class SearchField extends HookConsumerWidget {
),
);
final optionsStream = ref.watch(autosuggestRepositoryProvider);
final optionsStream = ref.watch(searchSuggestionsProvider());
final focusNode = useFocusNode();
@@ -69,7 +69,7 @@ class SearchField extends HookConsumerWidget {
},
onTextChanged: (textEditingValue) {
ref
.read(autosuggestRepositoryProvider.notifier)
.read(searchSuggestionsProvider().notifier)
.addQuery(textEditingValue.text);
},
fieldViewBuilder: (