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