diff --git a/.fvmrc b/.fvmrc index efe8921..5618e75 100644 --- a/.fvmrc +++ b/.fvmrc @@ -1,5 +1,5 @@ { - "flutter": "3.29.3", + "flutter": "3.32.0", "runPubGetOnSdkChanges": true, "updateVscodeSettings": true, "updateGitIgnore": true diff --git a/.vscode/launch.json b/.vscode/launch.json index 6b8e3b7..d818e32 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -4,17 +4,23 @@ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ + // { + // "name": "run app", + // "request": "launch", + // "type": "dart" + // }, { "name": "run app", "request": "launch", - "type": "dart" + "type": "node-terminal", + "command": "fvm flutter run", + }, + { + "name": "run without impeller", + "request": "launch", + "type": "node-terminal", + "command": "fvm flutter run --no-enable-impeller", }, - // { - // "name": "pharmacy_mobile", - // "request": "launch", - // "type": "node-terminal", - // "command": "fvm flutter run --no-enable-impeller", - // }, { "name": "build apk", "request": "launch", diff --git a/.vscode/settings.json b/.vscode/settings.json index e560150..17f2bdf 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,3 @@ { - "dart.flutterSdkPath": ".fvm/versions/3.29.3" + "dart.flutterSdkPath": ".fvm/versions/3.32.0" } \ No newline at end of file diff --git a/lib/pages/add_category_page.dart b/lib/pages/add_category_page.dart index 6412409..a256609 100644 --- a/lib/pages/add_category_page.dart +++ b/lib/pages/add_category_page.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:internet_connection_checker/internet_connection_checker.dart'; +import 'package:pharmacy_mobile/blocs/caches/categorylist/functions/cache_setcategorylist.dart'; import 'package:pharmacy_mobile/functions/checkexisting_function.dart'; import 'package:pharmacy_mobile/tables/ref_categories.dart'; import 'package:pharmacy_mobile/widgets/buttonwithprogress_widget.dart'; @@ -23,8 +24,19 @@ class _AddCategoryPageState extends State { final _formKey = GlobalKey(); final _categoryController = TextEditingController(); final _refCategories = RefCategories(); + bool _isLoading = false; + Future _getCategoryListCache() async { + final categoryList = await _refCategories.getList(); + + if (categoryList.isNotEmpty) { + // ignore: use_build_context_synchronously + final setCache = await cacheSetCategoryList(context, categoryList); + if (!setCache) {} + } + } + void _saveCategory() async { setState(() => _isLoading = true); @@ -40,6 +52,7 @@ class _AddCategoryPageState extends State { final post = await _refCategories.postCategory(_categoryController.text.toUpperCase()); if (post && mounted) { + _getCategoryListCache(); showNotification(context, 'Category saved', true); WidgetsBinding.instance.addPostFrameCallback((_) { diff --git a/lib/pages/add_distributor_page.dart b/lib/pages/add_distributor_page.dart index f86b21b..1335093 100644 --- a/lib/pages/add_distributor_page.dart +++ b/lib/pages/add_distributor_page.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:go_router/go_router.dart'; import 'package:internet_connection_checker/internet_connection_checker.dart'; +import 'package:pharmacy_mobile/blocs/caches/distributorlist/functions/cache_setdistributorlist.dart'; import 'package:pharmacy_mobile/functions/checkexisting_function.dart'; import 'package:pharmacy_mobile/tables/ref_distributors.dart'; import 'package:pharmacy_mobile/widgets/buttonwithprogress_widget.dart'; @@ -23,25 +24,36 @@ class _AddDistributorPageState extends State { final _formKey = GlobalKey(); final _nameController = TextEditingController(); final _addressController = TextEditingController(); - final _refdistributors = RefDistributors(); + final _refDistributors = RefDistributors(); late bool _isLoading = false; + Future _getDistributorListCache() async { + final distributorList = await _refDistributors.getList(); + + if (distributorList.isNotEmpty) { + // ignore: use_build_context_synchronously + final setCache = await cacheSetDistributorList(context, distributorList); + if (!setCache) {} + } + } + void _saveDistributor() async { setState(() => _isLoading = true); try { if (await InternetConnectionChecker.instance.hasConnection) { - final existing = await checkExisting(_refdistributors, _nameController); + final existing = await checkExisting(_refDistributors, _nameController); if (existing && mounted) { showNotification(context, 'Distributor already listed', false); return; } - final post = await _refdistributors.postDistributor(_nameController.text, _addressController.text); + final post = await _refDistributors.postDistributor(_nameController.text, _addressController.text); if (post && mounted) { + _getDistributorListCache(); showNotification(context, 'Distributor added to list', true); WidgetsBinding.instance.addPostFrameCallback((_) { diff --git a/lib/pages/add_generics_page.dart b/lib/pages/add_generics_page.dart index 7930187..97a3b7e 100644 --- a/lib/pages/add_generics_page.dart +++ b/lib/pages/add_generics_page.dart @@ -2,6 +2,7 @@ import 'package:gap/gap.dart'; import 'package:flutter/material.dart'; import 'package:internet_connection_checker/internet_connection_checker.dart'; import 'package:pharmacy_mobile/blocs/caches/categorylist/functions/cache_getcategorylist.dart'; +import 'package:pharmacy_mobile/blocs/caches/genericlist/functions/cache_setgenericlist.dart'; import 'package:pharmacy_mobile/functions/checkexisting_function.dart'; import 'package:pharmacy_mobile/tables/ref_categories.dart'; import 'package:pharmacy_mobile/tables/ref_generic_names.dart'; @@ -36,6 +37,16 @@ class _AddGenericsPageState extends State { late String _selectedCategory = ''; late String _categoryUUID = ''; + Future _getGenericListCache() async { + final genericNameList = await _refGenericNames.getList(); + + if (genericNameList.isNotEmpty) { + // ignore: use_build_context_synchronously + final setCache = await cacheSetGenericList(context, genericNameList); + if (!setCache) {} + } + } + void _getList() async { _categoryList = await _refCategories.getList(); @@ -94,6 +105,7 @@ class _AddGenericsPageState extends State { final existing = await checkExisting(_refGenericNames, _nameController); if (existing && mounted) { + _getGenericListCache(); showNotification(context, 'Generic Name already existing', false); return; } diff --git a/lib/pages/add_manufacturer_page.dart b/lib/pages/add_manufacturer_page.dart index a9e6ac2..117ce70 100644 --- a/lib/pages/add_manufacturer_page.dart +++ b/lib/pages/add_manufacturer_page.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:go_router/go_router.dart'; import 'package:internet_connection_checker/internet_connection_checker.dart'; +import 'package:pharmacy_mobile/blocs/caches/manufacturerlist/functions/cache_setmanufacturerlist.dart'; import 'package:pharmacy_mobile/functions/checkexisting_function.dart'; import 'package:pharmacy_mobile/tables/ref_manufacturers.dart'; import 'package:pharmacy_mobile/widgets/buttonwithprogress_widget.dart'; @@ -27,6 +28,16 @@ class _AddManufacturerPageState extends State { late bool _isLoading = false; + Future _getManufacturerListCache() async { + final manufacturerList = await _refManufacturers.getList(); + + if (manufacturerList.isNotEmpty) { + // ignore: use_build_context_synchronously + final setCache = await cacheSetManufacturerList(context, manufacturerList); + if (!setCache) {} + } + } + void _saveManufacturer() async { setState(() => _isLoading = true); @@ -42,6 +53,7 @@ class _AddManufacturerPageState extends State { final post = await _refManufacturers.postManufacturer(_nameController.text, _addressController.text); if (post && mounted) { + _getManufacturerListCache(); showNotification(context, 'Manufacturer added to list', true); WidgetsBinding.instance.addPostFrameCallback((_) { diff --git a/lib/pages/add_medicine_page.dart b/lib/pages/add_medicine_page.dart index d58ffd6..84bfdd1 100644 --- a/lib/pages/add_medicine_page.dart +++ b/lib/pages/add_medicine_page.dart @@ -6,6 +6,7 @@ import 'package:internet_connection_checker/internet_connection_checker.dart'; import 'package:pharmacy_mobile/blocs/caches/distributorlist/functions/cache_getdistributorlist.dart'; import 'package:pharmacy_mobile/blocs/caches/genericlist/functions/cache_getgenericlist.dart'; import 'package:pharmacy_mobile/blocs/caches/manufacturerlist/functions/cache_getmanufacturerlist.dart'; +import 'package:pharmacy_mobile/blocs/caches/medicinelist/functions/cache_setmedicinelist.dart'; import 'package:pharmacy_mobile/blocs/caches/supplierlist/functions/cache_getsupplierlist.dart'; import 'package:pharmacy_mobile/blocs/caches/typelist/functions/cache_gettypelist.dart'; import 'package:pharmacy_mobile/functions/barcode_scan_function.dart'; @@ -70,6 +71,7 @@ class _AddMedicinePageState extends State { late bool imageUploaded = false; late String imageUrl = ''; late bool uploaded = false; + late String imageUUID = ''; Future _getGenerics() async { _genericNameList = await _refGenericNames.getList(); @@ -167,6 +169,16 @@ class _AddMedicinePageState extends State { } } + Future _getMedicineListCache() async { + final medicineList = await _refMedicines.getList(); + + if (medicineList.isNotEmpty) { + // ignore: use_build_context_synchronously + final setCache = await cacheSetMedicineList(context, medicineList); + if (!setCache) {} + } + } + void autoRun() async { final generics = await _getGenericsCache(); final types = await _getTypesCache(); @@ -174,12 +186,6 @@ class _AddMedicinePageState extends State { final distributors = await _getDistributorsCache(); final suppliers = await _getSuppliersCache(); - print('generics: $generics'); - print('types: $types'); - print('manufacturers: $manufacturers'); - print('distributors: $distributors'); - print('suppliers: $suppliers'); - if (!generics || !types || !manufacturers || !distributors || !suppliers) { if (await InternetConnectionChecker.instance.hasConnection) { await _getGenerics(); @@ -268,6 +274,7 @@ class _AddMedicinePageState extends State { try { // final String encrpytedBarcode = await encrypt(_barcodeController.text); final String encrpytedBarcode = _barcodeController.text; + uuid = Uuid().v4(); if (await InternetConnectionChecker.instance.hasConnection) { final medName = _nameController.text; @@ -277,10 +284,16 @@ class _AddMedicinePageState extends State { final medDistributorUUID = await _refDistributors.getUUID(_selectedDistributor); final medSupplierUUID = await _refSuppliers.getUUID(_selectedSupplier); + if (imageUUID.isEmpty) { + imageUUID = '73105ee3-74bd-40ea-9434-f8176a980b43'; + } + final posted = await _refMedicines.postMedicine(uuid, medName, medManufacturerUUID, medGenericUUID, medTypeUUID, - encrpytedBarcode, medDistributorUUID, medSupplierUUID); + encrpytedBarcode, medDistributorUUID, medSupplierUUID, imageUUID); if (posted) { + _getMedicineListCache(); + if (mounted) { showNotification(context, 'Medicine Added Successfully', true); setState(() => _isLoading = false); @@ -315,7 +328,7 @@ class _AddMedicinePageState extends State { final imageBytes = await image!.readAsBytes(); final webpImage = await _webpConvert(imageBytes); - uuid = imageName; + imageUUID = imageName; if (mounted) { uploaded = await _storage.uploadImage(context, storageName, webpImage, '$imageName.webp'); @@ -466,12 +479,12 @@ class _AddMedicinePageState extends State { // const Center(child: CircularProgressIndicator(color: Colors.white)) // else // ButtonWidget(text: 'Save Medicine', onPressed: _saveMedicine) - if (uploaded) - ButtonWithProgressWidget( - trigger: _isLoading, - progressText: 'Adding Medicine', - buttonText: 'Save', - onPressed: _saveMedicine) + // if (uploaded) + ButtonWithProgressWidget( + trigger: _isLoading, + progressText: 'Adding Medicine', + buttonText: 'Save', + onPressed: _saveMedicine) ]) ]))) ])))); diff --git a/lib/pages/add_supplier_page.dart b/lib/pages/add_supplier_page.dart index 37cf543..3d79329 100644 --- a/lib/pages/add_supplier_page.dart +++ b/lib/pages/add_supplier_page.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:go_router/go_router.dart'; import 'package:internet_connection_checker/internet_connection_checker.dart'; +import 'package:pharmacy_mobile/blocs/caches/supplierlist/functions/cache_setsupplierlist.dart'; import 'package:pharmacy_mobile/functions/checkexisting_function.dart'; import 'package:pharmacy_mobile/tables/ref_suppliers.dart'; import 'package:pharmacy_mobile/widgets/buttonwithprogress_widget.dart'; @@ -22,26 +23,36 @@ class AddSupplierPage extends StatefulWidget { class _AddSupplierPageState extends State { final _formKey = GlobalKey(); final _nameController = TextEditingController(); - final _refsuppliers = RefSuppliers(); + final _refSuppliers = RefSuppliers(); late bool _isLoading = false; + Future _getSupplierListCache() async { + final supplierList = await _refSuppliers.getList(); + + if (supplierList.isNotEmpty) { + // ignore: use_build_context_synchronously + final setCache = await cacheSetSupplierList(context, supplierList); + if (!setCache) {} + } + } + void _saveSupplier() async { setState(() => _isLoading = true); try { if (await InternetConnectionChecker.instance.hasConnection) { - final existing = await checkExisting(_refsuppliers, _nameController); + final existing = await checkExisting(_refSuppliers, _nameController); if (existing && mounted) { showNotification(context, 'Supplier already listed', false); return; } - final post = await _refsuppliers.postSupplier(_nameController.text); - print('post: $post'); + final post = await _refSuppliers.postSupplier(_nameController.text); if (post && mounted) { + _getSupplierListCache(); showNotification(context, 'Supplier added to list', true); WidgetsBinding.instance.addPostFrameCallback((_) { diff --git a/lib/pages/add_type_page.dart b/lib/pages/add_type_page.dart index 6d07acc..24dfe82 100644 --- a/lib/pages/add_type_page.dart +++ b/lib/pages/add_type_page.dart @@ -1,6 +1,7 @@ import 'package:gap/gap.dart'; import 'package:flutter/material.dart'; import 'package:internet_connection_checker/internet_connection_checker.dart'; +import 'package:pharmacy_mobile/blocs/caches/typelist/functions/cache_settypelist.dart'; import 'package:pharmacy_mobile/functions/checkexisting_function.dart'; import 'package:pharmacy_mobile/tables/ref_types.dart'; import 'package:pharmacy_mobile/widgets/buttonwithprogress_widget.dart'; @@ -26,6 +27,16 @@ class _AddTypePageState extends State { bool _isLoading = false; + Future _getTypeListCache() async { + final typeList = await _refTypes.getList(); + + if (typeList.isNotEmpty) { + // ignore: use_build_context_synchronously + final setCache = await cacheSetTypeList(context, typeList); + if (!setCache) {} + } + } + void _saveType() async { setState(() => _isLoading = true); try { @@ -40,6 +51,7 @@ class _AddTypePageState extends State { final post = await _refTypes.postType(_typeController.text); if (post && mounted) { + _getTypeListCache(); showNotification(context, 'Medicine type saved', true); WidgetsBinding.instance.addPostFrameCallback((_) { diff --git a/lib/tables/ref_medicines.dart b/lib/tables/ref_medicines.dart index f760bb3..ab6f04b 100644 --- a/lib/tables/ref_medicines.dart +++ b/lib/tables/ref_medicines.dart @@ -87,7 +87,7 @@ class RefMedicines { } Future postMedicine(String uuid, String name, String muuid, String guuid, String tuuid, String barcode, - String distributor, String supplier) async { + String distributor, String supplier, String imageuuid) async { final medicine = { 'ref_medicines_uuid': uuid, 'medicine_name': name, @@ -96,7 +96,8 @@ class RefMedicines { 'ref_types_uuid': tuuid, 'barcode': barcode, 'ref_distributors_uuid': distributor, - 'ref_suppliers_uuid': supplier + 'ref_suppliers_uuid': supplier, + 'ref_medicines_images': imageuuid }; try { diff --git a/lib/widgets/glossy_container_widget.dart b/lib/widgets/glossy_container_widget.dart index 20262ac..ba3912e 100644 --- a/lib/widgets/glossy_container_widget.dart +++ b/lib/widgets/glossy_container_widget.dart @@ -15,7 +15,7 @@ class GlossyContainerWidget extends StatelessWidget { width: MediaQuery.of(context).size.width, borderRadius: const BorderRadius.all(Radius.circular(16)), color: const Color.fromRGBO(20, 13, 22, 1), - border: Border.all(width: 0, color: const Color.fromRGBO(216, 176, 219, 1)), + border: Border.all(width: 0, color: const Color.fromARGB(69, 0, 0, 0)), boxShadow: [ BoxShadow( color: const Color.fromRGBO(78, 45, 79, 0.4), diff --git a/lib/widgets/warning_widget.dart b/lib/widgets/warning_widget.dart index 95f838b..77b4348 100644 --- a/lib/widgets/warning_widget.dart +++ b/lib/widgets/warning_widget.dart @@ -13,9 +13,9 @@ class WarningWidget extends StatelessWidget { children: [ Container( decoration: BoxDecoration( - color: const Color.fromARGB(102, 121, 15, 5), + color: const Color.fromRGBO(121, 15, 5, 0.4), borderRadius: BorderRadius.circular(12), - border: Border.all(width: 2, color: const Color.fromARGB(255, 42, 2, 2))), + border: Border.all(width: 2, color: const Color.fromRGBO(42, 2, 2, 1))), // width: 200, // height: 100, padding: const EdgeInsets.symmetric(vertical: 10, horizontal: 16), diff --git a/pubspec.lock b/pubspec.lock index f5f6f68..31709c5 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -45,10 +45,10 @@ packages: dependency: transitive description: name: archive - sha256: "7dcbd0f87fe5f61cb28da39a1a8b70dbc106e2fe0516f7836eb7bb2948481a12" + sha256: "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd" url: "https://pub.dev" source: hosted - version: "4.0.5" + version: "4.0.7" args: dependency: transitive description: @@ -61,10 +61,10 @@ packages: dependency: transitive description: name: async - sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" url: "https://pub.dev" source: hosted - version: "2.12.0" + version: "2.13.0" bloc: dependency: transitive description: @@ -93,10 +93,10 @@ packages: dependency: transitive description: name: checked_yaml - sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff + sha256: "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f" url: "https://pub.dev" source: hosted - version: "2.0.3" + version: "2.0.4" cli_util: dependency: transitive description: @@ -125,10 +125,10 @@ packages: dependency: transitive description: name: connectivity_plus - sha256: "04bf81bb0b77de31557b58d052b24b3eee33f09a6e7a8c68a3e247c7df19ec27" + sha256: "051849e2bd7c7b3bc5844ea0d096609ddc3a859890ec3a9ac4a65a2620cc1f99" url: "https://pub.dev" source: hosted - version: "6.1.3" + version: "6.1.4" connectivity_plus_platform_interface: dependency: transitive description: @@ -189,10 +189,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.3.3" ffi: dependency: transitive description: @@ -221,10 +221,10 @@ packages: dependency: transitive description: name: file_selector_macos - sha256: "271ab9986df0c135d45c3cdb6bd0faa5db6f4976d3e4b437cf7d0f258d941bfc" + sha256: "8c9250b2bd2d8d4268e39c82543bacbaca0fda7d29e0728c3c4bbb7c820fd711" url: "https://pub.dev" source: hosted - version: "0.9.4+2" + version: "0.9.4+3" file_selector_platform_interface: dependency: transitive description: @@ -258,10 +258,10 @@ packages: dependency: "direct main" description: name: flutter_bloc - sha256: "1046d719fbdf230330d3443187cc33cc11963d15c9089f6cc56faa42a4c5f0cc" + sha256: cf51747952201a455a1c840f8171d273be009b932c75093020f9af64f2123e38 url: "https://pub.dev" source: hosted - version: "9.1.0" + version: "9.1.1" flutter_dotenv: dependency: "direct main" description: @@ -322,10 +322,10 @@ packages: dependency: "direct dev" description: name: flutter_launcher_icons - sha256: bfa04787c85d80ecb3f8777bde5fc10c3de809240c48fa061a2c2bf15ea5211c + sha256: "10f13781741a2e3972126fae08393d3c4e01fa4cd7473326b94b72cf594195e7" url: "https://pub.dev" source: hosted - version: "0.14.3" + version: "0.14.4" flutter_lints: dependency: "direct dev" description: @@ -338,18 +338,18 @@ packages: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: "5a1e6fb2c0561958d7e4c33574674bda7b77caaca7a33b758876956f2902eea3" + sha256: f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e url: "https://pub.dev" source: hosted - version: "2.0.27" + version: "2.0.28" flutter_svg: dependency: transitive description: name: flutter_svg - sha256: c200fd79c918a40c5cd50ea0877fa13f81bdaf6f0a5d3dbcc2a13e3285d6aa1b + sha256: cd57f7969b4679317c17af6fd16ee233c1e60a82ed209d8a475c54fd6fd6f845 url: "https://pub.dev" source: hosted - version: "2.0.17" + version: "2.2.0" flutter_test: dependency: "direct dev" description: flutter @@ -372,10 +372,10 @@ packages: dependency: transitive description: name: functions_client - sha256: a49876ebae32a50eb62483c5c5ac80ed0d8da34f98ccc23986b03a8d28cee07c + sha256: "91bd57c5ee843957bfee68fdcd7a2e8b3c1081d448e945d33ff695fb9c2a686c" url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.3" gap: dependency: "direct main" description: @@ -404,10 +404,10 @@ packages: dependency: transitive description: name: gotrue - sha256: d6362dff9a54f8c1c372bb137c858b4024c16407324d34e6473e59623c9b9f50 + sha256: "941694654ab659990547798569771d8d092f2ade84a72e75bb9bbca249f3d3b1" url: "https://pub.dev" source: hosted - version: "2.11.1" + version: "2.13.0" gtk: dependency: transitive description: @@ -420,10 +420,10 @@ packages: dependency: transitive description: name: http - sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f + sha256: "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b" url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.0" http_parser: dependency: transitive description: @@ -452,10 +452,10 @@ packages: dependency: transitive description: name: image_picker_android - sha256: "8bd392ba8b0c8957a157ae0dc9fcf48c58e6c20908d5880aea1d79734df090e9" + sha256: "317a5d961cec5b34e777b9252393f2afbd23084aa6e60fcf601dcf6341b9ebeb" url: "https://pub.dev" source: hosted - version: "0.8.12+22" + version: "0.8.12+23" image_picker_for_web: dependency: transitive description: @@ -556,10 +556,10 @@ packages: dependency: transitive description: name: leak_tracker - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec + sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" url: "https://pub.dev" source: hosted - version: "10.0.8" + version: "10.0.9" leak_tracker_flutter_testing: dependency: transitive description: @@ -676,10 +676,10 @@ packages: dependency: transitive description: name: path_provider_android - sha256: "0ca7359dad67fd7063cb2892ab0c0737b2daafd807cf1acecd62374c8fae6c12" + sha256: d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9 url: "https://pub.dev" source: hosted - version: "2.2.16" + version: "2.2.17" path_provider_foundation: dependency: transitive description: @@ -732,10 +732,10 @@ packages: dependency: transitive description: name: permission_handler_apple - sha256: f84a188e79a35c687c132a0a0556c254747a08561e99ab933f12f6ca71ef3c98 + sha256: f000131e755c54cf4d84a5d8bd6e4149e262cc31c5a8b1d698de1ac85fa41023 url: "https://pub.dev" source: hosted - version: "9.4.6" + version: "9.4.7" permission_handler_html: dependency: transitive description: @@ -788,26 +788,26 @@ packages: dependency: transitive description: name: posix - sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a + sha256: "6323a5b0fa688b6a010df4905a56b00181479e6d10534cecfecede2aa55add61" url: "https://pub.dev" source: hosted - version: "6.0.1" + version: "6.0.3" postgrest: dependency: transitive description: name: postgrest - sha256: b74dc0f57b5dca5ce9f57a54b08110bf41d6fc8a0483c0fec10c79e9aa0fb2bb + sha256: "10b81a23b1c829ccadf68c626b4d66666453a1474d24c563f313f5ca7851d575" url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.2" provider: dependency: transitive description: name: provider - sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c + sha256: "4abbd070a04e9ddc287673bf5a030c7ca8b685ff70218720abab8b092f53dd84" url: "https://pub.dev" source: hosted - version: "6.1.2" + version: "6.1.5" pull_to_refresh: dependency: "direct main" description: @@ -820,10 +820,10 @@ packages: dependency: transitive description: name: realtime_client - sha256: e3089dac2121917cc0c72d42ab056fea0abbaf3c2229048fc50e64bafc731adf + sha256: b6a825a4c80f2281ebfbbcf436a8979ae9993d4a30dbcf011b7d2b82ddde9edd url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.5.1" redacted: dependency: "direct main" description: @@ -852,18 +852,18 @@ packages: dependency: transitive description: name: shared_preferences - sha256: "846849e3e9b68f3ef4b60c60cf4b3e02e9321bc7f4d8c4692cf87ffa82fc8a3a" + sha256: "6e8bf70b7fef813df4e9a36f658ac46d107db4b4cfe1048b477d4e453a8159f5" url: "https://pub.dev" source: hosted - version: "2.5.2" + version: "2.5.3" shared_preferences_android: dependency: transitive description: name: shared_preferences_android - sha256: "3ec7210872c4ba945e3244982918e502fa2bfb5230dff6832459ca0e1879b7ad" + sha256: "20cbd561f743a342c76c151d6ddb93a9ce6005751e7aa458baad3858bfbfb6ac" url: "https://pub.dev" source: hosted - version: "2.4.8" + version: "2.4.10" shared_preferences_foundation: dependency: transitive description: @@ -945,10 +945,10 @@ packages: dependency: transitive description: name: storage_client - sha256: "9f9ed283943313b23a1b27139bb18986e9b152a6d34530232c702c468d98e91a" + sha256: "09bac4d75eea58e8113ca928e6655a09cc8059e6d1b472ee801f01fde815bcfc" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.4.0" stream_channel: dependency: transitive description: @@ -969,18 +969,18 @@ packages: dependency: transitive description: name: supabase - sha256: c3ebddba69ddcf16d8b78e8c44c4538b0193d1cf944fde3b72eb5b279892a370 + sha256: "56c3493114caac8ef0dc3cac5fa24a9edefeb8c22d45794814c0fe3d2feb1a98" url: "https://pub.dev" source: hosted - version: "2.6.3" + version: "2.8.0" supabase_flutter: dependency: "direct main" description: name: supabase_flutter - sha256: "3b5b5b492e342f63f301605d0c66f6528add285b5744f53c9fd9abd5ffdbce5b" + sha256: "66b8d0a7a31f45955b11ad7b65347abc61b31e10f8bdfa4428501b81f5b30fa5" url: "https://pub.dev" source: hosted - version: "2.8.4" + version: "2.9.1" term_glyph: dependency: transitive description: @@ -1017,18 +1017,18 @@ packages: dependency: transitive description: name: url_launcher_android - sha256: "1d0eae19bd7606ef60fe69ef3b312a437a16549476c42321d5dc1506c9ca3bf4" + sha256: "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79" url: "https://pub.dev" source: hosted - version: "6.3.15" + version: "6.3.16" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626" + sha256: "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb" url: "https://pub.dev" source: hosted - version: "6.3.2" + version: "6.3.3" url_launcher_linux: dependency: transitive description: @@ -1057,10 +1057,10 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: "3ba963161bd0fe395917ba881d320b9c4f6dd3c4a233da62ab18a5025c85f1e9" + sha256: "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.4.1" url_launcher_windows: dependency: transitive description: @@ -1081,10 +1081,10 @@ packages: dependency: transitive description: name: vector_graphics - sha256: "44cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de" + sha256: a4f059dc26fc8295b5921376600a194c4ec7d55e72f2fe4c7d2831e103d461e6 url: "https://pub.dev" source: hosted - version: "1.1.18" + version: "1.1.19" vector_graphics_codec: dependency: transitive description: @@ -1097,10 +1097,10 @@ packages: dependency: transitive description: name: vector_graphics_compiler - sha256: "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad" + sha256: "557a315b7d2a6dbb0aaaff84d857967ce6bdc96a63dc6ee2a57ce5a6ee5d3331" url: "https://pub.dev" source: hosted - version: "1.1.16" + version: "1.1.17" vector_math: dependency: transitive description: @@ -1113,10 +1113,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 url: "https://pub.dev" source: hosted - version: "14.3.1" + version: "15.0.0" web: dependency: transitive description: @@ -1129,18 +1129,18 @@ packages: dependency: transitive description: name: web_socket - sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" + sha256: "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c" url: "https://pub.dev" source: hosted - version: "0.1.6" + version: "1.0.1" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: "0b8e2457400d8a859b7b2030786835a28a8e80836ef64402abef392ff4f1d0e5" + sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8 url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.0.3" webview_windows: dependency: transitive description: @@ -1177,10 +1177,10 @@ packages: dependency: transitive description: name: yet_another_json_isolate - sha256: "56155e9e0002cc51ea7112857bbcdc714d4c35e176d43e4d3ee233009ff410c9" + sha256: fe45897501fa156ccefbfb9359c9462ce5dec092f05e8a56109db30be864f01e url: "https://pub.dev" source: hosted - version: "2.0.3" + version: "2.1.0" sdks: - dart: ">=3.7.0 <4.0.0" + dart: ">=3.8.0 <4.0.0" flutter: ">=3.27.0"