diff --git a/DONE.md b/DONE.md index c9847ee..f82ed4e 100644 --- a/DONE.md +++ b/DONE.md @@ -6,6 +6,11 @@ Tasks get moved from NEXT.md to DONE.md ## Tasks +## Enable always_use_package_imports lint rule + +Added rule to `analysis_options.yaml`; `dart fix --apply` converted 125 relative +imports across 33 files to `package:sharedinbox/...` style automatically. + ## Replace silent catch (_) with logged errors 5 `catch (_)` blocks in JMAP push stream setup and 2 in UI screens now use diff --git a/NEXT.md b/NEXT.md index 4510c93..0e6c335 100644 --- a/NEXT.md +++ b/NEXT.md @@ -18,10 +18,6 @@ Then commit. ## Tasks -## Enable always_use_package_imports lint rule - -Add `always_use_package_imports: true` to `analysis_options.yaml`, then fix all relative imports across `lib/` to use `package:sharedinbox3/...` style. - ## Extract _batchMoveToRole helper in email_list_screen `_batchArchive()` and `_batchMarkSpam()` in `lib/ui/screens/email_list_screen.dart` (~lines 249–313) share the same pattern: look up a mailbox role, validate, iterate selected ids, call repo method. Extract a shared `_batchMoveToRole(String role)` helper. diff --git a/analysis_options.yaml b/analysis_options.yaml index 3380e28..e66797e 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -60,6 +60,7 @@ linter: - avoid_positional_boolean_parameters # Imports and style + - always_use_package_imports - directives_ordering - curly_braces_in_flow_control_structures - require_trailing_commas diff --git a/lib/core/repositories/account_repository.dart b/lib/core/repositories/account_repository.dart index 3d66929..1fda63e 100644 --- a/lib/core/repositories/account_repository.dart +++ b/lib/core/repositories/account_repository.dart @@ -1,4 +1,4 @@ -import '../models/account.dart'; +import 'package:sharedinbox/core/models/account.dart'; abstract class AccountRepository { Stream> observeAccounts(); diff --git a/lib/core/repositories/draft_repository.dart b/lib/core/repositories/draft_repository.dart index 64e3c07..e7cec78 100644 --- a/lib/core/repositories/draft_repository.dart +++ b/lib/core/repositories/draft_repository.dart @@ -1,4 +1,4 @@ -import '../models/draft.dart'; +import 'package:sharedinbox/core/models/draft.dart'; abstract class DraftRepository { /// Inserts or updates a draft. Pass [id] to update; omit to create new. diff --git a/lib/core/repositories/email_repository.dart b/lib/core/repositories/email_repository.dart index bfa20fc..b022f4e 100644 --- a/lib/core/repositories/email_repository.dart +++ b/lib/core/repositories/email_repository.dart @@ -1,4 +1,4 @@ -import '../models/email.dart'; +import 'package:sharedinbox/core/models/email.dart'; abstract class EmailRepository { Stream> observeEmails(String accountId, String mailboxPath); diff --git a/lib/core/repositories/mailbox_repository.dart b/lib/core/repositories/mailbox_repository.dart index f990785..6eb15d9 100644 --- a/lib/core/repositories/mailbox_repository.dart +++ b/lib/core/repositories/mailbox_repository.dart @@ -1,4 +1,4 @@ -import '../models/mailbox.dart'; +import 'package:sharedinbox/core/models/mailbox.dart'; abstract class MailboxRepository { Stream> observeMailboxes(String accountId); diff --git a/lib/core/services/account_discovery_service.dart b/lib/core/services/account_discovery_service.dart index 1a4fb88..9d3533f 100644 --- a/lib/core/services/account_discovery_service.dart +++ b/lib/core/services/account_discovery_service.dart @@ -1,6 +1,6 @@ import 'package:http/http.dart' as http; -import '../models/discovery_result.dart'; +import 'package:sharedinbox/core/models/discovery_result.dart'; abstract class AccountDiscoveryService { Future discover(String email); diff --git a/lib/core/services/connection_test_service.dart b/lib/core/services/connection_test_service.dart index e4ecf51..51f48b2 100644 --- a/lib/core/services/connection_test_service.dart +++ b/lib/core/services/connection_test_service.dart @@ -2,9 +2,8 @@ import 'dart:convert'; import 'package:enough_mail/enough_mail.dart' as imap; import 'package:http/http.dart' as http; - -import '../../data/imap/imap_client_factory.dart'; -import '../models/account.dart'; +import 'package:sharedinbox/core/models/account.dart'; +import 'package:sharedinbox/data/imap/imap_client_factory.dart'; typedef ImapConnectForTestFn = Future Function( Account, diff --git a/lib/core/sync/account_sync_manager.dart b/lib/core/sync/account_sync_manager.dart index 43f10fb..d3935fe 100644 --- a/lib/core/sync/account_sync_manager.dart +++ b/lib/core/sync/account_sync_manager.dart @@ -1,16 +1,15 @@ import 'dart:async'; import 'package:enough_mail/enough_mail.dart' as imap; - -import '../../data/imap/imap_client_factory.dart' +import 'package:sharedinbox/core/models/account.dart'; +import 'package:sharedinbox/core/models/email.dart' show SyncEmailsResult; +import 'package:sharedinbox/core/repositories/account_repository.dart'; +import 'package:sharedinbox/core/repositories/email_repository.dart'; +import 'package:sharedinbox/core/repositories/mailbox_repository.dart'; +import 'package:sharedinbox/core/repositories/sync_log_repository.dart'; +import 'package:sharedinbox/core/utils/logger.dart'; +import 'package:sharedinbox/data/imap/imap_client_factory.dart' show ImapConnectFn, connectImap, verboseLogKey; -import '../models/account.dart'; -import '../models/email.dart' show SyncEmailsResult; -import '../repositories/account_repository.dart'; -import '../repositories/email_repository.dart'; -import '../repositories/mailbox_repository.dart'; -import '../repositories/sync_log_repository.dart'; -import '../utils/logger.dart'; /// Manages background sync for all accounts. /// diff --git a/lib/data/imap/imap_client_factory.dart b/lib/data/imap/imap_client_factory.dart index 2630805..72b95b6 100644 --- a/lib/data/imap/imap_client_factory.dart +++ b/lib/data/imap/imap_client_factory.dart @@ -2,7 +2,7 @@ import 'dart:async'; import 'package:enough_mail/enough_mail.dart'; -import '../../core/models/account.dart'; +import 'package:sharedinbox/core/models/account.dart'; typedef ImapConnectFn = Future Function( Account account, diff --git a/lib/data/jmap/jmap_client.dart b/lib/data/jmap/jmap_client.dart index 2e62ef3..6cf3063 100644 --- a/lib/data/jmap/jmap_client.dart +++ b/lib/data/jmap/jmap_client.dart @@ -4,7 +4,8 @@ import 'dart:typed_data'; import 'package:http/http.dart' as http; -import '../imap/imap_client_factory.dart' show verboseLogKey; +import 'package:sharedinbox/data/imap/imap_client_factory.dart' + show verboseLogKey; const _coreUsing = [ 'urn:ietf:params:jmap:core', diff --git a/lib/data/jmap/sieve_repository.dart b/lib/data/jmap/sieve_repository.dart index c07afe0..7b2ac2d 100644 --- a/lib/data/jmap/sieve_repository.dart +++ b/lib/data/jmap/sieve_repository.dart @@ -3,10 +3,10 @@ import 'dart:typed_data'; import 'package:http/http.dart' as http; -import '../../core/models/account.dart'; -import '../../core/models/sieve_script.dart'; -import '../../core/repositories/account_repository.dart'; -import 'jmap_client.dart'; +import 'package:sharedinbox/core/models/account.dart'; +import 'package:sharedinbox/core/models/sieve_script.dart'; +import 'package:sharedinbox/core/repositories/account_repository.dart'; +import 'package:sharedinbox/data/jmap/jmap_client.dart'; class SieveRepository { SieveRepository(this._accounts, this._httpClient); diff --git a/lib/data/repositories/account_repository_impl.dart b/lib/data/repositories/account_repository_impl.dart index 79a5e0e..a464784 100644 --- a/lib/data/repositories/account_repository_impl.dart +++ b/lib/data/repositories/account_repository_impl.dart @@ -1,9 +1,9 @@ import 'package:drift/drift.dart' show Value; -import '../../core/models/account.dart' as model; -import '../../core/repositories/account_repository.dart'; -import '../../core/storage/secure_storage.dart'; -import '../db/database.dart'; +import 'package:sharedinbox/core/models/account.dart' as model; +import 'package:sharedinbox/core/repositories/account_repository.dart'; +import 'package:sharedinbox/core/storage/secure_storage.dart'; +import 'package:sharedinbox/data/db/database.dart'; class AccountRepositoryImpl implements AccountRepository { AccountRepositoryImpl(this._db, this._storage); diff --git a/lib/data/repositories/draft_repository_impl.dart b/lib/data/repositories/draft_repository_impl.dart index d2e9216..9a12ead 100644 --- a/lib/data/repositories/draft_repository_impl.dart +++ b/lib/data/repositories/draft_repository_impl.dart @@ -1,8 +1,8 @@ import 'package:drift/drift.dart'; -import '../../core/models/draft.dart'; -import '../../core/repositories/draft_repository.dart'; -import '../db/database.dart'; +import 'package:sharedinbox/core/models/draft.dart'; +import 'package:sharedinbox/core/repositories/draft_repository.dart'; +import 'package:sharedinbox/data/db/database.dart'; class DraftRepositoryImpl implements DraftRepository { DraftRepositoryImpl(this._db); diff --git a/lib/data/repositories/email_repository_impl.dart b/lib/data/repositories/email_repository_impl.dart index e73c78f..f1cb9b9 100644 --- a/lib/data/repositories/email_repository_impl.dart +++ b/lib/data/repositories/email_repository_impl.dart @@ -9,14 +9,14 @@ import 'package:http/http.dart' as http; import 'package:path/path.dart' as p; import 'package:path_provider/path_provider.dart'; -import '../../core/models/account.dart' as account_model; -import '../../core/models/email.dart' as model; -import '../../core/repositories/account_repository.dart'; -import '../../core/repositories/email_repository.dart'; -import '../../core/utils/logger.dart'; -import '../db/database.dart'; -import '../imap/imap_client_factory.dart'; -import '../jmap/jmap_client.dart'; +import 'package:sharedinbox/core/models/account.dart' as account_model; +import 'package:sharedinbox/core/models/email.dart' as model; +import 'package:sharedinbox/core/repositories/account_repository.dart'; +import 'package:sharedinbox/core/repositories/email_repository.dart'; +import 'package:sharedinbox/core/utils/logger.dart'; +import 'package:sharedinbox/data/db/database.dart'; +import 'package:sharedinbox/data/imap/imap_client_factory.dart'; +import 'package:sharedinbox/data/jmap/jmap_client.dart'; typedef SmtpConnectFn = Future Function( account_model.Account account, diff --git a/lib/data/repositories/mailbox_repository_impl.dart b/lib/data/repositories/mailbox_repository_impl.dart index da6f4c6..d772fda 100644 --- a/lib/data/repositories/mailbox_repository_impl.dart +++ b/lib/data/repositories/mailbox_repository_impl.dart @@ -2,14 +2,14 @@ import 'package:drift/drift.dart'; import 'package:enough_mail/enough_mail.dart' as imap; import 'package:http/http.dart' as http; -import '../../core/models/account.dart' as account_model; -import '../../core/models/mailbox.dart' as model; -import '../../core/repositories/account_repository.dart'; -import '../../core/repositories/mailbox_repository.dart'; -import '../../core/utils/logger.dart'; -import '../db/database.dart'; -import '../imap/imap_client_factory.dart'; -import '../jmap/jmap_client.dart'; +import 'package:sharedinbox/core/models/account.dart' as account_model; +import 'package:sharedinbox/core/models/mailbox.dart' as model; +import 'package:sharedinbox/core/repositories/account_repository.dart'; +import 'package:sharedinbox/core/repositories/mailbox_repository.dart'; +import 'package:sharedinbox/core/utils/logger.dart'; +import 'package:sharedinbox/data/db/database.dart'; +import 'package:sharedinbox/data/imap/imap_client_factory.dart'; +import 'package:sharedinbox/data/jmap/jmap_client.dart'; class MailboxRepositoryImpl implements MailboxRepository { MailboxRepositoryImpl( diff --git a/lib/data/repositories/sync_log_repository_impl.dart b/lib/data/repositories/sync_log_repository_impl.dart index ff2db7e..92fa44d 100644 --- a/lib/data/repositories/sync_log_repository_impl.dart +++ b/lib/data/repositories/sync_log_repository_impl.dart @@ -1,7 +1,7 @@ import 'package:drift/drift.dart'; -import '../../core/repositories/sync_log_repository.dart'; -import '../db/database.dart'; +import 'package:sharedinbox/core/repositories/sync_log_repository.dart'; +import 'package:sharedinbox/data/db/database.dart'; class SyncLogRepositoryImpl implements SyncLogRepository { SyncLogRepositoryImpl(this._db); diff --git a/lib/data/storage/flutter_secure_storage_impl.dart b/lib/data/storage/flutter_secure_storage_impl.dart index d458ee7..4e1d28f 100644 --- a/lib/data/storage/flutter_secure_storage_impl.dart +++ b/lib/data/storage/flutter_secure_storage_impl.dart @@ -1,6 +1,6 @@ import 'package:flutter_secure_storage/flutter_secure_storage.dart'; -import '../../core/storage/secure_storage.dart'; +import 'package:sharedinbox/core/storage/secure_storage.dart'; class FlutterSecureStorageImpl implements SecureStorage { const FlutterSecureStorageImpl(); diff --git a/lib/di.dart b/lib/di.dart index 55c9ad3..134873d 100644 --- a/lib/di.dart +++ b/lib/di.dart @@ -1,23 +1,23 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:http/http.dart' as http; -import 'core/models/account.dart' as model; -import 'core/repositories/account_repository.dart'; -import 'core/repositories/draft_repository.dart'; -import 'core/repositories/email_repository.dart'; -import 'core/repositories/mailbox_repository.dart'; -import 'core/services/account_discovery_service.dart'; -import 'core/services/connection_test_service.dart'; -import 'core/storage/secure_storage.dart'; -import 'core/sync/account_sync_manager.dart'; -import 'data/db/database.dart'; -import 'data/jmap/sieve_repository.dart'; -import 'data/repositories/account_repository_impl.dart'; -import 'data/repositories/draft_repository_impl.dart'; -import 'data/repositories/email_repository_impl.dart'; -import 'data/repositories/mailbox_repository_impl.dart'; -import 'data/repositories/sync_log_repository_impl.dart'; -import 'data/storage/flutter_secure_storage_impl.dart'; +import 'package:sharedinbox/core/models/account.dart' as model; +import 'package:sharedinbox/core/repositories/account_repository.dart'; +import 'package:sharedinbox/core/repositories/draft_repository.dart'; +import 'package:sharedinbox/core/repositories/email_repository.dart'; +import 'package:sharedinbox/core/repositories/mailbox_repository.dart'; +import 'package:sharedinbox/core/services/account_discovery_service.dart'; +import 'package:sharedinbox/core/services/connection_test_service.dart'; +import 'package:sharedinbox/core/storage/secure_storage.dart'; +import 'package:sharedinbox/core/sync/account_sync_manager.dart'; +import 'package:sharedinbox/data/db/database.dart'; +import 'package:sharedinbox/data/jmap/sieve_repository.dart'; +import 'package:sharedinbox/data/repositories/account_repository_impl.dart'; +import 'package:sharedinbox/data/repositories/draft_repository_impl.dart'; +import 'package:sharedinbox/data/repositories/email_repository_impl.dart'; +import 'package:sharedinbox/data/repositories/mailbox_repository_impl.dart'; +import 'package:sharedinbox/data/repositories/sync_log_repository_impl.dart'; +import 'package:sharedinbox/data/storage/flutter_secure_storage_impl.dart'; final dbProvider = Provider((ref) { final db = AppDatabase(); diff --git a/lib/main.dart b/lib/main.dart index 7954f1e..10f8811 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'di.dart'; -import 'ui/router.dart'; +import 'package:sharedinbox/di.dart'; +import 'package:sharedinbox/ui/router.dart'; void main({List overrides = const []}) { runApp(ProviderScope(overrides: overrides, child: const SharedInboxApp())); diff --git a/lib/ui/router.dart b/lib/ui/router.dart index f9bf8af..b21f7a8 100644 --- a/lib/ui/router.dart +++ b/lib/ui/router.dart @@ -1,20 +1,20 @@ import 'package:go_router/go_router.dart'; -import '../core/models/sieve_script.dart'; +import 'package:sharedinbox/core/models/sieve_script.dart'; -import 'screens/account_list_screen.dart'; -import 'screens/add_account_screen.dart'; -import 'screens/address_emails_screen.dart'; -import 'screens/compose_screen.dart'; -import 'screens/edit_account_screen.dart'; -import 'screens/email_detail_screen.dart'; -import 'screens/email_list_screen.dart'; -import 'screens/mailbox_list_screen.dart'; -import 'screens/search_screen.dart'; -import 'screens/sieve_script_edit_screen.dart'; -import 'screens/sieve_scripts_screen.dart'; -import 'screens/sync_log_screen.dart'; -import 'screens/thread_detail_screen.dart'; +import 'package:sharedinbox/ui/screens/account_list_screen.dart'; +import 'package:sharedinbox/ui/screens/add_account_screen.dart'; +import 'package:sharedinbox/ui/screens/address_emails_screen.dart'; +import 'package:sharedinbox/ui/screens/compose_screen.dart'; +import 'package:sharedinbox/ui/screens/edit_account_screen.dart'; +import 'package:sharedinbox/ui/screens/email_detail_screen.dart'; +import 'package:sharedinbox/ui/screens/email_list_screen.dart'; +import 'package:sharedinbox/ui/screens/mailbox_list_screen.dart'; +import 'package:sharedinbox/ui/screens/search_screen.dart'; +import 'package:sharedinbox/ui/screens/sieve_script_edit_screen.dart'; +import 'package:sharedinbox/ui/screens/sieve_scripts_screen.dart'; +import 'package:sharedinbox/ui/screens/sync_log_screen.dart'; +import 'package:sharedinbox/ui/screens/thread_detail_screen.dart'; final router = GoRouter( initialLocation: '/accounts', diff --git a/lib/ui/screens/account_list_screen.dart b/lib/ui/screens/account_list_screen.dart index 8611e48..548d31c 100644 --- a/lib/ui/screens/account_list_screen.dart +++ b/lib/ui/screens/account_list_screen.dart @@ -2,8 +2,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; -import '../../core/models/account.dart'; -import '../../di.dart'; +import 'package:sharedinbox/core/models/account.dart'; +import 'package:sharedinbox/di.dart'; class AccountListScreen extends ConsumerWidget { const AccountListScreen({super.key}); diff --git a/lib/ui/screens/add_account_screen.dart b/lib/ui/screens/add_account_screen.dart index 5c66324..323fec5 100644 --- a/lib/ui/screens/add_account_screen.dart +++ b/lib/ui/screens/add_account_screen.dart @@ -2,10 +2,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; -import '../../core/models/account.dart'; -import '../../core/models/discovery_result.dart'; -import '../../core/utils/logger.dart'; -import '../../di.dart'; +import 'package:sharedinbox/core/models/account.dart'; +import 'package:sharedinbox/core/models/discovery_result.dart'; +import 'package:sharedinbox/core/utils/logger.dart'; +import 'package:sharedinbox/di.dart'; enum _Step { email, detecting, chooseType, jmapForm, imapForm, connecting } diff --git a/lib/ui/screens/address_emails_screen.dart b/lib/ui/screens/address_emails_screen.dart index 941cc48..fd1b56a 100644 --- a/lib/ui/screens/address_emails_screen.dart +++ b/lib/ui/screens/address_emails_screen.dart @@ -4,8 +4,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; -import '../../core/models/email.dart'; -import '../../di.dart'; +import 'package:sharedinbox/core/models/email.dart'; +import 'package:sharedinbox/di.dart'; class AddressEmailsScreen extends ConsumerStatefulWidget { const AddressEmailsScreen({ diff --git a/lib/ui/screens/compose_screen.dart b/lib/ui/screens/compose_screen.dart index 0a48d2d..2720abb 100644 --- a/lib/ui/screens/compose_screen.dart +++ b/lib/ui/screens/compose_screen.dart @@ -8,11 +8,11 @@ import 'package:go_router/go_router.dart'; import 'package:mime/mime.dart'; import 'package:open_filex/open_filex.dart'; -import '../../core/models/account.dart'; -import '../../core/models/email.dart'; -import '../../core/repositories/draft_repository.dart'; -import '../../core/utils/format_utils.dart'; -import '../../di.dart'; +import 'package:sharedinbox/core/models/account.dart'; +import 'package:sharedinbox/core/models/email.dart'; +import 'package:sharedinbox/core/repositories/draft_repository.dart'; +import 'package:sharedinbox/core/utils/format_utils.dart'; +import 'package:sharedinbox/di.dart'; class ComposeScreen extends ConsumerStatefulWidget { const ComposeScreen({ diff --git a/lib/ui/screens/edit_account_screen.dart b/lib/ui/screens/edit_account_screen.dart index 98e5dd3..40b67a6 100644 --- a/lib/ui/screens/edit_account_screen.dart +++ b/lib/ui/screens/edit_account_screen.dart @@ -4,8 +4,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; -import '../../core/models/account.dart'; -import '../../di.dart'; +import 'package:sharedinbox/core/models/account.dart'; +import 'package:sharedinbox/di.dart'; class EditAccountScreen extends ConsumerStatefulWidget { const EditAccountScreen({super.key, required this.accountId}); diff --git a/lib/ui/screens/email_detail_screen.dart b/lib/ui/screens/email_detail_screen.dart index 5808f5e..1d2e30d 100644 --- a/lib/ui/screens/email_detail_screen.dart +++ b/lib/ui/screens/email_detail_screen.dart @@ -6,10 +6,10 @@ import 'package:go_router/go_router.dart'; import 'package:intl/intl.dart'; import 'package:open_filex/open_filex.dart'; -import '../../core/models/email.dart'; -import '../../core/utils/format_utils.dart'; -import '../../core/utils/html_utils.dart'; -import '../../di.dart'; +import 'package:sharedinbox/core/models/email.dart'; +import 'package:sharedinbox/core/utils/format_utils.dart'; +import 'package:sharedinbox/core/utils/html_utils.dart'; +import 'package:sharedinbox/di.dart'; final _dateFmt = DateFormat('EEE, MMM d yyyy, HH:mm'); diff --git a/lib/ui/screens/email_list_screen.dart b/lib/ui/screens/email_list_screen.dart index 490dc2a..0a7fc1b 100644 --- a/lib/ui/screens/email_list_screen.dart +++ b/lib/ui/screens/email_list_screen.dart @@ -3,11 +3,11 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; import 'package:intl/intl.dart'; -import '../../core/models/account.dart'; -import '../../core/models/email.dart'; -import '../../core/repositories/email_repository.dart'; -import '../../di.dart'; -import '../widgets/folder_drawer.dart'; +import 'package:sharedinbox/core/models/account.dart'; +import 'package:sharedinbox/core/models/email.dart'; +import 'package:sharedinbox/core/repositories/email_repository.dart'; +import 'package:sharedinbox/di.dart'; +import 'package:sharedinbox/ui/widgets/folder_drawer.dart'; final _dateFmt = DateFormat('MMM d'); diff --git a/lib/ui/screens/mailbox_list_screen.dart b/lib/ui/screens/mailbox_list_screen.dart index ba5150b..50a07f4 100644 --- a/lib/ui/screens/mailbox_list_screen.dart +++ b/lib/ui/screens/mailbox_list_screen.dart @@ -2,10 +2,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; -import '../../core/models/email.dart'; -import '../../core/repositories/email_repository.dart'; -import '../../di.dart'; -import '../widgets/folder_drawer.dart'; +import 'package:sharedinbox/core/models/email.dart'; +import 'package:sharedinbox/core/repositories/email_repository.dart'; +import 'package:sharedinbox/di.dart'; +import 'package:sharedinbox/ui/widgets/folder_drawer.dart'; class MailboxListScreen extends ConsumerWidget { const MailboxListScreen({super.key, required this.accountId}); diff --git a/lib/ui/screens/search_screen.dart b/lib/ui/screens/search_screen.dart index c2ae1e4..f173f02 100644 --- a/lib/ui/screens/search_screen.dart +++ b/lib/ui/screens/search_screen.dart @@ -4,11 +4,11 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; -import '../../core/models/email.dart'; -import '../../core/models/mailbox.dart'; -import '../../core/utils/logger.dart'; -import '../../di.dart'; -import '../widgets/folder_drawer.dart'; +import 'package:sharedinbox/core/models/email.dart'; +import 'package:sharedinbox/core/models/mailbox.dart'; +import 'package:sharedinbox/core/utils/logger.dart'; +import 'package:sharedinbox/di.dart'; +import 'package:sharedinbox/ui/widgets/folder_drawer.dart'; class SearchScreen extends ConsumerStatefulWidget { const SearchScreen({super.key, required this.accountId}); diff --git a/lib/ui/screens/sieve_script_edit_screen.dart b/lib/ui/screens/sieve_script_edit_screen.dart index 3f93b00..52f9774 100644 --- a/lib/ui/screens/sieve_script_edit_screen.dart +++ b/lib/ui/screens/sieve_script_edit_screen.dart @@ -3,8 +3,8 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../../core/models/sieve_script.dart'; -import '../../di.dart'; +import 'package:sharedinbox/core/models/sieve_script.dart'; +import 'package:sharedinbox/di.dart'; class SieveScriptEditScreen extends ConsumerStatefulWidget { const SieveScriptEditScreen({ diff --git a/lib/ui/screens/sieve_scripts_screen.dart b/lib/ui/screens/sieve_scripts_screen.dart index be65f3f..03af6b0 100644 --- a/lib/ui/screens/sieve_scripts_screen.dart +++ b/lib/ui/screens/sieve_scripts_screen.dart @@ -4,8 +4,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; -import '../../core/models/sieve_script.dart'; -import '../../di.dart'; +import 'package:sharedinbox/core/models/sieve_script.dart'; +import 'package:sharedinbox/di.dart'; class SieveScriptsScreen extends ConsumerStatefulWidget { const SieveScriptsScreen({super.key, required this.accountId}); diff --git a/lib/ui/screens/sync_log_screen.dart b/lib/ui/screens/sync_log_screen.dart index e6ef83d..b20158a 100644 --- a/lib/ui/screens/sync_log_screen.dart +++ b/lib/ui/screens/sync_log_screen.dart @@ -2,8 +2,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:intl/intl.dart'; -import '../../core/repositories/sync_log_repository.dart'; -import '../../di.dart'; +import 'package:sharedinbox/core/repositories/sync_log_repository.dart'; +import 'package:sharedinbox/di.dart'; final _timeFmt = DateFormat('MMM d, HH:mm:ss'); diff --git a/lib/ui/screens/thread_detail_screen.dart b/lib/ui/screens/thread_detail_screen.dart index b42c2bc..cb19439 100644 --- a/lib/ui/screens/thread_detail_screen.dart +++ b/lib/ui/screens/thread_detail_screen.dart @@ -3,8 +3,8 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; import 'package:intl/intl.dart'; -import '../../core/models/email.dart'; -import '../../di.dart'; +import 'package:sharedinbox/core/models/email.dart'; +import 'package:sharedinbox/di.dart'; final _dateFmt = DateFormat('MMM d'); diff --git a/lib/ui/widgets/folder_drawer.dart b/lib/ui/widgets/folder_drawer.dart index 36b97ef..0b8f1a8 100644 --- a/lib/ui/widgets/folder_drawer.dart +++ b/lib/ui/widgets/folder_drawer.dart @@ -2,8 +2,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; -import '../../core/models/mailbox.dart'; -import '../../di.dart'; +import 'package:sharedinbox/core/models/mailbox.dart'; +import 'package:sharedinbox/di.dart'; /// Sorts INBOX first, Drafts second, then alphabetically. int compareMailboxes(Mailbox a, Mailbox b) {