Fix ver riverpod

This commit is contained in:
2026-05-27 10:59:58 +03:00
parent fe67189ac7
commit 985896f2dd
18 changed files with 199 additions and 182 deletions
-2
View File
@@ -1,6 +1,4 @@
analyzer: analyzer:
plugins:
- custom_lint
exclude: exclude:
- "**/*.g.dart" - "**/*.g.dart"
- "**/*.freezed.dart" - "**/*.freezed.dart"
-1
View File
@@ -1,4 +1,3 @@
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart';
@@ -5,7 +5,7 @@ part 'database_provider.g.dart';
/// Singleton базы данных. keepAlive=true — живёт всё время работы приложения. /// Singleton базы данных. keepAlive=true — живёт всё время работы приложения.
@Riverpod(keepAlive: true) @Riverpod(keepAlive: true)
AppDatabase appDatabase(AppDatabaseRef ref) { AppDatabase appDatabase(Ref ref) {
final db = AppDatabase(); final db = AppDatabase();
ref.onDispose(db.close); ref.onDispose(db.close);
return db; return db;
@@ -6,7 +6,7 @@ import '../domain/repositories/account_repository.dart';
part 'account_providers.g.dart'; part 'account_providers.g.dart';
@Riverpod(keepAlive: true) @Riverpod(keepAlive: true)
AccountRepository accountRepository(AccountRepositoryRef ref) { AccountRepository accountRepository(Ref ref) {
final db = ref.watch(appDatabaseProvider); final db = ref.watch(appDatabaseProvider);
return AccountRepositoryImpl(db.accountsDao); return AccountRepositoryImpl(db.accountsDao);
} }
@@ -7,12 +7,12 @@ part 'accounts_controller.g.dart';
/// Реактивный список счетов для активного пользователя. /// Реактивный список счетов для активного пользователя.
@riverpod @riverpod
Stream<List<Account>> accountsStream(AccountsStreamRef ref, int userId) => Stream<List<Account>> accountsStream(Ref ref, int userId) =>
ref.watch(accountRepositoryProvider).watchByUser(userId); ref.watch(accountRepositoryProvider).watchByUser(userId);
/// Текущий баланс счёта. /// Текущий баланс счёта.
@riverpod @riverpod
Stream<int> accountBalance(AccountBalanceRef ref, int accountId) => Stream<int> accountBalance(Ref ref, int accountId) =>
ref.watch(accountRepositoryProvider).watchBalance(accountId); ref.watch(accountRepositoryProvider).watchBalance(accountId);
/// Контроллер CRUD-операций над счетами. /// Контроллер CRUD-операций над счетами.
@@ -7,13 +7,13 @@ part 'categories_controller.g.dart';
/// Реактивный список категорий для активного пользователя. /// Реактивный список категорий для активного пользователя.
@riverpod @riverpod
Stream<List<Category>> categoriesStream(CategoriesStreamRef ref, int userId) => Stream<List<Category>> categoriesStream(Ref ref, int userId) =>
ref.watch(categoryRepositoryProvider).watchByUser(userId); ref.watch(categoryRepositoryProvider).watchByUser(userId);
/// Реактивный список категорий, фильтрованный по типу (income / expense). /// Реактивный список категорий, фильтрованный по типу (income / expense).
@riverpod @riverpod
Stream<List<Category>> categoriesByTypeStream( Stream<List<Category>> categoriesByTypeStream(
CategoriesByTypeStreamRef ref, Ref ref,
int userId, int userId,
CategoryType type, CategoryType type,
) => ) =>
@@ -7,7 +7,7 @@ part 'category_providers.g.dart';
/// DI-провайдер репозитория категорий. /// DI-провайдер репозитория категорий.
@Riverpod(keepAlive: true) @Riverpod(keepAlive: true)
CategoryRepository categoryRepository(CategoryRepositoryRef ref) { CategoryRepository categoryRepository(Ref ref) {
final db = ref.watch(appDatabaseProvider); final db = ref.watch(appDatabaseProvider);
return CategoryRepositoryImpl(db.categoriesDao); return CategoryRepositoryImpl(db.categoriesDao);
} }
@@ -1,8 +1,22 @@
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'selected_category_filter.g.dart';
/// id выбранной категории для фильтра списка транзакций. /// id выбранной категории для фильтра списка транзакций.
/// `null` — фильтр снят, отображаются все категории. /// `null` — фильтр снят, отображаются все категории.
final selectedCategoryFilterProvider = StateProvider<int?>((ref) => null); @riverpod
class SelectedCategoryFilter extends _$SelectedCategoryFilter {
@override
int? build() => null;
void select(int? id) => state = id;
}
/// id выбранного счёта в табах. `kAllAccountsId` (0) — «Все счета». /// id выбранного счёта в табах. `kAllAccountsId` (0) — «Все счета».
final selectedAccountProvider = StateProvider<int>((ref) => 0); @riverpod
class SelectedAccount extends _$SelectedAccount {
@override
int build() => 0;
void select(int id) => state = id;
}
@@ -25,8 +25,8 @@ class AccountTabs extends ConsumerWidget {
icon: Icons.account_balance_wallet_outlined, icon: Icons.account_balance_wallet_outlined,
label: context.l10n.allAccounts, label: context.l10n.allAccounts,
active: selected == kAllAccountsId, active: selected == kAllAccountsId,
onTap: () => ref.read(selectedAccountProvider.notifier).state = onTap: () =>
kAllAccountsId, ref.read(selectedAccountProvider.notifier).select(kAllAccountsId),
), ),
for (final a in accounts) ...[ for (final a in accounts) ...[
const SizedBox(width: 8), const SizedBox(width: 8),
@@ -34,7 +34,7 @@ class AccountTabs extends ConsumerWidget {
account: a, account: a,
active: selected == a.id, active: selected == a.id,
onTap: () => onTap: () =>
ref.read(selectedAccountProvider.notifier).state = a.id, ref.read(selectedAccountProvider.notifier).select(a.id),
), ),
], ],
], ],
@@ -47,9 +47,9 @@ class CategoryDonutCard extends ConsumerWidget {
thickness: 22, thickness: 22,
activeId: selectedCat, activeId: selectedCat,
onSegmentTap: (id) { onSegmentTap: (id) {
final notifier = ref
ref.read(selectedCategoryFilterProvider.notifier); .read(selectedCategoryFilterProvider.notifier)
notifier.state = id == notifier.state ? null : id; .select(id == selectedCat ? null : id);
}, },
centerChild: Column( centerChild: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
@@ -57,7 +57,7 @@ class CategoryFilterPill extends ConsumerWidget {
padding: const EdgeInsets.symmetric(horizontal: 16), padding: const EdgeInsets.symmetric(horizontal: 16),
child: GestureDetector( child: GestureDetector(
onTap: () => onTap: () =>
ref.read(selectedCategoryFilterProvider.notifier).state = null, ref.read(selectedCategoryFilterProvider.notifier).select(null),
behavior: HitTestBehavior.opaque, behavior: HitTestBehavior.opaque,
child: Container( child: Container(
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 10), padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 10),
@@ -8,12 +8,12 @@ part 'settings_providers.g.dart';
/// DI-провайдер репозитория настроек. /// DI-провайдер репозитория настроек.
@Riverpod(keepAlive: true) @Riverpod(keepAlive: true)
SettingsRepository settingsRepository(SettingsRepositoryRef ref) { SettingsRepository settingsRepository(Ref ref) {
final db = ref.watch(appDatabaseProvider); final db = ref.watch(appDatabaseProvider);
return SettingsRepositoryImpl(db.settingsDao); return SettingsRepositoryImpl(db.settingsDao);
} }
/// Реактивный поток настроек для конкретного пользователя. /// Реактивный поток настроек для конкретного пользователя.
@riverpod @riverpod
Stream<Settings?> settingsStream(SettingsStreamRef ref, int userId) => Stream<Settings?> settingsStream(Ref ref, int userId) =>
ref.watch(settingsRepositoryProvider).watchSettings(userId); ref.watch(settingsRepositoryProvider).watchSettings(userId);
@@ -9,7 +9,7 @@ part 'transaction_providers.g.dart';
/// ///
/// keepAlive: репозиторий держит открытые Drift-стримы — не должен пересоздаваться. /// keepAlive: репозиторий держит открытые Drift-стримы — не должен пересоздаваться.
@Riverpod(keepAlive: true) @Riverpod(keepAlive: true)
TransactionRepository transactionRepository(TransactionRepositoryRef ref) { TransactionRepository transactionRepository(Ref ref) {
final db = ref.watch(appDatabaseProvider); final db = ref.watch(appDatabaseProvider);
return TransactionRepositoryImpl(db.transactionsDao); return TransactionRepositoryImpl(db.transactionsDao);
} }
@@ -22,7 +22,7 @@ part 'transactions_controller.g.dart';
/// ``` /// ```
@riverpod @riverpod
Stream<List<Transaction>> transactionsStream( Stream<List<Transaction>> transactionsStream(
TransactionsStreamRef ref, Ref ref,
int userId, { int userId, {
int? accountId, int? accountId,
int? categoryId, int? categoryId,
@@ -7,7 +7,7 @@ part 'user_providers.g.dart';
/// DI-провайдер репозитория пользователей. /// DI-провайдер репозитория пользователей.
@Riverpod(keepAlive: true) @Riverpod(keepAlive: true)
UserRepository userRepository(UserRepositoryRef ref) { UserRepository userRepository(Ref ref) {
final db = ref.watch(appDatabaseProvider); final db = ref.watch(appDatabaseProvider);
return UserRepositoryImpl(db.usersDao); return UserRepositoryImpl(db.usersDao);
} }
@@ -6,7 +6,7 @@ part 'users_controller.g.dart';
/// Реактивный список всех пользователей. /// Реактивный список всех пользователей.
@riverpod @riverpod
Stream<List<User>> usersStream(UsersStreamRef ref) => Stream<List<User>> usersStream(Ref ref) =>
ref.watch(userRepositoryProvider).watchAll(); ref.watch(userRepositoryProvider).watchAll();
/// Контроллер операций над профилями. /// Контроллер операций над профилями.
+154 -146
View File
@@ -5,26 +5,26 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: _fe_analyzer_shared name: _fe_analyzer_shared
sha256: da0d9209ca76bde579f2da330aeb9df62b6319c834fa7baae052021b0462401f sha256: a49d6cf99e8d8e7a8e93668d09ced0bbdb954d0b4fccc2f5f9241c6b87fad95c
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "85.0.0" version: "99.0.0"
analyzer: analyzer:
dependency: transitive dependency: transitive
description: description:
name: analyzer name: analyzer
sha256: f4ad0fea5f102201015c9aae9d93bc02f75dd9491529a8c21f88d17a8523d44c sha256: "663efa951fb8a45e06f491223a604c93820598f20e6a99c25617a1576065e8b7"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "7.6.0" version: "12.1.0"
analyzer_plugin: analyzer_buffer:
dependency: transitive dependency: transitive
description: description:
name: analyzer_plugin name: analyzer_buffer
sha256: a5ab7590c27b779f3d4de67f31c4109dbe13dd7339f86461a6f2a8ab2594d8ce sha256: bf559bc54530827a92cc4d9ee340fc76b4f17f386218c2b9e7cd33ed468a7e4d
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.13.4" version: "0.3.2"
args: args:
dependency: transitive dependency: transitive
description: description:
@@ -53,18 +53,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: build name: build
sha256: "51dc711996cbf609b90cbe5b335bbce83143875a9d58e4b5c6d3c4f684d3dda7" sha256: a156715e7cd728130c592f30552575908aae5b100005fbc1f0fb16b3c03a3d10
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.5.4" version: "4.0.6"
build_config: build_config:
dependency: transitive dependency: transitive
description: description:
name: build_config name: build_config
sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33" sha256: "4070d2a59f8eec34c97c86ceb44403834899075f66e8a9d59706f8e7834f6f71"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.2" version: "1.3.0"
build_daemon: build_daemon:
dependency: transitive dependency: transitive
description: description:
@@ -73,30 +73,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.1.1" version: "4.1.1"
build_resolvers:
dependency: transitive
description:
name: build_resolvers
sha256: ee4257b3f20c0c90e72ed2b57ad637f694ccba48839a821e87db762548c22a62
url: "https://pub.dev"
source: hosted
version: "2.5.4"
build_runner: build_runner:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: build_runner name: build_runner
sha256: "382a4d649addbfb7ba71a3631df0ec6a45d5ab9b098638144faf27f02778eb53" sha256: "1523ce62448ebac2c15a8ba5fbad8acac169788658a7dd2a1c2d9c2a9318b9a6"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.5.4" version: "2.15.0"
build_runner_core:
dependency: transitive
description:
name: build_runner_core
sha256: "85fbbb1036d576d966332a3f5ce83f2ce66a40bea1a94ad2d5fc29a19a0d3792"
url: "https://pub.dev"
source: hosted
version: "9.1.2"
built_collection: built_collection:
dependency: transitive dependency: transitive
description: description:
@@ -137,14 +121,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.4" version: "2.0.4"
ci: cli_config:
dependency: transitive dependency: transitive
description: description:
name: ci name: cli_config
sha256: "145d095ce05cddac4d797a158bc4cf3b6016d1fe63d8c3d2fbd7212590adca13" sha256: ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.1.0" version: "0.2.0"
cli_util: cli_util:
dependency: transitive dependency: transitive
description: description:
@@ -193,6 +177,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.2" version: "3.1.2"
coverage:
dependency: transitive
description:
name: coverage
sha256: "5da775aa218eaf2151c721b16c01c7676fbfdd99cebba2bf64e8b807a28ff94d"
url: "https://pub.dev"
source: hosted
version: "1.15.0"
crypto: crypto:
dependency: transitive dependency: transitive
description: description:
@@ -209,70 +201,38 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.9" version: "1.0.9"
custom_lint:
dependency: "direct dev"
description:
name: custom_lint
sha256: "9656925637516c5cf0f5da018b33df94025af2088fe09c8ae2ca54c53f2d9a84"
url: "https://pub.dev"
source: hosted
version: "0.7.6"
custom_lint_builder:
dependency: transitive
description:
name: custom_lint_builder
sha256: "6cdc8e87e51baaaba9c43e283ed8d28e59a0c4732279df62f66f7b5984655414"
url: "https://pub.dev"
source: hosted
version: "0.7.6"
custom_lint_core:
dependency: transitive
description:
name: custom_lint_core
sha256: "31110af3dde9d29fb10828ca33f1dce24d2798477b167675543ce3d208dee8be"
url: "https://pub.dev"
source: hosted
version: "0.7.5"
custom_lint_visitor:
dependency: transitive
description:
name: custom_lint_visitor
sha256: "4a86a0d8415a91fbb8298d6ef03e9034dc8e323a599ddc4120a0e36c433983a2"
url: "https://pub.dev"
source: hosted
version: "1.0.0+7.7.0"
dart_style: dart_style:
dependency: transitive dependency: transitive
description: description:
name: dart_style name: dart_style
sha256: "8a0e5fba27e8ee025d2ffb4ee820b4e6e2cf5e4246a6b1a477eb66866947e0bb" sha256: a4c1ccfee44c7e75ed80484071a5c142a385345e658fd8bd7c4b5c97e7198f98
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.1" version: "3.1.8"
drift: drift:
dependency: "direct main" dependency: "direct main"
description: description:
name: drift name: drift
sha256: "540cf382a3bfa99b76e51514db5b0ebcd81ce3679b7c1c9cb9478ff3735e47a1" sha256: "8033500116b24398fba0cca0369cc31678cd627c01e41753a61186911cea743e"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.28.2" version: "2.33.0"
drift_dev: drift_dev:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: drift_dev name: drift_dev
sha256: "68c138e884527d2bd61df2ade276c3a144df84d1adeb0ab8f3196b5afe021bd4" sha256: b3dd5b75e30522a91da8abda9f5bb17230cb038097f6d15fa75d42bb563428aa
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.28.0" version: "2.33.0"
drift_flutter: drift_flutter:
dependency: "direct main" dependency: "direct main"
description: description:
name: drift_flutter name: drift_flutter
sha256: b7534bf320aac5213259aac120670ba67b63a1fd010505babc436ff86083818f sha256: "887fdec622174dc7eaefd0048403e34ee07cc18626ac8a7544cc3b8a4a172166"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.2.7" version: "0.3.0"
equatable: equatable:
dependency: transitive dependency: transitive
description: description:
@@ -317,10 +277,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: fl_chart name: fl_chart
sha256: "74959b99b92b9eebeed1a4049426fd67c4abc3c5a0f4d12e2877097d6a11ae08" sha256: b938f77d042cbcd822936a7a359a7235bad8bd72070de1f827efc2cc297ac888
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.69.2" version: "1.2.0"
flutter: flutter:
dependency: "direct main" dependency: "direct main"
description: flutter description: flutter
@@ -330,10 +290,10 @@ packages:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: flutter_lints name: flutter_lints
sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.0.0" version: "6.0.0"
flutter_localizations: flutter_localizations:
dependency: "direct main" dependency: "direct main"
description: flutter description: flutter
@@ -343,10 +303,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_riverpod name: flutter_riverpod
sha256: "9532ee6db4a943a1ed8383072a2e3eeda041db5657cdf6d2acecf3c21ecbe7e1" sha256: be3aa640f053064e2238f8a308baa5be7270645e8b53b08484fd305bd5c1eb5d
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.6.1" version: "3.3.2-dev.2"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@@ -361,10 +321,10 @@ packages:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: freezed name: freezed
sha256: "2d399f823b8849663744d2a9ddcce01c49268fb4170d0442a655bf6a2f47be22" sha256: "8599ba37236328ff6f97269ecce875d251a367eb2929c9bbf9b811b2ce56c74e"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.0" version: "3.2.6-dev.1"
freezed_annotation: freezed_annotation:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -393,18 +353,18 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: go_router name: go_router
sha256: f02fd7d2a4dc512fec615529824fdd217fecb3a3d3de68360293a551f21634b3 sha256: "92d8cee7c57dff0a6c409c05597b460002434eccf7424a712283225b3962d03f"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "14.8.1" version: "17.2.3"
google_fonts: google_fonts:
dependency: "direct main" dependency: "direct main"
description: description:
name: google_fonts name: google_fonts
sha256: ba03d03bcaa2f6cb7bd920e3b5027181db75ab524f8891c8bc3aa603885b8055 sha256: "4e9391085e524954a51e3625b7c9c7e9851dc3f376603208bb45c24b9a66255d"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.3.3" version: "8.1.0"
graphs: graphs:
dependency: transitive dependency: transitive
description: description:
@@ -421,14 +381,6 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.0" version: "2.0.0"
hotreloader:
dependency: transitive
description:
name: hotreloader
sha256: "66871df468fc24eee81f1a0a7cb98acc104716f9b7376d355437b48d633c4ebf"
url: "https://pub.dev"
source: hosted
version: "4.4.0"
http: http:
dependency: transitive dependency: transitive
description: description:
@@ -485,30 +437,22 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.1" version: "1.0.1"
js:
dependency: transitive
description:
name: js
sha256: "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc"
url: "https://pub.dev"
source: hosted
version: "0.7.2"
json_annotation: json_annotation:
dependency: "direct main" dependency: "direct main"
description: description:
name: json_annotation name: json_annotation
sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" sha256: "2a743920d81b7910627f68ee2c9ac1fc0bfee32b9fc3403587d7c6791ca12f80"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.9.0" version: "4.12.0"
json_serializable: json_serializable:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: json_serializable name: json_serializable
sha256: c50ef5fc083d5b5e12eef489503ba3bf5ccc899e487d691584699b4bdefeea8c sha256: ffcd10cde35a93b2abbbcc26bd9971f4ca93763e8abe78d855e3c4177797e501
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.9.5" version: "6.14.0"
leak_tracker: leak_tracker:
dependency: transitive dependency: transitive
description: description:
@@ -537,10 +481,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: lints name: lints
sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 sha256: "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.1.1" version: "6.1.0"
logging: logging:
dependency: transitive dependency: transitive
description: description:
@@ -581,6 +525,30 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.0" version: "2.0.0"
mockito:
dependency: transitive
description:
name: mockito
sha256: eff30d002f0c8bf073b6f929df4483b543133fcafce056870163587b03f1d422
url: "https://pub.dev"
source: hosted
version: "5.6.4"
native_toolchain_c:
dependency: transitive
description:
name: native_toolchain_c
sha256: "49c147aa4a5905ec12028e2b7bfe360eace6cb91fe4cf08a3fe76e309592acae"
url: "https://pub.dev"
source: hosted
version: "0.19.0"
node_preamble:
dependency: transitive
description:
name: node_preamble
sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db"
url: "https://pub.dev"
source: hosted
version: "2.0.2"
objective_c: objective_c:
dependency: transitive dependency: transitive
description: description:
@@ -713,50 +681,34 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: riverpod name: riverpod
sha256: "59062512288d3056b2321804332a13ffdd1bf16df70dcc8e506e411280a72959" sha256: da7233961958420e9d80edf4b7a735d5b6b732fe2381d2a12a388562e2042b3f
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.6.1" version: "3.3.2-dev.2"
riverpod_analyzer_utils: riverpod_analyzer_utils:
dependency: transitive dependency: transitive
description: description:
name: riverpod_analyzer_utils name: riverpod_analyzer_utils
sha256: "03a17170088c63aab6c54c44456f5ab78876a1ddb6032ffde1662ddab4959611" sha256: "3e275138862ccc22ed61444a1f9a840f753094c367f28f4123f50289cd204d68"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.5.10" version: "1.0.0-dev.10"
riverpod_annotation: riverpod_annotation:
dependency: "direct main" dependency: "direct main"
description: description:
name: riverpod_annotation name: riverpod_annotation
sha256: e14b0bf45b71326654e2705d462f21b958f987087be850afd60578fcd502d1b8 sha256: b7fec3dcdef4cc724116b9cad9fd1ca90fb241083cc16e9cf42a85256be7e87e
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.6.1" version: "4.0.3-dev.2"
riverpod_generator: riverpod_generator:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: riverpod_generator name: riverpod_generator
sha256: "44a0992d54473eb199ede00e2260bd3c262a86560e3c6f6374503d86d0580e36" sha256: "2ba125d0f0ece0b7f2a549613803ea1d4a5e1c8b887588223b19ed8671237504"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.6.5" version: "4.0.4-dev.3"
riverpod_lint:
dependency: "direct dev"
description:
name: riverpod_lint
sha256: "89a52b7334210dbff8605c3edf26cfe69b15062beed5cbfeff2c3812c33c9e35"
url: "https://pub.dev"
source: hosted
version: "2.6.5"
rxdart:
dependency: transitive
description:
name: rxdart
sha256: "5c3004a4a8dbb94bd4bf5412a4def4acdaa12e12f269737a5751369e12d1a962"
url: "https://pub.dev"
source: hosted
version: "0.28.0"
shelf: shelf:
dependency: transitive dependency: transitive
description: description:
@@ -765,6 +717,22 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.4.2" version: "1.4.2"
shelf_packages_handler:
dependency: transitive
description:
name: shelf_packages_handler
sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e"
url: "https://pub.dev"
source: hosted
version: "3.0.2"
shelf_static:
dependency: transitive
description:
name: shelf_static
sha256: c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3
url: "https://pub.dev"
source: hosted
version: "1.1.3"
shelf_web_socket: shelf_web_socket:
dependency: transitive dependency: transitive
description: description:
@@ -782,18 +750,34 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: source_gen name: source_gen
sha256: "35c8150ece9e8c8d263337a265153c3329667640850b9304861faea59fc98f6b" sha256: ec37cc0e6694374cbef59ed79685572c870a54ede6fa30a3e420feb3adffea02
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.0" version: "4.2.3"
source_helper: source_helper:
dependency: transitive dependency: transitive
description: description:
name: source_helper name: source_helper
sha256: a447acb083d3a5ef17f983dd36201aeea33fedadb3228fa831f2f0c92f0f3aca sha256: "4227d54ceefd0bb8ca4c8fcb96e1719dc53f1ee1b6e2ca9d7a6069da160e4eae"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.7" version: "1.3.12"
source_map_stack_trace:
dependency: transitive
description:
name: source_map_stack_trace
sha256: c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b
url: "https://pub.dev"
source: hosted
version: "2.1.2"
source_maps:
dependency: transitive
description:
name: source_maps
sha256: "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812"
url: "https://pub.dev"
source: hosted
version: "0.10.13"
source_span: source_span:
dependency: transitive dependency: transitive
description: description:
@@ -802,30 +786,38 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.10.2" version: "1.10.2"
sqlcipher_flutter_libs:
dependency: transitive
description:
name: sqlcipher_flutter_libs
sha256: "38d62d659d2fb8739bf25a42c9a350d1fdd6c29a5a61f13a946778ec75d27929"
url: "https://pub.dev"
source: hosted
version: "0.7.0+eol"
sqlite3: sqlite3:
dependency: transitive dependency: transitive
description: description:
name: sqlite3 name: sqlite3
sha256: "3145bd74dcdb4fd6f5c6dda4d4e4490a8087d7f286a14dee5d37087290f0f8a2" sha256: "9488c7d2cdb1091c91cacf7e207cff81b28bff8e366f042bad3afe7d34afe189"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.9.4" version: "3.3.2"
sqlite3_flutter_libs: sqlite3_flutter_libs:
dependency: transitive dependency: transitive
description: description:
name: sqlite3_flutter_libs name: sqlite3_flutter_libs
sha256: eeb9e3a45207649076b808f8a5a74d68770d0b7f26ccef6d5f43106eee5375ad sha256: "3ed7553eee7bb368f8950f58ba29f634e06e813c029aff6a0d60862b96de8454"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.5.42" version: "0.6.0+eol"
sqlparser: sqlparser:
dependency: transitive dependency: transitive
description: description:
name: sqlparser name: sqlparser
sha256: "57090342af1ce32bb499aa641f4ecdd2d6231b9403cea537ac059e803cc20d67" sha256: ecdc06d4a7d79dcbc928d99afd2f7f5b0f98a637c46f89be83d911617f759978
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.41.2" version: "0.44.4"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@@ -874,6 +866,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.2.2" version: "1.2.2"
test:
dependency: transitive
description:
name: test
sha256: "8d9ceddbab833f180fbefed08afa76d7c03513dfdba87ffcec2718b02bbcbf20"
url: "https://pub.dev"
source: hosted
version: "1.31.0"
test_api: test_api:
dependency: transitive dependency: transitive
description: description:
@@ -882,14 +882,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.7.11" version: "0.7.11"
timing: test_core:
dependency: transitive dependency: transitive
description: description:
name: timing name: test_core
sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe" sha256: "1991d4cfe85d5043241acac92962c3977c8d2f2add1ee73130c7b286417d1d34"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.2" version: "0.6.17"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
@@ -954,6 +954,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.3" version: "3.0.3"
webkit_inspection_protocol:
dependency: transitive
description:
name: webkit_inspection_protocol
sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572"
url: "https://pub.dev"
source: hosted
version: "1.2.1"
xdg_directories: xdg_directories:
dependency: transitive dependency: transitive
description: description:
+8 -10
View File
@@ -13,15 +13,15 @@ dependencies:
sdk: flutter sdk: flutter
# State management # State management
flutter_riverpod: ^2.6.1 flutter_riverpod: ^3.1.0
riverpod_annotation: ^2.6.1 riverpod_annotation: ^4.0.0
# Database # Database
drift: ^2.26.1 drift: ^2.26.1
drift_flutter: ^0.2.4 drift_flutter: ^0.3.0
# Navigation # Navigation
go_router: ^14.8.1 go_router: ^17.2.3
# Immutable entities # Immutable entities
freezed_annotation: ^3.0.0 freezed_annotation: ^3.0.0
@@ -34,23 +34,21 @@ dependencies:
cupertino_icons: ^1.0.8 cupertino_icons: ^1.0.8
# Fonts # Fonts
google_fonts: ^6.2.1 google_fonts: ^8.1.0
# Charts # Charts
fl_chart: ^0.69.0 fl_chart: ^1.2.0
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
# Lints # Lints
flutter_lints: ^5.0.0 flutter_lints: ^6.0.0
# Code generation # Code generation
build_runner: ^2.4.15 build_runner: ^2.4.15
riverpod_generator: ^2.6.5 riverpod_generator: ^4.0.0+1
riverpod_lint: ^2.6.5
custom_lint: ^0.7.5
drift_dev: ^2.26.1 drift_dev: ^2.26.1
freezed: ^3.0.0 freezed: ^3.0.0
json_serializable: ^6.9.5 json_serializable: ^6.9.5