rename flutter name

This commit is contained in:
Fabian Freund
2024-07-23 13:12:43 +02:00
parent 9d4c975a5d
commit 915e9a298d
88 changed files with 362 additions and 362 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
import 'package:bang_navigator/core/logger.dart';
import 'package:lensai/core/logger.dart';
import 'package:riverpod/riverpod.dart';
class ErrorObserver extends ProviderObserver {
+1 -1
View File
@@ -1,5 +1,5 @@
import 'package:bang_navigator/core/routing/routes.dart';
import 'package:go_router/go_router.dart';
import 'package:lensai/core/routing/routes.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'providers.g.dart';
+10 -10
View File
@@ -1,15 +1,15 @@
import 'package:bang_navigator/core/routing/dialog_page.dart';
import 'package:bang_navigator/features/about/presentation/screens/about.dart';
import 'package:bang_navigator/features/bangs/presentation/screens/categories.dart';
import 'package:bang_navigator/features/bangs/presentation/screens/list.dart';
import 'package:bang_navigator/features/bangs/presentation/screens/search.dart';
import 'package:bang_navigator/features/chat_archive/presentation/screens/detail.dart';
import 'package:bang_navigator/features/chat_archive/presentation/screens/list.dart';
import 'package:bang_navigator/features/chat_archive/presentation/screens/search.dart';
import 'package:bang_navigator/features/search_browser/presentation/screens/browser.dart';
import 'package:bang_navigator/features/settings/presentation/screens/settings.dart';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:lensai/core/routing/dialog_page.dart';
import 'package:lensai/features/about/presentation/screens/about.dart';
import 'package:lensai/features/bangs/presentation/screens/categories.dart';
import 'package:lensai/features/bangs/presentation/screens/list.dart';
import 'package:lensai/features/bangs/presentation/screens/search.dart';
import 'package:lensai/features/chat_archive/presentation/screens/detail.dart';
import 'package:lensai/features/chat_archive/presentation/screens/list.dart';
import 'package:lensai/features/chat_archive/presentation/screens/search.dart';
import 'package:lensai/features/search_browser/presentation/screens/browser.dart';
import 'package:lensai/features/settings/presentation/screens/settings.dart';
part 'routes.g.dart';
@@ -1,15 +1,15 @@
import 'dart:async';
import 'package:bang_navigator/features/about/data/repositories/package_info_repository.dart';
import 'package:bang_navigator/features/bangs/data/models/bang.dart';
import 'package:bang_navigator/features/bangs/domain/repositories/sync.dart';
import 'package:bang_navigator/features/content_block/data/models/host.dart';
import 'package:bang_navigator/features/content_block/domain/repositories/sync.dart';
import 'package:bang_navigator/features/search_browser/domain/services/session.dart';
import 'package:bang_navigator/features/settings/data/models/settings.dart';
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
import 'package:bang_navigator/features/web_view/domain/providers.dart';
import 'package:exceptions/exceptions.dart';
import 'package:lensai/features/about/data/repositories/package_info_repository.dart';
import 'package:lensai/features/bangs/data/models/bang.dart';
import 'package:lensai/features/bangs/domain/repositories/sync.dart';
import 'package:lensai/features/content_block/data/models/host.dart';
import 'package:lensai/features/content_block/domain/repositories/sync.dart';
import 'package:lensai/features/search_browser/domain/services/session.dart';
import 'package:lensai/features/settings/data/models/settings.dart';
import 'package:lensai/features/settings/data/repositories/settings_repository.dart';
import 'package:lensai/features/web_view/domain/providers.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'app_initialization.g.dart';
+4 -4
View File
@@ -1,13 +1,13 @@
import 'package:bang_navigator/core/http_error_handler.dart';
import 'package:bang_navigator/domain/entities/web_page_info.dart';
import 'package:bang_navigator/extensions/web_uri_favicon.dart';
import 'package:bang_navigator/features/web_view/utils/favicon_helper.dart';
import 'package:exceptions/exceptions.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:html/dom.dart';
import 'package:html/parser.dart' as html_parser;
import 'package:http/http.dart' as http;
import 'package:lensai/core/http_error_handler.dart';
import 'package:lensai/domain/entities/web_page_info.dart';
import 'package:lensai/extensions/web_uri_favicon.dart';
import 'package:lensai/features/web_view/utils/favicon_helper.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:universal_io/io.dart';
@@ -1,6 +1,6 @@
import 'package:bang_navigator/features/about/data/repositories/package_info_repository.dart';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/features/about/data/repositories/package_info_repository.dart';
class AboutDialogScreen extends HookConsumerWidget {
const AboutDialogScreen();
@@ -1,5 +1,5 @@
import 'package:bang_navigator/domain/entities/received_parameter.dart';
import 'package:home_widget/home_widget.dart';
import 'package:lensai/domain/entities/received_parameter.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:rxdart/rxdart.dart';
@@ -1,7 +1,7 @@
import 'package:bang_navigator/features/bangs/data/database/database.dart';
import 'package:bang_navigator/features/bangs/data/models/bang.dart';
import 'package:bang_navigator/features/bangs/data/models/bang_data.dart';
import 'package:drift/drift.dart';
import 'package:lensai/features/bangs/data/database/database.dart';
import 'package:lensai/features/bangs/data/models/bang.dart';
import 'package:lensai/features/bangs/data/models/bang_data.dart';
part 'bang.g.dart';
@@ -1,6 +1,6 @@
import 'package:bang_navigator/features/bangs/data/database/database.dart';
import 'package:bang_navigator/features/bangs/data/models/bang.dart';
import 'package:drift/drift.dart';
import 'package:lensai/features/bangs/data/database/database.dart';
import 'package:lensai/features/bangs/data/models/bang.dart';
part 'sync.g.dart';
@@ -1,10 +1,10 @@
import 'package:bang_navigator/features/bangs/data/database/daos/bang.dart';
import 'package:bang_navigator/features/bangs/data/database/daos/sync.dart';
import 'package:bang_navigator/features/bangs/data/database/drift/converters/bang_format.dart';
import 'package:bang_navigator/features/bangs/data/models/bang.dart';
import 'package:bang_navigator/features/bangs/data/models/bang_data.dart';
import 'package:bang_navigator/features/query/domain/tokenizer.dart';
import 'package:drift/drift.dart';
import 'package:lensai/features/bangs/data/database/daos/bang.dart';
import 'package:lensai/features/bangs/data/database/daos/sync.dart';
import 'package:lensai/features/bangs/data/database/drift/converters/bang_format.dart';
import 'package:lensai/features/bangs/data/models/bang.dart';
import 'package:lensai/features/bangs/data/models/bang_data.dart';
import 'package:lensai/features/query/domain/tokenizer.dart';
part 'database.g.dart';
@@ -1,6 +1,6 @@
import 'package:bang_navigator/features/bangs/data/database/drift/converters/bang_format.dart';
import 'package:bang_navigator/features/bangs/data/models/bang_data.dart';
import 'package:bang_navigator/features/bangs/data/models/bang.dart';
import 'package:lensai/features/bangs/data/database/drift/converters/bang_format.dart';
import 'package:lensai/features/bangs/data/models/bang_data.dart';
import 'package:lensai/features/bangs/data/models/bang.dart';
CREATE TABLE bang (
"trigger" TEXT PRIMARY KEY NOT NULL,
@@ -1,7 +1,7 @@
import 'dart:convert';
import 'package:bang_navigator/features/bangs/data/models/bang.dart';
import 'package:drift/drift.dart';
import 'package:lensai/features/bangs/data/models/bang.dart';
class BangFormatConverter extends TypeConverter<Set<BangFormat>?, String?> {
const BangFormatConverter();
+2 -2
View File
@@ -1,9 +1,9 @@
import 'package:bang_navigator/features/bangs/data/database/database.dart'
show BangCompanion;
import 'package:copy_with_extension/copy_with_extension.dart';
import 'package:drift/drift.dart' show Expression, Insertable, Value;
import 'package:fast_equatable/fast_equatable.dart';
import 'package:json_annotation/json_annotation.dart';
import 'package:lensai/features/bangs/data/database/database.dart'
show BangCompanion;
part 'bang.g.dart';
@@ -1,6 +1,6 @@
import 'package:bang_navigator/features/bangs/data/models/bang.dart';
import 'package:copy_with_extension/copy_with_extension.dart';
import 'package:drift/drift.dart';
import 'package:lensai/features/bangs/data/models/bang.dart';
part 'bang_data.g.dart';
+1 -1
View File
@@ -1,6 +1,6 @@
import 'package:bang_navigator/features/bangs/data/database/database.dart';
import 'package:drift/drift.dart';
import 'package:drift/native.dart';
import 'package:lensai/features/bangs/data/database/database.dart';
import 'package:path/path.dart' as p;
import 'package:path_provider/path_provider.dart' as path_provider;
import 'package:riverpod_annotation/riverpod_annotation.dart';
@@ -1,10 +1,10 @@
import 'dart:convert';
import 'package:bang_navigator/core/http_error_handler.dart';
import 'package:bang_navigator/features/bangs/data/models/bang.dart';
import 'package:exceptions/exceptions.dart';
import 'package:flutter/foundation.dart';
import 'package:http/http.dart' as http;
import 'package:lensai/core/http_error_handler.dart';
import 'package:lensai/features/bangs/data/models/bang.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'source.g.dart';
+4 -4
View File
@@ -1,7 +1,7 @@
import 'package:bang_navigator/features/bangs/data/models/bang.dart';
import 'package:bang_navigator/features/bangs/data/models/bang_data.dart';
import 'package:bang_navigator/features/bangs/domain/repositories/data.dart';
import 'package:bang_navigator/features/bangs/domain/repositories/sync.dart';
import 'package:lensai/features/bangs/data/models/bang.dart';
import 'package:lensai/features/bangs/data/models/bang_data.dart';
import 'package:lensai/features/bangs/domain/repositories/data.dart';
import 'package:lensai/features/bangs/domain/repositories/sync.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'providers.g.dart';
@@ -1,14 +1,14 @@
import 'dart:convert';
import 'package:bang_navigator/domain/services/generic_website.dart';
import 'package:bang_navigator/extensions/database_table_size.dart';
import 'package:bang_navigator/features/bangs/data/database/database.dart';
import 'package:bang_navigator/features/bangs/data/models/bang.dart';
import 'package:bang_navigator/features/bangs/data/models/bang_data.dart';
import 'package:bang_navigator/features/bangs/data/providers.dart';
import 'package:bang_navigator/utils/image_helper.dart';
import 'package:drift/drift.dart';
import 'package:exceptions/exceptions.dart';
import 'package:lensai/domain/services/generic_website.dart';
import 'package:lensai/extensions/database_table_size.dart';
import 'package:lensai/features/bangs/data/database/database.dart';
import 'package:lensai/features/bangs/data/models/bang.dart';
import 'package:lensai/features/bangs/data/models/bang_data.dart';
import 'package:lensai/features/bangs/data/providers.dart';
import 'package:lensai/utils/image_helper.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'data.g.dart';
@@ -1,8 +1,8 @@
import 'dart:async';
import 'package:bang_navigator/features/bangs/data/database/database.dart';
import 'package:bang_navigator/features/bangs/data/models/bang_data.dart';
import 'package:bang_navigator/features/bangs/data/providers.dart';
import 'package:lensai/features/bangs/data/database/database.dart';
import 'package:lensai/features/bangs/data/models/bang_data.dart';
import 'package:lensai/features/bangs/data/providers.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'search.g.dart';
@@ -1,9 +1,9 @@
import 'package:bang_navigator/features/bangs/data/database/database.dart';
import 'package:bang_navigator/features/bangs/data/models/bang.dart';
import 'package:bang_navigator/features/bangs/data/providers.dart';
import 'package:bang_navigator/features/bangs/data/services/source.dart';
import 'package:drift/isolate.dart';
import 'package:exceptions/exceptions.dart';
import 'package:lensai/features/bangs/data/database/database.dart';
import 'package:lensai/features/bangs/data/models/bang.dart';
import 'package:lensai/features/bangs/data/providers.dart';
import 'package:lensai/features/bangs/data/services/source.dart';
import 'package:riverpod/riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
@@ -1,10 +1,10 @@
import 'package:bang_navigator/core/routing/routes.dart';
import 'package:bang_navigator/features/bangs/domain/providers.dart';
import 'package:bang_navigator/presentation/widgets/failure_widget.dart';
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/providers.dart';
import 'package:lensai/presentation/widgets/failure_widget.dart';
class BangCategoriesScreen extends HookConsumerWidget {
const BangCategoriesScreen({super.key});
@@ -1,13 +1,13 @@
import 'package:bang_navigator/core/routing/routes.dart';
import 'package:bang_navigator/features/bangs/domain/providers.dart';
import 'package:bang_navigator/features/bangs/presentation/widgets/bang_details.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/providers.dart';
import 'package:bang_navigator/presentation/widgets/failure_widget.dart';
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/presentation/widgets/bang_details.dart';
import 'package:lensai/features/search_browser/domain/entities/modes.dart';
import 'package:lensai/features/search_browser/domain/entities/sheet.dart';
import 'package:lensai/features/search_browser/domain/providers.dart';
import 'package:lensai/presentation/widgets/failure_widget.dart';
class BangListScreen extends HookConsumerWidget {
final String? category;
@@ -1,19 +1,19 @@
import 'dart:async';
import 'package:bang_navigator/core/routing/routes.dart';
import 'package:bang_navigator/features/bangs/domain/repositories/search.dart';
import 'package:bang_navigator/features/bangs/presentation/widgets/bang_details.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/providers.dart';
import 'package:bang_navigator/features/settings/data/models/settings.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/widgets/failure_widget.dart';
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/search_browser/domain/entities/modes.dart';
import 'package:lensai/features/search_browser/domain/entities/sheet.dart';
import 'package:lensai/features/search_browser/domain/providers.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});
@@ -1,6 +1,6 @@
import 'package:bang_navigator/features/bangs/data/models/bang_data.dart';
import 'package:bang_navigator/features/bangs/presentation/widgets/bang_icon.dart';
import 'package:flutter/material.dart';
import 'package:lensai/features/bangs/data/models/bang_data.dart';
import 'package:lensai/features/bangs/presentation/widgets/bang_icon.dart';
class BangChips extends StatelessWidget {
final List<BangData> availableBangs;
@@ -1,13 +1,13 @@
import 'package:bang_navigator/core/routing/routes.dart';
import 'package:bang_navigator/features/bangs/data/models/bang_data.dart';
import 'package:bang_navigator/features/bangs/presentation/widgets/bang_icon.dart';
import 'package:bang_navigator/features/settings/data/models/settings.dart';
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
import 'package:bang_navigator/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:bang_navigator/utils/ui_helper.dart' as ui_helper;
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/data/models/bang_data.dart';
import 'package:lensai/features/bangs/presentation/widgets/bang_icon.dart';
import 'package:lensai/features/settings/data/models/settings.dart';
import 'package:lensai/features/settings/data/repositories/settings_repository.dart';
import 'package:lensai/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:lensai/utils/ui_helper.dart' as ui_helper;
class BangDetails extends HookConsumerWidget {
final BangData bangData;
@@ -1,8 +1,8 @@
import 'package:bang_navigator/features/bangs/data/models/bang_data.dart';
import 'package:bang_navigator/features/bangs/domain/providers.dart';
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:skeletonizer/skeletonizer.dart';
class BangIcon extends HookConsumerWidget {
@@ -1,15 +1,15 @@
// The default Material-style Autocomplete options.
import 'package:bang_navigator/features/bangs/data/models/bang_data.dart';
import 'package:bang_navigator/features/bangs/presentation/widgets/bang_icon.dart';
import 'package:bang_navigator/features/kagi/domain/repositories/autosuggest.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/speech_to_text_button.dart';
import 'package:bang_navigator/features/settings/data/models/settings.dart';
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
import 'package:bang_navigator/presentation/widgets/autocomplete.dart';
import 'package:flutter/material.dart';
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/bangs/presentation/widgets/bang_icon.dart';
import 'package:lensai/features/kagi/domain/repositories/autosuggest.dart';
import 'package:lensai/features/search_browser/presentation/widgets/speech_to_text_button.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';
class SearchField extends HookConsumerWidget {
static const defaultMaxOptionsHeight = 158.0;
@@ -1,13 +1,13 @@
import 'package:bang_navigator/features/bangs/data/models/bang_data.dart';
import 'package:bang_navigator/features/bangs/domain/repositories/data.dart';
import 'package:bang_navigator/features/bangs/presentation/widgets/bang_chips.dart';
import 'package:bang_navigator/features/bangs/presentation/widgets/search_field.dart';
import 'package:bang_navigator/features/search_browser/domain/providers.dart';
import 'package:bang_navigator/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:flutter/material.dart';
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/bangs/domain/repositories/data.dart';
import 'package:lensai/features/bangs/presentation/widgets/bang_chips.dart';
import 'package:lensai/features/bangs/presentation/widgets/search_field.dart';
import 'package:lensai/features/search_browser/domain/providers.dart';
import 'package:lensai/features/web_view/presentation/controllers/switch_new_tab.dart';
class SiteSearch extends HookConsumerWidget {
final String domain;
@@ -1,5 +1,5 @@
import 'package:bang_navigator/features/chat_archive/data/database/database.dart';
import 'package:drift/drift.dart';
import 'package:lensai/features/chat_archive/data/database/database.dart';
part 'search.g.dart';
@@ -1,6 +1,6 @@
import 'package:bang_navigator/features/chat_archive/data/database/daos/search.dart';
import 'package:bang_navigator/features/query/domain/tokenizer.dart';
import 'package:drift/drift.dart';
import 'package:lensai/features/chat_archive/data/database/daos/search.dart';
import 'package:lensai/features/query/domain/tokenizer.dart';
part 'database.g.dart';
@@ -1,6 +1,6 @@
import 'package:bang_navigator/features/chat_archive/data/database/database.dart';
import 'package:drift/drift.dart';
import 'package:drift/native.dart';
import 'package:lensai/features/chat_archive/data/database/database.dart';
import 'package:path_provider/path_provider.dart' as path_provider;
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:sqlite3/sqlite3.dart';
@@ -1,7 +1,7 @@
import 'package:bang_navigator/features/chat_archive/data/services/file.dart';
import 'package:bang_navigator/features/chat_archive/domain/entities/chat_entity.dart';
import 'package:bang_navigator/features/kagi/data/services/chat.dart';
import 'package:exceptions/exceptions.dart';
import 'package:lensai/features/chat_archive/data/services/file.dart';
import 'package:lensai/features/chat_archive/domain/entities/chat_entity.dart';
import 'package:lensai/features/kagi/data/services/chat.dart';
import 'package:path/path.dart' as path;
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:rxdart/rxdart.dart';
@@ -1,13 +1,13 @@
import 'dart:async';
import 'package:bang_navigator/core/logger.dart';
import 'package:bang_navigator/features/chat_archive/data/database/database.dart';
import 'package:bang_navigator/features/chat_archive/data/providers.dart';
import 'package:bang_navigator/features/chat_archive/data/services/file.dart';
import 'package:bang_navigator/features/chat_archive/domain/entities/chat_entity.dart';
import 'package:bang_navigator/features/chat_archive/domain/repositories/archive.dart';
import 'package:bang_navigator/features/chat_archive/utils/markdown_to_text.dart';
import 'package:collection/collection.dart';
import 'package:lensai/core/logger.dart';
import 'package:lensai/features/chat_archive/data/database/database.dart';
import 'package:lensai/features/chat_archive/data/providers.dart';
import 'package:lensai/features/chat_archive/data/services/file.dart';
import 'package:lensai/features/chat_archive/domain/entities/chat_entity.dart';
import 'package:lensai/features/chat_archive/domain/repositories/archive.dart';
import 'package:lensai/features/chat_archive/utils/markdown_to_text.dart';
import 'package:path/path.dart' as path;
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:watcher/watcher.dart';
@@ -1,13 +1,3 @@
import 'package:bang_navigator/core/routing/routes.dart';
import 'package:bang_navigator/features/chat_archive/data/services/file.dart';
import 'package:bang_navigator/features/chat_archive/domain/entities/chat_entity.dart';
import 'package:bang_navigator/features/chat_archive/domain/repositories/archive.dart';
import 'package:bang_navigator/features/chat_archive/utils/markdown_to_text.dart';
import 'package:bang_navigator/features/settings/data/models/settings.dart';
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
import 'package:bang_navigator/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:bang_navigator/presentation/widgets/failure_widget.dart';
import 'package:bang_navigator/utils/ui_helper.dart' as ui_helper;
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
@@ -15,6 +5,16 @@ import 'package:flutter_markdown/flutter_markdown.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.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/chat_archive/data/services/file.dart';
import 'package:lensai/features/chat_archive/domain/entities/chat_entity.dart';
import 'package:lensai/features/chat_archive/domain/repositories/archive.dart';
import 'package:lensai/features/chat_archive/utils/markdown_to_text.dart';
import 'package:lensai/features/settings/data/models/settings.dart';
import 'package:lensai/features/settings/data/repositories/settings_repository.dart';
import 'package:lensai/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:lensai/presentation/widgets/failure_widget.dart';
import 'package:lensai/utils/ui_helper.dart' as ui_helper;
import 'package:skeletonizer/skeletonizer.dart';
class ChatArchiveDetailScreen extends HookConsumerWidget {
@@ -1,10 +1,10 @@
import 'package:bang_navigator/core/extension/date_time.dart';
import 'package:bang_navigator/core/routing/routes.dart';
import 'package:bang_navigator/features/chat_archive/domain/repositories/archive.dart';
import 'package:bang_navigator/presentation/widgets/failure_widget.dart';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/core/extension/date_time.dart';
import 'package:lensai/core/routing/routes.dart';
import 'package:lensai/features/chat_archive/domain/repositories/archive.dart';
import 'package:lensai/presentation/widgets/failure_widget.dart';
import 'package:skeletonizer/skeletonizer.dart';
class ChatArchiveListScreen extends HookConsumerWidget {
@@ -1,18 +1,18 @@
import 'dart:async';
import 'package:bang_navigator/core/extension/date_time.dart';
import 'package:bang_navigator/core/routing/routes.dart';
import 'package:bang_navigator/features/chat_archive/domain/entities/chat_entity.dart';
import 'package:bang_navigator/features/chat_archive/domain/repositories/search.dart';
import 'package:bang_navigator/features/settings/data/models/settings.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/widgets/failure_widget.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_markdown/flutter_markdown.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/core/extension/date_time.dart';
import 'package:lensai/core/routing/routes.dart';
import 'package:lensai/features/chat_archive/domain/entities/chat_entity.dart';
import 'package:lensai/features/chat_archive/domain/repositories/search.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 ChatArchiveSearchScreen extends HookConsumerWidget {
const ChatArchiveSearchScreen({super.key});
@@ -1,6 +1,6 @@
import 'package:bang_navigator/features/content_block/data/database/database.dart';
import 'package:bang_navigator/features/content_block/data/models/host.dart';
import 'package:drift/drift.dart';
import 'package:lensai/features/content_block/data/database/database.dart';
import 'package:lensai/features/content_block/data/models/host.dart';
part 'host.g.dart';
@@ -1,6 +1,6 @@
import 'package:bang_navigator/features/content_block/data/database/database.dart';
import 'package:bang_navigator/features/content_block/data/models/host.dart';
import 'package:drift/drift.dart';
import 'package:lensai/features/content_block/data/database/database.dart';
import 'package:lensai/features/content_block/data/models/host.dart';
part 'sync.g.dart';
@@ -1,7 +1,7 @@
import 'package:bang_navigator/features/content_block/data/database/daos/host.dart';
import 'package:bang_navigator/features/content_block/data/database/daos/sync.dart';
import 'package:bang_navigator/features/content_block/data/models/host.dart';
import 'package:drift/drift.dart';
import 'package:lensai/features/content_block/data/database/daos/host.dart';
import 'package:lensai/features/content_block/data/database/daos/sync.dart';
import 'package:lensai/features/content_block/data/models/host.dart';
part 'database.g.dart';
@@ -1,4 +1,4 @@
import 'package:bang_navigator/features/content_block/data/models/host.dart';
import 'package:lensai/features/content_block/data/models/host.dart';
CREATE TABLE host (
hostname TEXT PRIMARY KEY NOT NULL,
@@ -1,6 +1,6 @@
import 'package:bang_navigator/features/content_block/data/database/database.dart';
import 'package:drift/drift.dart';
import 'package:drift/native.dart';
import 'package:lensai/features/content_block/data/database/database.dart';
import 'package:path/path.dart' as p;
import 'package:path_provider/path_provider.dart' as path_provider;
import 'package:riverpod_annotation/riverpod_annotation.dart';
@@ -1,10 +1,10 @@
import 'dart:convert';
import 'package:bang_navigator/core/http_error_handler.dart';
import 'package:collection/collection.dart';
import 'package:exceptions/exceptions.dart';
import 'package:flutter/foundation.dart';
import 'package:http/http.dart' as http;
import 'package:lensai/core/http_error_handler.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'source.g.dart';
@@ -1,6 +1,6 @@
import 'package:bang_navigator/features/content_block/data/models/host.dart';
import 'package:bang_navigator/features/content_block/domain/repositories/host.dart';
import 'package:bang_navigator/features/content_block/domain/repositories/sync.dart';
import 'package:lensai/features/content_block/data/models/host.dart';
import 'package:lensai/features/content_block/domain/repositories/host.dart';
import 'package:lensai/features/content_block/domain/repositories/sync.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'providers.g.dart';
@@ -1,6 +1,6 @@
import 'package:bang_navigator/features/content_block/data/database/database.dart';
import 'package:bang_navigator/features/content_block/data/models/host.dart';
import 'package:bang_navigator/features/content_block/data/providers.dart';
import 'package:lensai/features/content_block/data/database/database.dart';
import 'package:lensai/features/content_block/data/models/host.dart';
import 'package:lensai/features/content_block/data/providers.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'host.g.dart';
@@ -1,9 +1,9 @@
import 'package:bang_navigator/features/content_block/data/database/database.dart';
import 'package:bang_navigator/features/content_block/data/models/host.dart';
import 'package:bang_navigator/features/content_block/data/providers.dart';
import 'package:bang_navigator/features/content_block/data/services/source.dart';
import 'package:drift/isolate.dart';
import 'package:exceptions/exceptions.dart';
import 'package:lensai/features/content_block/data/database/database.dart';
import 'package:lensai/features/content_block/data/models/host.dart';
import 'package:lensai/features/content_block/data/providers.dart';
import 'package:lensai/features/content_block/data/services/source.dart';
import 'package:riverpod/riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
@@ -1,8 +1,8 @@
import 'dart:convert';
import 'package:bang_navigator/core/http_error_handler.dart';
import 'package:exceptions/exceptions.dart';
import 'package:http/http.dart' as http;
import 'package:lensai/core/http_error_handler.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'autosuggest.g.dart';
@@ -1,9 +1,9 @@
import 'dart:convert';
import 'package:bang_navigator/core/http_error_handler.dart';
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
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';
@@ -1,7 +1,7 @@
import 'dart:async';
import 'package:bang_navigator/features/kagi/data/services/autosuggest.dart';
import 'package:bang_navigator/utils/lru_cache.dart';
import 'package:lensai/features/kagi/data/services/autosuggest.dart';
import 'package:lensai/utils/lru_cache.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:rxdart/rxdart.dart';
+2 -2
View File
@@ -1,8 +1,8 @@
import 'dart:math' as math;
import 'package:bang_navigator/features/query/domain/entities/abstract/i_query_builder.dart';
import 'package:bang_navigator/features/query/domain/entities/bareword.dart';
import 'package:collection/collection.dart';
import 'package:lensai/features/query/domain/entities/abstract/i_query_builder.dart';
import 'package:lensai/features/query/domain/entities/bareword.dart';
typedef _Phrase = List<Bareword>;
@@ -1,5 +1,5 @@
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
import 'package:fast_equatable/fast_equatable.dart';
import 'package:lensai/features/search_browser/domain/entities/modes.dart';
// ignore: missing_override_of_must_be_overridden
sealed class Sheet with FastEquatable {}
@@ -2,12 +2,12 @@
import 'dart:async';
import 'package:bang_navigator/features/bangs/data/models/bang_data.dart';
import 'package:bang_navigator/features/bangs/domain/repositories/data.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/services/create_tab.dart';
import 'package:flutter/widgets.dart';
import 'package:lensai/features/bangs/data/models/bang_data.dart';
import 'package:lensai/features/bangs/domain/repositories/data.dart';
import 'package:lensai/features/search_browser/domain/entities/modes.dart';
import 'package:lensai/features/search_browser/domain/entities/sheet.dart';
import 'package:lensai/features/search_browser/domain/services/create_tab.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:rxdart/rxdart.dart';
@@ -1,11 +1,11 @@
import 'dart:async';
import 'package:bang_navigator/domain/entities/received_parameter.dart';
import 'package:bang_navigator/features/app_widget/domain/services/home_widget.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/share_intent/domain/services/sharing_intent.dart';
import 'package:collection/collection.dart';
import 'package:lensai/domain/entities/received_parameter.dart';
import 'package:lensai/features/app_widget/domain/services/home_widget.dart';
import 'package:lensai/features/search_browser/domain/entities/modes.dart';
import 'package:lensai/features/search_browser/domain/entities/sheet.dart';
import 'package:lensai/features/share_intent/domain/services/sharing_intent.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:rxdart/rxdart.dart';
@@ -1,32 +1,32 @@
import 'dart:async';
import 'package:animations/animations.dart';
import 'package:bang_navigator/core/routing/routes.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/providers.dart';
import 'package:bang_navigator/features/search_browser/domain/services/create_tab.dart';
import 'package:bang_navigator/features/search_browser/domain/services/session.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/app_bar_title.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/landing/content.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/view_tabs_sheet.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/tabs_action_button.dart';
import 'package:bang_navigator/features/settings/data/models/settings.dart';
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
import 'package:bang_navigator/features/web_view/domain/repositories/web_view.dart';
import 'package:bang_navigator/features/web_view/presentation/controllers/readerability.dart';
import 'package:bang_navigator/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:bang_navigator/features/web_view/presentation/widgets/web_page_dialog.dart';
import 'package:bang_navigator/presentation/hooks/overlay_portal_controller.dart';
import 'package:bang_navigator/presentation/widgets/animate_gradient_shader.dart';
import 'package:bang_navigator/presentation/widgets/animated_indexed_stack.dart';
import 'package:bang_navigator/utils/ui_helper.dart' as ui_helper;
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.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/search_browser/domain/entities/modes.dart';
import 'package:lensai/features/search_browser/domain/entities/sheet.dart';
import 'package:lensai/features/search_browser/domain/providers.dart';
import 'package:lensai/features/search_browser/domain/services/create_tab.dart';
import 'package:lensai/features/search_browser/domain/services/session.dart';
import 'package:lensai/features/search_browser/presentation/widgets/app_bar_title.dart';
import 'package:lensai/features/search_browser/presentation/widgets/landing/content.dart';
import 'package:lensai/features/search_browser/presentation/widgets/sheets/shared_content_sheet.dart';
import 'package:lensai/features/search_browser/presentation/widgets/sheets/view_tabs_sheet.dart';
import 'package:lensai/features/search_browser/presentation/widgets/tabs_action_button.dart';
import 'package:lensai/features/settings/data/models/settings.dart';
import 'package:lensai/features/settings/data/repositories/settings_repository.dart';
import 'package:lensai/features/web_view/domain/repositories/web_view.dart';
import 'package:lensai/features/web_view/presentation/controllers/readerability.dart';
import 'package:lensai/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:lensai/features/web_view/presentation/widgets/web_page_dialog.dart';
import 'package:lensai/presentation/hooks/overlay_portal_controller.dart';
import 'package:lensai/presentation/widgets/animate_gradient_shader.dart';
import 'package:lensai/presentation/widgets/animated_indexed_stack.dart';
import 'package:lensai/utils/ui_helper.dart' as ui_helper;
import 'package:share_plus/share_plus.dart';
import 'package:speech_to_text_google_dialog/speech_to_text_google_dialog.dart';
@@ -1,9 +1,9 @@
import 'package:bang_navigator/features/web_view/domain/entities/web_view_page.dart';
import 'package:bang_navigator/features/web_view/presentation/widgets/favicon.dart';
import 'package:bang_navigator/features/web_view/presentation/widgets/web_view.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:lensai/features/web_view/domain/entities/web_view_page.dart';
import 'package:lensai/features/web_view/presentation/widgets/favicon.dart';
import 'package:lensai/features/web_view/presentation/widgets/web_view.dart';
import 'package:text_scroll/text_scroll.dart';
class AppBarTitle extends HookWidget {
@@ -1,10 +1,10 @@
import 'package:bang_navigator/core/routing/routes.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/error_container.dart';
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
import 'package:flutter/material.dart';
import 'package:flutter_markdown/flutter_markdown.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/search_browser/presentation/widgets/error_container.dart';
import 'package:lensai/features/settings/data/repositories/settings_repository.dart';
class LandingAction extends HookConsumerWidget {
const LandingAction({super.key});
@@ -1,12 +1,12 @@
import 'package:bang_navigator/domain/services/app_initialization.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/error_container.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/landing/action.dart';
import 'package:bang_navigator/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:bang_navigator/presentation/hooks/cached_future.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart' show rootBundle;
import 'package:flutter_markdown/flutter_markdown.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/domain/services/app_initialization.dart';
import 'package:lensai/features/search_browser/presentation/widgets/error_container.dart';
import 'package:lensai/features/search_browser/presentation/widgets/landing/action.dart';
import 'package:lensai/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:lensai/presentation/hooks/cached_future.dart';
class LandingContent extends HookConsumerWidget {
const LandingContent({super.key});
@@ -1,16 +1,16 @@
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/presentation/widgets/tabs/assistant_tab.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/tabs/search_tab.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/tabs/summarize_tab.dart';
import 'package:bang_navigator/features/settings/data/models/settings.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/presentation/hooks/sync_page_tab.dart';
import 'package:expandable_page_view/expandable_page_view.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/features/search_browser/domain/entities/modes.dart';
import 'package:lensai/features/search_browser/domain/entities/sheet.dart';
import 'package:lensai/features/search_browser/presentation/widgets/tabs/assistant_tab.dart';
import 'package:lensai/features/search_browser/presentation/widgets/tabs/search_tab.dart';
import 'package:lensai/features/search_browser/presentation/widgets/tabs/summarize_tab.dart';
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/presentation/hooks/sync_page_tab.dart';
typedef OnSubmitUri = void Function(Uri url);
@@ -1,11 +1,11 @@
import 'dart:async';
import 'package:bang_navigator/features/web_view/domain/repositories/web_view.dart';
import 'package:bang_navigator/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:bang_navigator/features/web_view/presentation/widgets/web_view_tab.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/features/web_view/domain/repositories/web_view.dart';
import 'package:lensai/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:lensai/features/web_view/presentation/widgets/web_view_tab.dart';
class _SliverHeaderDelagate extends SliverPersistentHeaderDelegate {
final VoidCallback onClose;
@@ -1,5 +1,5 @@
import 'package:bang_navigator/utils/ui_helper.dart' as ui_helper;
import 'package:flutter/material.dart';
import 'package:lensai/utils/ui_helper.dart' as ui_helper;
import 'package:speech_to_text_google_dialog/speech_to_text_google_dialog.dart';
class SpeechToTextButton extends StatelessWidget {
@@ -1,18 +1,18 @@
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
import 'package:bang_navigator/features/search_browser/domain/providers.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/utils/url_builder.dart'
as uri_builder;
import 'package:bang_navigator/features/settings/data/models/settings.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/presentation/hooks/sync_page_tab.dart';
import 'package:expandable_page_view/expandable_page_view.dart';
import 'package:flutter/material.dart';
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/search_browser/domain/entities/modes.dart';
import 'package:lensai/features/search_browser/domain/providers.dart';
import 'package:lensai/features/search_browser/presentation/widgets/sheets/shared_content_sheet.dart';
import 'package:lensai/features/search_browser/presentation/widgets/speech_to_text_button.dart';
import 'package:lensai/features/search_browser/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/presentation/hooks/sync_page_tab.dart';
class AssistantTab extends HookConsumerWidget {
final SharedContent? sharedContent;
@@ -1,16 +1,16 @@
import 'package:bang_navigator/core/routing/routes.dart';
import 'package:bang_navigator/features/bangs/domain/providers.dart';
import 'package:bang_navigator/features/bangs/domain/repositories/data.dart';
import 'package:bang_navigator/features/bangs/presentation/widgets/bang_chips.dart';
import 'package:bang_navigator/features/bangs/presentation/widgets/search_field.dart';
import 'package:bang_navigator/features/search_browser/domain/providers.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/sheets/shared_content_sheet.dart';
import 'package:bang_navigator/features/share_intent/domain/entities/shared_content.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.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/repositories/data.dart';
import 'package:lensai/features/bangs/presentation/widgets/bang_chips.dart';
import 'package:lensai/features/bangs/presentation/widgets/search_field.dart';
import 'package:lensai/features/search_browser/domain/providers.dart';
import 'package:lensai/features/search_browser/presentation/widgets/sheets/shared_content_sheet.dart';
import 'package:lensai/features/share_intent/domain/entities/shared_content.dart';
class SearchTab extends HookConsumerWidget {
final SharedContent? sharedContent;
@@ -1,20 +1,20 @@
import 'dart:async';
import 'package:bang_navigator/features/search_browser/domain/entities/modes.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'
as uri_builder;
import 'package:bang_navigator/features/settings/data/models/settings.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/presentation/widgets/website_title_tile.dart';
import 'package:bang_navigator/utils/uri_parser.dart' as uri_parser;
import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:flutter_pdf_text/flutter_pdf_text.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/features/search_browser/domain/entities/modes.dart';
import 'package:lensai/features/search_browser/presentation/widgets/sheets/shared_content_sheet.dart';
import 'package:lensai/features/search_browser/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/presentation/widgets/website_title_tile.dart';
import 'package:lensai/utils/uri_parser.dart' as uri_parser;
class _InputField extends ConsumerWidget {
final TextEditingController? controller;
@@ -1,6 +1,6 @@
import 'package:bang_navigator/features/web_view/domain/repositories/web_view.dart';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/features/web_view/domain/repositories/web_view.dart';
class TabsActionButton extends HookConsumerWidget {
final VoidCallback onTap;
@@ -1,5 +1,5 @@
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
import 'package:bang_navigator/features/share_intent/domain/entities/shared_content.dart';
import 'package:lensai/features/search_browser/domain/entities/modes.dart';
import 'package:lensai/features/share_intent/domain/entities/shared_content.dart';
final _baseUrl = Uri.https('kagi.com');
@@ -1,8 +1,8 @@
import 'package:bang_navigator/features/content_block/data/models/host.dart';
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
import 'package:copy_with_extension/copy_with_extension.dart';
import 'package:fast_equatable/fast_equatable.dart';
import 'package:flutter/material.dart';
import 'package:lensai/features/content_block/data/models/host.dart';
import 'package:lensai/features/search_browser/domain/entities/modes.dart';
part 'settings.g.dart';
@@ -1,7 +1,7 @@
import 'package:bang_navigator/features/settings/data/models/settings.dart';
import 'package:bang_navigator/features/settings/utils/preference_parser.dart';
import 'package:collection/collection.dart';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:lensai/features/settings/data/models/settings.dart';
import 'package:lensai/features/settings/utils/preference_parser.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:shared_preferences/shared_preferences.dart';
@@ -1,4 +1,4 @@
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
import 'package:lensai/features/settings/data/repositories/settings_repository.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'save_settings.g.dart';
@@ -1,22 +1,22 @@
import 'package:bang_navigator/features/bangs/data/models/bang.dart';
import 'package:bang_navigator/features/bangs/domain/providers.dart';
import 'package:bang_navigator/features/bangs/domain/repositories/data.dart';
import 'package:bang_navigator/features/content_block/data/models/host.dart';
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
import 'package:bang_navigator/features/settings/data/models/settings.dart';
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
import 'package:bang_navigator/features/settings/presentation/controllers/save_settings.dart';
import 'package:bang_navigator/features/settings/presentation/widgets/bang_group_list_tile.dart';
import 'package:bang_navigator/features/settings/presentation/widgets/custom_list_tile.dart';
import 'package:bang_navigator/features/settings/presentation/widgets/host_list_tile.dart';
import 'package:bang_navigator/features/settings/utils/session_link_extractor.dart';
import 'package:bang_navigator/presentation/hooks/listenable_callback.dart';
import 'package:bang_navigator/utils/ui_helper.dart' as ui_helper;
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_markdown/flutter_markdown.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/features/bangs/data/models/bang.dart';
import 'package:lensai/features/bangs/domain/providers.dart';
import 'package:lensai/features/bangs/domain/repositories/data.dart';
import 'package:lensai/features/content_block/data/models/host.dart';
import 'package:lensai/features/search_browser/domain/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/features/settings/presentation/controllers/save_settings.dart';
import 'package:lensai/features/settings/presentation/widgets/bang_group_list_tile.dart';
import 'package:lensai/features/settings/presentation/widgets/custom_list_tile.dart';
import 'package:lensai/features/settings/presentation/widgets/host_list_tile.dart';
import 'package:lensai/features/settings/utils/session_link_extractor.dart';
import 'package:lensai/presentation/hooks/listenable_callback.dart';
import 'package:lensai/utils/ui_helper.dart' as ui_helper;
class SettingsScreen extends HookConsumerWidget {
const SettingsScreen({super.key});
@@ -1,10 +1,10 @@
import 'package:bang_navigator/features/bangs/data/models/bang.dart';
import 'package:bang_navigator/features/bangs/domain/providers.dart';
import 'package:bang_navigator/features/bangs/domain/repositories/sync.dart';
import 'package:bang_navigator/features/settings/presentation/widgets/custom_list_tile.dart';
import 'package:bang_navigator/features/settings/presentation/widgets/sync_details_table.dart';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/features/bangs/data/models/bang.dart';
import 'package:lensai/features/bangs/domain/providers.dart';
import 'package:lensai/features/bangs/domain/repositories/sync.dart';
import 'package:lensai/features/settings/presentation/widgets/custom_list_tile.dart';
import 'package:lensai/features/settings/presentation/widgets/sync_details_table.dart';
class BangGroupListTile extends HookConsumerWidget {
final BangGroup group;
@@ -1,12 +1,12 @@
import 'package:bang_navigator/features/content_block/data/models/host.dart';
import 'package:bang_navigator/features/content_block/domain/providers.dart';
import 'package:bang_navigator/features/content_block/domain/repositories/sync.dart';
import 'package:bang_navigator/features/settings/data/models/settings.dart';
import 'package:bang_navigator/features/settings/presentation/controllers/save_settings.dart';
import 'package:bang_navigator/features/settings/presentation/widgets/custom_list_tile.dart';
import 'package:bang_navigator/features/settings/presentation/widgets/sync_details_table.dart';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/features/content_block/data/models/host.dart';
import 'package:lensai/features/content_block/domain/providers.dart';
import 'package:lensai/features/content_block/domain/repositories/sync.dart';
import 'package:lensai/features/settings/data/models/settings.dart';
import 'package:lensai/features/settings/presentation/controllers/save_settings.dart';
import 'package:lensai/features/settings/presentation/widgets/custom_list_tile.dart';
import 'package:lensai/features/settings/presentation/widgets/sync_details_table.dart';
class HostListTile extends HookConsumerWidget {
final bool enabled;
@@ -1,7 +1,7 @@
import 'package:bang_navigator/features/content_block/data/models/host.dart';
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
import 'package:collection/collection.dart';
import 'package:flutter/material.dart';
import 'package:lensai/features/content_block/data/models/host.dart';
import 'package:lensai/features/search_browser/domain/entities/modes.dart';
Set<HostSource>? parseHostSources(List<String>? input) => input
?.map(
@@ -1,4 +1,4 @@
import 'package:bang_navigator/utils/uri_parser.dart' as uri_parser;
import 'package:lensai/utils/uri_parser.dart' as uri_parser;
sealed class SharedContent {
const SharedContent();
@@ -1,12 +1,12 @@
import 'dart:async';
import 'package:bang_navigator/core/logger.dart';
import 'package:bang_navigator/domain/entities/received_parameter.dart';
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
import 'package:collection/collection.dart';
import 'package:flutter_pdf_text/flutter_pdf_text.dart';
import 'package:flutter_sharing_intent/flutter_sharing_intent.dart';
import 'package:flutter_sharing_intent/model/sharing_file.dart';
import 'package:lensai/core/logger.dart';
import 'package:lensai/domain/entities/received_parameter.dart';
import 'package:lensai/features/search_browser/domain/entities/modes.dart';
import 'package:mime/mime.dart' as mime;
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:rxdart/rxdart.dart';
@@ -1,9 +1,9 @@
import 'package:bang_navigator/domain/entities/web_page_info.dart';
import 'package:copy_with_extension/copy_with_extension.dart';
import 'package:fast_equatable/fast_equatable.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:lensai/domain/entities/web_page_info.dart';
part 'web_view_page.g.dart';
@@ -1,10 +1,10 @@
import 'dart:convert';
import 'package:bang_navigator/features/content_block/domain/repositories/host.dart';
import 'package:bang_navigator/features/settings/data/models/settings.dart';
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart' show rootBundle;
import 'package:lensai/features/content_block/domain/repositories/host.dart';
import 'package:lensai/features/settings/data/models/settings.dart';
import 'package:lensai/features/settings/data/repositories/settings_repository.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:universal_io/io.dart';
@@ -1,7 +1,7 @@
import 'dart:collection';
import 'package:bang_navigator/features/web_view/presentation/widgets/web_view.dart';
import 'package:flutter/foundation.dart';
import 'package:lensai/features/web_view/presentation/widgets/web_view.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'web_view.g.dart';
@@ -1,5 +1,5 @@
import 'package:bang_navigator/features/web_view/presentation/services/readerability_script.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:lensai/features/web_view/presentation/services/readerability_script.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'readerability.g.dart';
@@ -1,7 +1,7 @@
import 'package:bang_navigator/features/web_view/domain/entities/web_view_page.dart';
import 'package:bang_navigator/features/web_view/domain/repositories/web_view.dart';
import 'package:bang_navigator/features/web_view/presentation/widgets/web_view.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:lensai/features/web_view/domain/entities/web_view_page.dart';
import 'package:lensai/features/web_view/domain/repositories/web_view.dart';
import 'package:lensai/features/web_view/presentation/widgets/web_view.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'switch_new_tab.g.dart';
@@ -1,7 +1,7 @@
import 'package:bang_navigator/features/settings/data/models/settings.dart';
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
import 'package:bang_navigator/features/web_view/domain/providers.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:lensai/features/settings/data/models/settings.dart';
import 'package:lensai/features/settings/data/repositories/settings_repository.dart';
import 'package:lensai/features/web_view/domain/providers.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'readerability_script.g.dart';
@@ -1,7 +1,7 @@
import 'package:bang_navigator/domain/entities/web_page_info.dart';
import 'package:bang_navigator/extensions/web_uri_favicon.dart';
import 'package:flutter/material.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:lensai/domain/entities/web_page_info.dart';
import 'package:lensai/extensions/web_uri_favicon.dart';
class FaviconImage extends StatelessWidget {
final double size;
@@ -1,25 +1,25 @@
import 'package:bang_navigator/domain/entities/web_page_info.dart';
import 'package:bang_navigator/features/bangs/data/models/bang_data.dart';
import 'package:bang_navigator/features/bangs/domain/providers.dart';
import 'package:bang_navigator/features/bangs/presentation/widgets/site_search.dart';
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
import 'package:bang_navigator/features/search_browser/utils/url_builder.dart'
as uri_builder;
import 'package:bang_navigator/features/settings/data/models/settings.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/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:bang_navigator/features/web_view/presentation/widgets/favicon.dart';
import 'package:bang_navigator/presentation/controllers/website_title.dart';
import 'package:bang_navigator/presentation/widgets/failure_widget.dart';
import 'package:bang_navigator/utils/ui_helper.dart' as ui_helper;
import 'package:bang_navigator/utils/uri_parser.dart' as uri_parser;
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/domain/entities/web_page_info.dart';
import 'package:lensai/features/bangs/data/models/bang_data.dart';
import 'package:lensai/features/bangs/domain/providers.dart';
import 'package:lensai/features/bangs/presentation/widgets/site_search.dart';
import 'package:lensai/features/search_browser/domain/entities/modes.dart';
import 'package:lensai/features/search_browser/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/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:lensai/features/web_view/presentation/widgets/favicon.dart';
import 'package:lensai/presentation/controllers/website_title.dart';
import 'package:lensai/presentation/widgets/failure_widget.dart';
import 'package:lensai/utils/ui_helper.dart' as ui_helper;
import 'package:lensai/utils/uri_parser.dart' as uri_parser;
import 'package:share_plus/share_plus.dart';
class LoadingWebPageDialog extends HookConsumerWidget {
@@ -1,29 +1,29 @@
import 'dart:async';
import 'dart:convert';
import 'package:bang_navigator/core/logger.dart';
import 'package:bang_navigator/domain/services/generic_website.dart';
import 'package:bang_navigator/features/bangs/domain/providers.dart';
import 'package:bang_navigator/features/chat_archive/domain/entities/chat_entity.dart';
import 'package:bang_navigator/features/chat_archive/domain/repositories/archive.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/providers.dart';
import 'package:bang_navigator/features/settings/data/models/settings.dart';
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
import 'package:bang_navigator/features/web_view/domain/entities/web_view_page.dart';
import 'package:bang_navigator/features/web_view/domain/providers.dart';
import 'package:bang_navigator/features/web_view/presentation/controllers/readerability.dart';
import 'package:bang_navigator/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:bang_navigator/features/web_view/presentation/widgets/web_page_dialog.dart';
import 'package:bang_navigator/features/web_view/utils/download_helper.dart';
import 'package:bang_navigator/utils/platform_util.dart' as platform_util;
import 'package:bang_navigator/utils/ui_helper.dart' as ui_helper;
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/core/logger.dart';
import 'package:lensai/domain/services/generic_website.dart';
import 'package:lensai/features/bangs/domain/providers.dart';
import 'package:lensai/features/chat_archive/domain/entities/chat_entity.dart';
import 'package:lensai/features/chat_archive/domain/repositories/archive.dart';
import 'package:lensai/features/search_browser/domain/entities/modes.dart';
import 'package:lensai/features/search_browser/domain/entities/sheet.dart';
import 'package:lensai/features/search_browser/domain/providers.dart';
import 'package:lensai/features/settings/data/models/settings.dart';
import 'package:lensai/features/settings/data/repositories/settings_repository.dart';
import 'package:lensai/features/web_view/domain/entities/web_view_page.dart';
import 'package:lensai/features/web_view/domain/providers.dart';
import 'package:lensai/features/web_view/presentation/controllers/readerability.dart';
import 'package:lensai/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:lensai/features/web_view/presentation/widgets/web_page_dialog.dart';
import 'package:lensai/features/web_view/utils/download_helper.dart';
import 'package:lensai/utils/platform_util.dart' as platform_util;
import 'package:lensai/utils/ui_helper.dart' as ui_helper;
import 'package:url_launcher/url_launcher.dart';
const _webViewSupportedSchemes = [
@@ -1,9 +1,9 @@
import 'package:bang_navigator/features/web_view/domain/repositories/web_view.dart';
import 'package:bang_navigator/features/web_view/presentation/widgets/favicon.dart';
import 'package:bang_navigator/features/web_view/presentation/widgets/web_view.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/features/web_view/domain/repositories/web_view.dart';
import 'package:lensai/features/web_view/presentation/widgets/favicon.dart';
import 'package:lensai/features/web_view/presentation/widgets/web_view.dart';
class WebViewTab extends HookConsumerWidget {
final WebView webView;
+6 -6
View File
@@ -1,13 +1,13 @@
import 'package:bang_navigator/core/error_observer.dart';
import 'package:bang_navigator/domain/services/app_initialization.dart';
import 'package:bang_navigator/features/settings/data/models/settings.dart';
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
import 'package:bang_navigator/presentation/hooks/on_initialization.dart';
import 'package:bang_navigator/presentation/widgets/main_app.dart';
import 'package:dynamic_color/dynamic_color.dart';
import 'package:flutter/material.dart';
import 'package:home_widget/home_widget.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/core/error_observer.dart';
import 'package:lensai/domain/services/app_initialization.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/on_initialization.dart';
import 'package:lensai/presentation/widgets/main_app.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
@@ -1,5 +1,5 @@
import 'package:bang_navigator/domain/entities/web_page_info.dart';
import 'package:bang_navigator/domain/services/generic_website.dart';
import 'package:lensai/domain/entities/web_page_info.dart';
import 'package:lensai/domain/services/generic_website.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'website_title.g.dart';
+3 -3
View File
@@ -1,8 +1,8 @@
import 'package:bang_navigator/core/providers.dart';
import 'package:bang_navigator/domain/services/app_initialization.dart';
import 'package:bang_navigator/presentation/widgets/failure_widget.dart';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/core/providers.dart';
import 'package:lensai/domain/services/app_initialization.dart';
import 'package:lensai/presentation/widgets/failure_widget.dart';
class MainApp extends HookConsumerWidget {
final ThemeData? theme;
@@ -1,8 +1,8 @@
import 'package:bang_navigator/features/web_view/presentation/widgets/favicon.dart';
import 'package:bang_navigator/presentation/controllers/website_title.dart';
import 'package:bang_navigator/presentation/widgets/failure_widget.dart';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/features/web_view/presentation/widgets/favicon.dart';
import 'package:lensai/presentation/controllers/website_title.dart';
import 'package:lensai/presentation/widgets/failure_widget.dart';
import 'package:skeletonizer/skeletonizer.dart';
class WebsiteTitleTile extends HookConsumerWidget {
+1 -1
View File
@@ -1,4 +1,4 @@
name: bang_navigator
name: lensai
description: "A secure and privacy friendly search browser"
publish_to: 'none'
version: 0.5.2+11