From 329f96f3380164b0ce7978448a3701500911b11d Mon Sep 17 00:00:00 2001 From: tzw Date: Mon, 23 Sep 2024 12:10:22 +0630 Subject: [PATCH 1/4] merge --- lib/pages/profile/profile_page.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pages/profile/profile_page.dart b/lib/pages/profile/profile_page.dart index ce83b58..4a9811b 100644 --- a/lib/pages/profile/profile_page.dart +++ b/lib/pages/profile/profile_page.dart @@ -86,7 +86,7 @@ class _ProfileState extends State { ); final deleteAccountBox = DisplayText( labelTextKey: "profile.delete.title", - iconData: MaterialCommunityIcons.delete, + iconData: MaterialCommunityIcons.account_remove, ); final phonenumberbox = DisplayText( From 4b88978f6fb3e806faf793d2d4692c96d94bc059 Mon Sep 17 00:00:00 2001 From: tzw Date: Mon, 23 Sep 2024 12:11:21 +0630 Subject: [PATCH 2/4] merge --- android/app/build.gradle | 4 +- pubspec.lock | 1502 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 1504 insertions(+), 2 deletions(-) create mode 100644 pubspec.lock diff --git a/android/app/build.gradle b/android/app/build.gradle index d654325..a57d539 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -35,11 +35,11 @@ android { checkReleaseBuilds false } - compileSdkVersion 33 + compileSdkVersion 34 defaultConfig { minSdkVersion 21 - targetSdkVersion 33 + targetSdkVersion 34 versionCode flutterVersionCode.toInteger() versionName flutterVersionName multiDexEnabled true diff --git a/pubspec.lock b/pubspec.lock new file mode 100644 index 0000000..b3cba4a --- /dev/null +++ b/pubspec.lock @@ -0,0 +1,1502 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051 + url: "https://pub.dev" + source: hosted + version: "64.0.0" + _flutterfire_internals: + dependency: transitive + description: + name: _flutterfire_internals + sha256: fe4c077084ddda88f327dc1c96d16631cd68d4948644593fcbcd911c2c89e2fa + url: "https://pub.dev" + source: hosted + version: "1.3.23" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893" + url: "https://pub.dev" + source: hosted + version: "6.2.0" + archive: + dependency: transitive + description: + name: archive + sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d" + url: "https://pub.dev" + source: hosted + version: "3.4.10" + args: + dependency: transitive + description: + name: args + sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + url: "https://pub.dev" + source: hosted + version: "2.4.2" + async: + dependency: transitive + description: + name: async + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" + source: hosted + version: "2.11.0" + barcode: + dependency: transitive + description: + name: barcode + sha256: "91b143666f7bb13636f716b6d4e412e372ab15ff7969799af8c9e30a382e9385" + url: "https://pub.dev" + source: hosted + version: "2.2.6" + barcode_scan2: + dependency: "direct main" + description: + name: barcode_scan2 + sha256: "847ff88888213a3b2866d98839ee6d85e4da8002df83e7971d355d24d5f31c4c" + url: "https://pub.dev" + source: hosted + version: "4.3.0" + bidi: + dependency: transitive + description: + name: bidi + sha256: "1a7d0c696324b2089f72e7671fd1f1f64fef44c980f3cebc84e803967c597b63" + url: "https://pub.dev" + source: hosted + version: "2.0.10" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + cached_network_image: + dependency: "direct main" + description: + name: cached_network_image + sha256: "28ea9690a8207179c319965c13cd8df184d5ee721ae2ce60f398ced1219cea1f" + url: "https://pub.dev" + source: hosted + version: "3.3.1" + cached_network_image_platform_interface: + dependency: transitive + description: + name: cached_network_image_platform_interface + sha256: "9e90e78ae72caa874a323d78fa6301b3fb8fa7ea76a8f96dc5b5bf79f283bf2f" + url: "https://pub.dev" + source: hosted + version: "4.0.0" + cached_network_image_web: + dependency: transitive + description: + name: cached_network_image_web + sha256: "42a835caa27c220d1294311ac409a43361088625a4f23c820b006dd9bffb3316" + url: "https://pub.dev" + source: hosted + version: "1.1.1" + camera: + dependency: "direct main" + description: + name: camera + sha256: "9499cbc2e51d8eb0beadc158b288380037618ce4e30c9acbc4fae1ac3ecb5797" + url: "https://pub.dev" + source: hosted + version: "0.10.5+9" + camera_android: + dependency: transitive + description: + name: camera_android + sha256: "351429510121d179b9aac5a2e8cb525c3cd6c39f4d709c5f72dfb21726e52371" + url: "https://pub.dev" + source: hosted + version: "0.10.8+16" + camera_avfoundation: + dependency: transitive + description: + name: camera_avfoundation + sha256: "608b56b0880722f703871329c4d7d4c2f379c8e2936940851df7fc041abc6f51" + url: "https://pub.dev" + source: hosted + version: "0.9.13+10" + camera_platform_interface: + dependency: transitive + description: + name: camera_platform_interface + sha256: a250314a48ea337b35909a4c9d5416a208d736dcb01d0b02c6af122be66660b0 + url: "https://pub.dev" + source: hosted + version: "2.7.4" + camera_web: + dependency: transitive + description: + name: camera_web + sha256: f18ccfb33b2a7c49a52ad5aa3f07330b7422faaecbdfd9b9fe8e51182f6ad67d + url: "https://pub.dev" + source: hosted + version: "0.3.2+4" + characters: + dependency: transitive + description: + name: characters + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + url: "https://pub.dev" + source: hosted + version: "1.3.0" + clock: + dependency: transitive + description: + name: clock + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" + source: hosted + version: "1.1.1" + cloud_firestore: + dependency: "direct main" + description: + name: cloud_firestore + sha256: "6f6a9e7f1c68f34ffe159c911a290fa7caf1a09b8a88aa1534c65f0246953970" + url: "https://pub.dev" + source: hosted + version: "4.15.6" + cloud_firestore_platform_interface: + dependency: transitive + description: + name: cloud_firestore_platform_interface + sha256: "4e92549af19f0d2eec7e379ca44f909caef8eb52295a0cde5467b018cfae0378" + url: "https://pub.dev" + source: hosted + version: "6.1.7" + cloud_firestore_web: + dependency: transitive + description: + name: cloud_firestore_web + sha256: "2b34cff977da11a4822151d967c5e6ce62640cbcb56d6e52a46382d2316350ac" + url: "https://pub.dev" + source: hosted + version: "3.10.6" + collection: + dependency: transitive + description: + name: collection + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + url: "https://pub.dev" + source: hosted + version: "1.18.0" + connectivity: + dependency: "direct main" + description: + name: connectivity + sha256: a8e91263cf3e25fb5cc95e19dfde4999e32a648ac3b9e8a558a28165731678f8 + url: "https://pub.dev" + source: hosted + version: "3.0.6" + connectivity_for_web: + dependency: transitive + description: + name: connectivity_for_web + sha256: "01a390c1d5adc2ed1fa1f52d120c07fe9fd01166a93f965a832fd6cfc0ea6482" + url: "https://pub.dev" + source: hosted + version: "0.4.0+1" + connectivity_macos: + dependency: transitive + description: + name: connectivity_macos + sha256: "51ae08d5162eca9669b9d8951ed83ce19c5355a81149f94e4dee2740beb93628" + url: "https://pub.dev" + source: hosted + version: "0.2.1+2" + connectivity_platform_interface: + dependency: transitive + description: + name: connectivity_platform_interface + sha256: "2d82e942df9d49f29a24bb07fb5ce085d4a53e47818c62364d2b6deb9e0d7a8e" + url: "https://pub.dev" + source: hosted + version: "2.0.1" + convert: + dependency: transitive + description: + name: convert + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" + source: hosted + version: "3.1.1" + country_code_picker: + dependency: "direct main" + description: + name: country_code_picker + sha256: "92818885f0e47486539f80463b66f649970506a91dd3c0731ca3ba5308324a4d" + url: "https://pub.dev" + source: hosted + version: "3.0.0" + country_icons: + dependency: "direct main" + description: + name: country_icons + sha256: "836435012b42c7dcc6d585d1420ce2310d70396569ef70cf5d74c740919f7320" + url: "https://pub.dev" + source: hosted + version: "2.0.2" + coverage: + dependency: transitive + description: + name: coverage + sha256: "8acabb8306b57a409bf4c83522065672ee13179297a6bb0cb9ead73948df7c76" + url: "https://pub.dev" + source: hosted + version: "1.7.2" + cross_file: + dependency: transitive + description: + name: cross_file + sha256: fedaadfa3a6996f75211d835aaeb8fede285dae94262485698afd832371b9a5e + url: "https://pub.dev" + source: hosted + version: "0.3.3+8" + crypto: + dependency: transitive + description: + name: crypto + sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + url: "https://pub.dev" + source: hosted + version: "3.0.3" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d + url: "https://pub.dev" + source: hosted + version: "1.0.6" + dbus: + dependency: transitive + description: + name: dbus + sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac" + url: "https://pub.dev" + source: hosted + version: "0.7.10" + device_info_plus: + dependency: "direct main" + description: + name: device_info_plus + sha256: "77f757b789ff68e4eaf9c56d1752309bd9f7ad557cb105b938a7f8eb89e59110" + url: "https://pub.dev" + source: hosted + version: "9.1.2" + device_info_plus_platform_interface: + dependency: transitive + description: + name: device_info_plus_platform_interface + sha256: d3b01d5868b50ae571cd1dc6e502fc94d956b665756180f7b16ead09e836fd64 + url: "https://pub.dev" + source: hosted + version: "7.0.0" + dio: + dependency: "direct main" + description: + name: dio + sha256: "49af28382aefc53562459104f64d16b9dfd1e8ef68c862d5af436cc8356ce5a8" + url: "https://pub.dev" + source: hosted + version: "5.4.1" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" + source: hosted + version: "1.3.1" + ffi: + dependency: transitive + description: + name: ffi + sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + file: + dependency: transitive + description: + name: file + sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + url: "https://pub.dev" + source: hosted + version: "7.0.0" + file_selector_linux: + dependency: transitive + description: + name: file_selector_linux + sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492" + url: "https://pub.dev" + source: hosted + version: "0.9.2+1" + file_selector_macos: + dependency: transitive + description: + name: file_selector_macos + sha256: b15c3da8bd4908b9918111fa486903f5808e388b8d1c559949f584725a6594d6 + url: "https://pub.dev" + source: hosted + version: "0.9.3+3" + file_selector_platform_interface: + dependency: transitive + description: + name: file_selector_platform_interface + sha256: a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b + url: "https://pub.dev" + source: hosted + version: "2.6.2" + file_selector_windows: + dependency: transitive + description: + name: file_selector_windows + sha256: d3547240c20cabf205c7c7f01a50ecdbc413755814d6677f3cb366f04abcead0 + url: "https://pub.dev" + source: hosted + version: "0.9.3+1" + firebase_auth: + dependency: "direct main" + description: + name: firebase_auth + sha256: "6d8b4455524e2a619a135169a0ae817778d4acf56172188acae85f69f5e67185" + url: "https://pub.dev" + source: hosted + version: "4.17.6" + firebase_auth_platform_interface: + dependency: transitive + description: + name: firebase_auth_platform_interface + sha256: "3eed984830f610f43164d539ec6228820cf4936ab6ef491e1afcfaca80143c84" + url: "https://pub.dev" + source: hosted + version: "7.1.6" + firebase_auth_web: + dependency: transitive + description: + name: firebase_auth_web + sha256: fcf4718abc722131218de3b84772d83019be48c9211dbd5998aece716c52ff31 + url: "https://pub.dev" + source: hosted + version: "5.9.6" + firebase_core: + dependency: "direct main" + description: + name: firebase_core + sha256: "797379ea206eaeeb62499775de812761493d0692890fdc7f90b6183a3369176d" + url: "https://pub.dev" + source: hosted + version: "2.25.5" + firebase_core_platform_interface: + dependency: transitive + description: + name: firebase_core_platform_interface + sha256: c437ae5d17e6b5cc7981cf6fd458a5db4d12979905f9aafd1fea930428a9fe63 + url: "https://pub.dev" + source: hosted + version: "5.0.0" + firebase_core_web: + dependency: transitive + description: + name: firebase_core_web + sha256: c8e1d59385eee98de63c92f961d2a7062c5d9a65e7f45bdc7f1b0b205aab2492 + url: "https://pub.dev" + source: hosted + version: "2.11.5" + firebase_messaging: + dependency: "direct main" + description: + name: firebase_messaging + sha256: "1e15c5d90cd1dab98cdd169e258bceece1e98d3855350abe4196146443bbb08a" + url: "https://pub.dev" + source: hosted + version: "14.7.17" + firebase_messaging_platform_interface: + dependency: transitive + description: + name: firebase_messaging_platform_interface + sha256: "5e00f3e5c8b3f24b082dc20edb0c80d653ca87a87757db71218e045070fc7f8e" + url: "https://pub.dev" + source: hosted + version: "4.5.25" + firebase_messaging_web: + dependency: transitive + description: + name: firebase_messaging_web + sha256: "59de3f85715416f97a842f307b54c23540cbba4a109a7125e2150082bb041966" + url: "https://pub.dev" + source: hosted + version: "3.6.6" + firebase_storage: + dependency: "direct main" + description: + name: firebase_storage + sha256: "261763ebb2722abb8d3c702f467a9efb1f4ac8978a94c03850b80cfa3009c400" + url: "https://pub.dev" + source: hosted + version: "11.6.7" + firebase_storage_platform_interface: + dependency: transitive + description: + name: firebase_storage_platform_interface + sha256: "41e5832d930f668a62aa4fd3dc9778af3a301297170f549b882dad4c5b7d3bc7" + url: "https://pub.dev" + source: hosted + version: "5.1.10" + firebase_storage_web: + dependency: transitive + description: + name: firebase_storage_web + sha256: "5eac3e415e01384e8a5fc92510db61fee3001d7008fa0209ff2290bcd051b6c7" + url: "https://pub.dev" + source: hosted + version: "3.7.1" + fixnum: + dependency: transitive + description: + name: fixnum + sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_cache_manager: + dependency: "direct main" + description: + name: flutter_cache_manager + sha256: "8207f27539deb83732fdda03e259349046a39a4c767269285f449ade355d54ba" + url: "https://pub.dev" + source: hosted + version: "3.3.1" + flutter_datetime_picker: + dependency: "direct main" + description: + name: flutter_datetime_picker + sha256: "8e695c63c769350e541951227c2775190ec73ceda774a315b1dc9a99d5facfe5" + url: "https://pub.dev" + source: hosted + version: "1.5.1" + flutter_icons_null_safety: + dependency: "direct main" + description: + name: flutter_icons_null_safety + sha256: "60fd2594b08cba99d74c9c75e0fb7856b33377a538563713dca21bb71fcc1eec" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + flutter_local_notifications: + dependency: "direct main" + description: + name: flutter_local_notifications + sha256: c18f1de98fe0bb9dd5ba91e1330d4febc8b6a7de6aae3ffe475ef423723e72f3 + url: "https://pub.dev" + source: hosted + version: "16.3.2" + flutter_local_notifications_linux: + dependency: transitive + description: + name: flutter_local_notifications_linux + sha256: "33f741ef47b5f63cc7f78fe75eeeac7e19f171ff3c3df054d84c1e38bedb6a03" + url: "https://pub.dev" + source: hosted + version: "4.0.0+1" + flutter_local_notifications_platform_interface: + dependency: transitive + description: + name: flutter_local_notifications_platform_interface + sha256: "7cf643d6d5022f3baed0be777b0662cce5919c0a7b86e700299f22dc4ae660ef" + url: "https://pub.dev" + source: hosted + version: "7.0.0+1" + flutter_localizations: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_markdown: + dependency: "direct main" + description: + name: flutter_markdown + sha256: a64c5323ac83ed2b7940d2b6288d160aa1753ff271ba9d9b2a86770414aa3eab + url: "https://pub.dev" + source: hosted + version: "0.6.20+1" + flutter_pdfview: + dependency: "direct main" + description: + name: flutter_pdfview + sha256: a9055bf920c7095bf08c2781db431ba23577aa5da5a056a7152dc89a18fbec6f + url: "https://pub.dev" + source: hosted + version: "1.3.2" + flutter_plugin_android_lifecycle: + dependency: transitive + description: + name: flutter_plugin_android_lifecycle + sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da + url: "https://pub.dev" + source: hosted + version: "2.0.17" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + flutter_vector_icons: + dependency: "direct main" + description: + name: flutter_vector_icons + sha256: "20a77e282f8cb438c8edcee4eec85d8497d5f4cbeb07d116e9d2d01c9edfc5e2" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + font_awesome_flutter: + dependency: "direct main" + description: + name: font_awesome_flutter + sha256: "275ff26905134bcb59417cf60ad979136f1f8257f2f449914b2c3e05bbb4cd6f" + url: "https://pub.dev" + source: hosted + version: "10.7.0" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + url: "https://pub.dev" + source: hosted + version: "3.2.0" + glob: + dependency: transitive + description: + name: glob + sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + google_api_availability: + dependency: "direct main" + description: + name: google_api_availability + sha256: "3e9548cfd991d983d11425a2436d5bd957d048c279cc9e145ffe3f36fd847385" + url: "https://pub.dev" + source: hosted + version: "5.0.0" + google_api_availability_android: + dependency: transitive + description: + name: google_api_availability_android + sha256: d95429ae78083585c312de2c6578085e7d53d100a94656d691bce0bb0ce435be + url: "https://pub.dev" + source: hosted + version: "1.0.1" + google_api_availability_platform_interface: + dependency: transitive + description: + name: google_api_availability_platform_interface + sha256: "65b7da62fe5b582bb3d508628ad827d36d890710ea274766a992a56fa5420da6" + url: "https://pub.dev" + source: hosted + version: "1.0.1" + http: + dependency: transitive + description: + name: http + sha256: a2bbf9d017fcced29139daa8ed2bba4ece450ab222871df93ca9eec6f80c34ba + url: "https://pub.dev" + source: hosted + version: "1.2.0" + http_multi_server: + dependency: transitive + description: + name: http_multi_server + sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + url: "https://pub.dev" + source: hosted + version: "3.2.1" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" + source: hosted + version: "4.0.2" + image: + dependency: transitive + description: + name: image + sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e" + url: "https://pub.dev" + source: hosted + version: "4.1.7" + image_picker: + dependency: "direct main" + description: + name: image_picker + sha256: "26222b01a0c9a2c8fe02fc90b8208bd3325da5ed1f4a2acabf75939031ac0bdd" + url: "https://pub.dev" + source: hosted + version: "1.0.7" + image_picker_android: + dependency: transitive + description: + name: image_picker_android + sha256: "39f2bfe497e495450c81abcd44b62f56c2a36a37a175da7d137b4454977b51b1" + url: "https://pub.dev" + source: hosted + version: "0.8.9+3" + image_picker_for_web: + dependency: transitive + description: + name: image_picker_for_web + sha256: e2423c53a68b579a7c37a1eda967b8ae536c3d98518e5db95ca1fe5719a730a3 + url: "https://pub.dev" + source: hosted + version: "3.0.2" + image_picker_ios: + dependency: transitive + description: + name: image_picker_ios + sha256: fadafce49e8569257a0cad56d24438a6fa1f0cbd7ee0af9b631f7492818a4ca3 + url: "https://pub.dev" + source: hosted + version: "0.8.9+1" + image_picker_linux: + dependency: transitive + description: + name: image_picker_linux + sha256: "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" + image_picker_macos: + dependency: transitive + description: + name: image_picker_macos + sha256: "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" + image_picker_platform_interface: + dependency: transitive + description: + name: image_picker_platform_interface + sha256: fa4e815e6fcada50e35718727d83ba1c92f1edf95c0b4436554cec301b56233b + url: "https://pub.dev" + source: hosted + version: "2.9.3" + image_picker_windows: + dependency: transitive + description: + name: image_picker_windows + sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" + intl: + dependency: "direct main" + description: + name: intl + sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" + url: "https://pub.dev" + source: hosted + version: "0.18.1" + io: + dependency: transitive + description: + name: io + sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + url: "https://pub.dev" + source: hosted + version: "1.0.4" + js: + dependency: transitive + description: + name: js + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + url: "https://pub.dev" + source: hosted + version: "0.6.7" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + url: "https://pub.dev" + source: hosted + version: "10.0.0" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + url: "https://pub.dev" + source: hosted + version: "2.0.1" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + url: "https://pub.dev" + source: hosted + version: "2.0.1" + logging: + dependency: "direct main" + description: + name: logging + sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + markdown: + dependency: transitive + description: + name: markdown + sha256: "1b134d9f8ff2da15cb298efe6cd8b7d2a78958c1b00384ebcbdf13fe340a6c90" + url: "https://pub.dev" + source: hosted + version: "7.2.1" + matcher: + dependency: transitive + description: + name: matcher + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + url: "https://pub.dev" + source: hosted + version: "0.12.16+1" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + url: "https://pub.dev" + source: hosted + version: "0.8.0" + meta: + dependency: transitive + description: + name: meta + sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + url: "https://pub.dev" + source: hosted + version: "1.11.0" + mime: + dependency: transitive + description: + name: mime + sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" + url: "https://pub.dev" + source: hosted + version: "1.0.5" + nested: + dependency: transitive + description: + name: nested + sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" + url: "https://pub.dev" + source: hosted + version: "1.0.0" + node_preamble: + dependency: transitive + description: + name: node_preamble + sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" + url: "https://pub.dev" + source: hosted + version: "2.0.2" + octo_image: + dependency: transitive + description: + name: octo_image + sha256: "45b40f99622f11901238e18d48f5f12ea36426d8eced9f4cbf58479c7aa2430d" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + open_file: + dependency: "direct main" + description: + name: open_file + sha256: a5a32d44acb7c899987d0999e1e3cbb0a0f1adebbf41ac813ec6d2d8faa0af20 + url: "https://pub.dev" + source: hosted + version: "3.3.2" + package_config: + dependency: transitive + description: + name: package_config + sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + package_info: + dependency: "direct main" + description: + name: package_info + sha256: "6c07d9d82c69e16afeeeeb6866fe43985a20b3b50df243091bfc4a4ad2b03b75" + url: "https://pub.dev" + source: hosted + version: "2.0.2" + path: + dependency: transitive + description: + name: path + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + url: "https://pub.dev" + source: hosted + version: "1.9.0" + path_parsing: + dependency: transitive + description: + name: path_parsing + sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf + url: "https://pub.dev" + source: hosted + version: "1.0.1" + path_provider: + dependency: "direct main" + description: + name: path_provider + sha256: b27217933eeeba8ff24845c34003b003b2b22151de3c908d0e679e8fe1aa078b + url: "https://pub.dev" + source: hosted + version: "2.1.2" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + sha256: "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668" + url: "https://pub.dev" + source: hosted + version: "2.2.2" + path_provider_foundation: + dependency: transitive + description: + name: path_provider_foundation + sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f" + url: "https://pub.dev" + source: hosted + version: "2.3.2" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 + url: "https://pub.dev" + source: hosted + version: "2.2.1" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" + url: "https://pub.dev" + source: hosted + version: "2.2.1" + pdf: + dependency: "direct main" + description: + name: pdf + sha256: "243f05342fc0bdf140eba5b069398985cdbdd3dbb1d776cf43d5ea29cc570ba6" + url: "https://pub.dev" + source: hosted + version: "3.10.8" + permission_handler: + dependency: "direct main" + description: + name: permission_handler + sha256: "74e962b7fad7ff75959161bb2c0ad8fe7f2568ee82621c9c2660b751146bfe44" + url: "https://pub.dev" + source: hosted + version: "11.3.0" + permission_handler_android: + dependency: transitive + description: + name: permission_handler_android + sha256: "1acac6bae58144b442f11e66621c062aead9c99841093c38f5bcdcc24c1c3474" + url: "https://pub.dev" + source: hosted + version: "12.0.5" + permission_handler_apple: + dependency: transitive + description: + name: permission_handler_apple + sha256: bdafc6db74253abb63907f4e357302e6bb786ab41465e8635f362ee71fd8707b + url: "https://pub.dev" + source: hosted + version: "9.4.0" + permission_handler_html: + dependency: transitive + description: + name: permission_handler_html + sha256: "54bf176b90f6eddd4ece307e2c06cf977fb3973719c35a93b85cc7093eb6070d" + url: "https://pub.dev" + source: hosted + version: "0.1.1" + permission_handler_platform_interface: + dependency: transitive + description: + name: permission_handler_platform_interface + sha256: "23dfba8447c076ab5be3dee9ceb66aad345c4a648f0cac292c77b1eb0e800b78" + url: "https://pub.dev" + source: hosted + version: "4.2.0" + permission_handler_windows: + dependency: transitive + description: + name: permission_handler_windows + sha256: "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e" + url: "https://pub.dev" + source: hosted + version: "0.2.1" + petitparser: + dependency: transitive + description: + name: petitparser + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 + url: "https://pub.dev" + source: hosted + version: "6.0.2" + photo_view: + dependency: "direct main" + description: + name: photo_view + sha256: "8036802a00bae2a78fc197af8a158e3e2f7b500561ed23b4c458107685e645bb" + url: "https://pub.dev" + source: hosted + version: "0.14.0" + pin_input_text_field: + dependency: "direct main" + description: + name: pin_input_text_field + sha256: "8d6fc670aa673a4df5976086f0e8039972a5b2bcb783c8db8dd3b9b4b072ca90" + url: "https://pub.dev" + source: hosted + version: "4.5.1" + platform: + dependency: transitive + description: + name: platform + sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + url: "https://pub.dev" + source: hosted + version: "3.1.4" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" + source: hosted + version: "2.1.8" + pointycastle: + dependency: transitive + description: + name: pointycastle + sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29" + url: "https://pub.dev" + source: hosted + version: "3.7.4" + pool: + dependency: transitive + description: + name: pool + sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + url: "https://pub.dev" + source: hosted + version: "1.5.1" + progress: + dependency: "direct main" + description: + path: "../mokkon-flutter/packages/progress" + relative: true + source: path + version: "0.0.1" + protobuf: + dependency: transitive + description: + name: protobuf + sha256: "68645b24e0716782e58948f8467fd42a880f255096a821f9e7d0ec625b00c84d" + url: "https://pub.dev" + source: hosted + version: "3.1.0" + provider: + dependency: "direct main" + description: + name: provider + sha256: "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096" + url: "https://pub.dev" + source: hosted + version: "6.1.1" + pub_semver: + dependency: transitive + description: + name: pub_semver + sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + qr: + dependency: transitive + description: + name: qr + sha256: "64957a3930367bf97cc211a5af99551d630f2f4625e38af10edd6b19131b64b3" + url: "https://pub.dev" + source: hosted + version: "3.0.1" + qr_flutter: + dependency: "direct main" + description: + name: qr_flutter + sha256: "5095f0fc6e3f71d08adef8feccc8cea4f12eec18a2e31c2e8d82cb6019f4b097" + url: "https://pub.dev" + source: hosted + version: "4.1.0" + rxdart: + dependency: transitive + description: + name: rxdart + sha256: "0c7c0cedd93788d996e33041ffecda924cc54389199cde4e6a34b440f50044cb" + url: "https://pub.dev" + source: hosted + version: "0.27.7" + share: + dependency: "direct main" + description: + name: share + sha256: "97e6403f564ed1051a01534c2fc919cb6e40ea55e60a18ec23cee6e0ce19f4be" + url: "https://pub.dev" + source: hosted + version: "2.0.4" + shared_preferences: + dependency: "direct main" + description: + name: shared_preferences + sha256: "81429e4481e1ccfb51ede496e916348668fd0921627779233bd24cc3ff6abd02" + url: "https://pub.dev" + source: hosted + version: "2.2.2" + shared_preferences_android: + dependency: transitive + description: + name: shared_preferences_android + sha256: "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06" + url: "https://pub.dev" + source: hosted + version: "2.2.1" + shared_preferences_foundation: + dependency: transitive + description: + name: shared_preferences_foundation + sha256: "7708d83064f38060c7b39db12aefe449cb8cdc031d6062280087bc4cdb988f5c" + url: "https://pub.dev" + source: hosted + version: "2.3.5" + shared_preferences_linux: + dependency: transitive + description: + name: shared_preferences_linux + sha256: "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa" + url: "https://pub.dev" + source: hosted + version: "2.3.2" + shared_preferences_platform_interface: + dependency: transitive + description: + name: shared_preferences_platform_interface + sha256: "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b" + url: "https://pub.dev" + source: hosted + version: "2.3.2" + shared_preferences_web: + dependency: transitive + description: + name: shared_preferences_web + sha256: "7b15ffb9387ea3e237bb7a66b8a23d2147663d391cafc5c8f37b2e7b4bde5d21" + url: "https://pub.dev" + source: hosted + version: "2.2.2" + shared_preferences_windows: + dependency: transitive + description: + name: shared_preferences_windows + sha256: "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59" + url: "https://pub.dev" + source: hosted + version: "2.3.2" + shelf: + dependency: transitive + description: + name: shelf + sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 + url: "https://pub.dev" + source: hosted + version: "1.4.1" + 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: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e + url: "https://pub.dev" + source: hosted + version: "1.1.2" + shelf_web_socket: + dependency: transitive + description: + name: shelf_web_socket + sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + url: "https://pub.dev" + source: hosted + version: "1.0.4" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_map_stack_trace: + dependency: transitive + description: + name: source_map_stack_trace + sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + source_maps: + dependency: transitive + description: + name: source_maps + sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" + url: "https://pub.dev" + source: hosted + version: "0.10.12" + source_span: + dependency: transitive + description: + name: source_span + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.dev" + source: hosted + version: "1.10.0" + sprintf: + dependency: transitive + description: + name: sprintf + sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23" + url: "https://pub.dev" + source: hosted + version: "7.0.0" + sqflite: + dependency: transitive + description: + name: sqflite + sha256: a9016f495c927cb90557c909ff26a6d92d9bd54fc42ba92e19d4e79d61e798c6 + url: "https://pub.dev" + source: hosted + version: "2.3.2" + sqflite_common: + dependency: transitive + description: + name: sqflite_common + sha256: "28d8c66baee4968519fb8bd6cdbedad982d6e53359091f0b74544a9f32ec72d5" + url: "https://pub.dev" + source: hosted + version: "2.5.3" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + url: "https://pub.dev" + source: hosted + version: "1.11.1" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + url: "https://pub.dev" + source: hosted + version: "2.1.2" + stream_transform: + dependency: transitive + description: + name: stream_transform + sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + synchronized: + dependency: transitive + description: + name: synchronized + sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558" + url: "https://pub.dev" + source: hosted + version: "3.1.0+1" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + test: + dependency: "direct dev" + description: + name: test + sha256: a1f7595805820fcc05e5c52e3a231aedd0b72972cb333e8c738a8b1239448b6f + url: "https://pub.dev" + source: hosted + version: "1.24.9" + test_api: + dependency: transitive + description: + name: test_api + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + url: "https://pub.dev" + source: hosted + version: "0.6.1" + test_core: + dependency: transitive + description: + name: test_core + sha256: a757b14fc47507060a162cc2530d9a4a2f92f5100a952c7443b5cad5ef5b106a + url: "https://pub.dev" + source: hosted + version: "0.5.9" + timeline_list: + dependency: "direct main" + description: + name: timeline_list + sha256: ef1dff1f1d0b9daf8350635594f2b33c52b12410771bf12a8d5976c1aac156c4 + url: "https://pub.dev" + source: hosted + version: "0.0.6" + timezone: + dependency: transitive + description: + name: timezone + sha256: "1cfd8ddc2d1cfd836bc93e67b9be88c3adaeca6f40a00ca999104c30693cdca0" + url: "https://pub.dev" + source: hosted + version: "0.9.2" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" + source: hosted + version: "1.3.2" + url_launcher: + dependency: "direct main" + description: + name: url_launcher + sha256: "0ecc004c62fd3ed36a2ffcbe0dd9700aee63bd7532d0b642a488b1ec310f492e" + url: "https://pub.dev" + source: hosted + version: "6.2.5" + url_launcher_android: + dependency: transitive + description: + name: url_launcher_android + sha256: d4ed0711849dd8e33eb2dd69c25db0d0d3fdc37e0a62e629fe32f57a22db2745 + url: "https://pub.dev" + source: hosted + version: "6.3.0" + url_launcher_ios: + dependency: transitive + description: + name: url_launcher_ios + sha256: "75bb6fe3f60070407704282a2d295630cab232991eb52542b18347a8a941df03" + url: "https://pub.dev" + source: hosted + version: "6.2.4" + url_launcher_linux: + dependency: transitive + description: + name: url_launcher_linux + sha256: ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811 + url: "https://pub.dev" + source: hosted + version: "3.1.1" + url_launcher_macos: + dependency: transitive + description: + name: url_launcher_macos + sha256: b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234 + url: "https://pub.dev" + source: hosted + version: "3.1.0" + url_launcher_platform_interface: + dependency: transitive + description: + name: url_launcher_platform_interface + sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029" + url: "https://pub.dev" + source: hosted + version: "2.3.2" + url_launcher_web: + dependency: transitive + description: + name: url_launcher_web + sha256: fff0932192afeedf63cdd50ecbb1bc825d31aed259f02bb8dba0f3b729a5e88b + url: "https://pub.dev" + source: hosted + version: "2.2.3" + url_launcher_windows: + dependency: transitive + description: + name: url_launcher_windows + sha256: ecf9725510600aa2bb6d7ddabe16357691b6d2805f66216a97d1b881e21beff7 + url: "https://pub.dev" + source: hosted + version: "3.1.1" + uuid: + dependency: "direct main" + description: + name: uuid + sha256: cd210a09f7c18cbe5a02511718e0334de6559871052c90a90c0cca46a4aa81c8 + url: "https://pub.dev" + source: hosted + version: "4.3.3" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + url: "https://pub.dev" + source: hosted + version: "13.0.0" + watcher: + dependency: transitive + description: + name: watcher + sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + web: + dependency: transitive + description: + name: web + sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + url: "https://pub.dev" + source: hosted + version: "0.3.0" + web_socket_channel: + dependency: transitive + description: + name: web_socket_channel + sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b + url: "https://pub.dev" + source: hosted + version: "2.4.0" + webkit_inspection_protocol: + dependency: transitive + description: + name: webkit_inspection_protocol + sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572" + url: "https://pub.dev" + source: hosted + version: "1.2.1" + win32: + dependency: transitive + description: + name: win32 + sha256: "464f5674532865248444b4c3daca12bd9bf2d7c47f759ce2617986e7229494a8" + url: "https://pub.dev" + source: hosted + version: "5.2.0" + win32_registry: + dependency: transitive + description: + name: win32_registry + sha256: "41fd8a189940d8696b1b810efb9abcf60827b6cbfab90b0c43e8439e3a39d85a" + url: "https://pub.dev" + source: hosted + version: "1.1.2" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d + url: "https://pub.dev" + source: hosted + version: "1.0.4" + xml: + dependency: transitive + description: + name: xml + sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 + url: "https://pub.dev" + source: hosted + version: "6.5.0" + yaml: + dependency: transitive + description: + name: yaml + sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + url: "https://pub.dev" + source: hosted + version: "3.1.2" +sdks: + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.19.0" From 3629a8312c7ba1773d34803f81562a3c74fed19f Mon Sep 17 00:00:00 2001 From: tzw Date: Mon, 23 Sep 2024 18:36:23 +0630 Subject: [PATCH 3/4] update carton form and add recent search --- assets/local/localization_en.json | 17 ++-- assets/local/localization_mu.json | 15 ++-- lib/constants.dart | 8 +- lib/helpers/shared_pref.dart | 20 +++++ lib/pages/carton/cargo_widget.dart | 9 +- lib/pages/carton/carton_filter.dart | 48 +++++----- lib/pages/carton/carton_size_widget.dart | 87 ++++++++++++++++--- lib/pages/carton/carton_submit.dart | 41 ++++++--- lib/pages/carton/custom_duty_addition.dart | 4 - .../carton/mix_carton/mix_carton_submit.dart | 12 ++- .../carton/package_selection_widget.dart | 1 + .../delivery_address_editor.dart | 34 ++++---- .../model/fcs_shipment_model.dart | 2 +- lib/pages/package/model/package_model.dart | 7 +- lib/pages/user_search/user_search.dart | 30 +++++-- lib/pages/widgets/suggest_list.dart | 53 +++++++++++ 16 files changed, 292 insertions(+), 96 deletions(-) create mode 100644 lib/pages/widgets/suggest_list.dart diff --git a/assets/local/localization_en.json b/assets/local/localization_en.json index 26d698e..b498881 100644 --- a/assets/local/localization_en.json +++ b/assets/local/localization_en.json @@ -7,7 +7,6 @@ "Buttons Start ================================================================":"", "btn.save": "Save", "btn.approve":"Approve", - "btn.delete":"Delete", "btn.select":"Select", "btn.cancel":"Cancel", "btn.ok": "Ok", @@ -248,7 +247,7 @@ "pm.add.btn":"Add payment method", "pm.save.btn":"Save payment method", "pm.delete.confirm":"Delete this payment method?", - "pm_.title": "PAYMENT", + "pm_.title": "Payment", "pm.date": "Date", "pm.amount": "Amount", "pm.receipt":"Payment receipt amount", @@ -329,15 +328,15 @@ "box.weight":"Weight", "box.mix_carton.update.btn":"Update mix carton", "box.cargo.select.btn":"Select", - "box.select.carton_type":"Select carton type", - "box.select.sender_and_consignee":"Select sender and consignee", + "box.select.carton_type":"Carton type", + "box.select.sender_and_consignee":"Sender and Consignee", "box.cartion.count":"Cartons ({0})", "box.sender.title":"Sender", "box.consignee.title":"Consignee", "box.bill_to_sender":"Bill to sender", "box.bill_to.consignee":"Bill to consignee", "box.done.btn":"Done", - "box.select_carton_size":"Select the carton size", + "box.select_carton_size":"Carton size", "box.select_shipment":"Select the shipment", "box.shipment":"Shipment", "box.standard_carton_size":"Standard carton size", @@ -347,11 +346,11 @@ "box.no_carton":"There is no cartons in this shipment.", "box.crete.carton":"Create carton", "box.carton.type":"Carton type", - "box.select.delivery":"Select delivery type", + "box.select.delivery":"Last mile", "box.select.package":"Select packages", "box.no_package":"There is no packages.", - "box.input_cargo_weight":"Input cargo weight (lb)", - "box.input_surcharge_item":"Input surcharge items", + "box.input_cargo_weight":"Cargo type (lb)", + "box.input_surcharge_item":"Surcharge items", "box.select.cargo_type":"Select surcharge item", "box.surcharge.item":"Surcharge items", "box.package.count":"Packages ({0})", @@ -369,6 +368,8 @@ "box.invoice.confirm":"Confirm invoice?", "box.print.qr.title":"Print QRCode", "box.print.btn":"Print", + "box.delivery":"Delivery", + "box.pickup":"Pick-up", "Boxes End ================================================================":"", "Delivery Start ================================================================":"", diff --git a/assets/local/localization_mu.json b/assets/local/localization_mu.json index f2ce5d6..03dc58f 100644 --- a/assets/local/localization_mu.json +++ b/assets/local/localization_mu.json @@ -6,7 +6,6 @@ "Buttons Start ================================================================":"", "btn.save":"သိမ်းဆည်းရန်", "btn.approve":"အတည်ပြုရန်", - "btn.delete":"ဖျက်ရန်", "btn.select":"ရွေးချယ်ပါ", "btn.cancel":"မလုပ်နဲ့", "btn.ok": "အိုကေ", @@ -329,15 +328,15 @@ "box.weight":"အလေးချိန်", "box.mix_carton.update.btn":"Update mix carton", "box.cargo.select.btn":"ရွေးချယ်မည်", - "box.select.carton_type":"Select carton type", - "box.select.sender_and_consignee":"Select sender and consignee", + "box.select.carton_type":"Carton type", + "box.select.sender_and_consignee":"Sender and Consignee", "box.cartion.count":"Cartons ({0})", "box.sender.title":"ပေးပို့သူ", "box.consignee.title":"လက်ခံသူ", "box.bill_to_sender":"ပေးပို့သူထံ ငွေတောင်းခံရန်", "box.bill_to.consignee":"လက်ခံသူထံ ငွေတောင်းခံရန်", "box.done.btn":"Done", - "box.select_carton_size":"Select the carton size", + "box.select_carton_size":"Carton size", "box.select_shipment":"Select the shipment", "box.shipment":"Shipment", "box.standard_carton_size":"Standard carton size", @@ -347,11 +346,11 @@ "box.no_carton":"There is no cartons in this shipment.", "box.crete.carton":"Create carton", "box.carton.type":"ပုံး အမျိုးအစား", - "box.select.delivery":"Select delivery type", + "box.select.delivery":"Last mile", "box.select.package":"Select packages", "box.no_package":"There is no packages.", - "box.input_cargo_weight":"Input cargo weight (lb)", - "box.input_surcharge_item":"Input surcharge items", + "box.input_cargo_weight":"Cargo type (lb)", + "box.input_surcharge_item":"Surcharge items", "box.select.cargo_type":"Select surcharge item", "box.surcharge.item":"Surcharge items", "box.package.count":"Packages ({0})", @@ -369,6 +368,8 @@ "box.invoice.confirm":"ပြေစာ အတည်ပြုပါ ?", "box.print.qr.title":"QRCode ပရင့်ထုတ်ရန်", "box.print.btn":"ပရင့်ထုတ်မည်", + "box.delivery":"Delivery", + "box.pickup":"Pick-up", "Boxes End ================================================================":"", "Delivery Start ================================================================":"", diff --git a/lib/constants.dart b/lib/constants.dart index 77acf32..276f678 100644 --- a/lib/constants.dart +++ b/lib/constants.dart @@ -89,8 +89,8 @@ const shipment_local_dropoff = "Local drop off"; const shipment_courier_dropoff = "Courier drop off"; //Carton types -const carton_from_packages = "Carton for packages"; -const carton_mix_carton = "Mix carton"; +const carton_from_packages = "For packages"; +const carton_mix_carton = "For cartons (Mix carton)"; const carton_from_cartons = "From cartons"; const carton_from_shipments = "From shipments"; @@ -140,8 +140,8 @@ const payment_confirmed_status = "confirmed"; const payment_canceled_status = "canceled"; //Delivery types -const delivery_caton = "Delivery carton"; -const pickup_carton = "Pick-up carton"; +const delivery_caton = "Delivery"; +const pickup_carton = "Pick-up"; // bill const billToSender = "Bill to sender"; diff --git a/lib/helpers/shared_pref.dart b/lib/helpers/shared_pref.dart index e020232..68d1921 100644 --- a/lib/helpers/shared_pref.dart +++ b/lib/helpers/shared_pref.dart @@ -88,4 +88,24 @@ class SharedPref { final prefs = await SharedPreferences.getInstance(); prefs.remove(key); } + + static Future saveRecentSearch(String key, String query) async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + //Use `Set` to avoid duplication of recentSearches + Set allSearches = prefs.getStringList(key)?.toSet() ?? {}; + + //Place it at first in the set + allSearches = {query, ...allSearches}; + prefs.setStringList(key, allSearches.toList()); + } + + static Future?> getRecentSearch(String key, String query) async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + final allSearches = prefs.getStringList(key); + return allSearches!.where((search) => search.startsWith(query)).toList(); + } + + static Future clearRecentSearch(String key) async { + return await _remove(key); + } } diff --git a/lib/pages/carton/cargo_widget.dart b/lib/pages/carton/cargo_widget.dart index decb010..dde9a67 100644 --- a/lib/pages/carton/cargo_widget.dart +++ b/lib/pages/carton/cargo_widget.dart @@ -151,6 +151,7 @@ class _CargoWidgetState extends State { ); final userRow = Row( + crossAxisAlignment: CrossAxisAlignment.start, children: [ Expanded(child: senderBox, flex: 2), Flexible(child: consigneeBox) @@ -265,7 +266,7 @@ class _CargoWidgetState extends State { _surchargeControllers.clear(); _surchareItems.asMap().entries.forEach((e) { var editor = new TextEditingController(); - editor.text = e.value.qty == 0 ? "" : e.value.qty.toString(); + editor.text = e.value.qty.toString(); _surchargeControllers.add(editor); }); @@ -314,6 +315,12 @@ class _CargoWidgetState extends State { final continueBtn = ContinueButton( onTap: () { if (widget.onContinue != null) { + + if(_surchareItems.isNotEmpty && _surchareItems.any((item)=> item.qty == 0)){ + showMsgDialog(context, "Error", "Please insert surcharge item quantity"); + return; + } + widget.onContinue!(_cargoTypes, _surchareItems); } }, diff --git a/lib/pages/carton/carton_filter.dart b/lib/pages/carton/carton_filter.dart index 20ab11a..384454b 100644 --- a/lib/pages/carton/carton_filter.dart +++ b/lib/pages/carton/carton_filter.dart @@ -167,27 +167,33 @@ class _CartonFilterState extends State { final _titleWidget = SizedBox( height: 30, - child: TabBar( - unselectedLabelColor: Colors.grey, - labelColor: primaryColor, - indicatorColor: primaryColor, - indicatorSize: TabBarIndicatorSize.tab, - labelPadding: const EdgeInsets.all(0), - indicatorPadding: const EdgeInsets.all(0), - tabs: [ - Tab( - text: AppTranslations.of(context)?.text("box.fcs_shipment_num"), - ), - Tab( - text: AppTranslations.of(context)?.text("box.consignee.title"), - ), - Tab( - text: AppTranslations.of(context)?.text("box.sender.title"), - ), - Tab( - text: AppTranslations.of(context)?.text("box.status"), - ), - ], + child: Theme( + data: ThemeData( + highlightColor: Colors.transparent, + splashColor: Colors.transparent, + ), + child: TabBar( + unselectedLabelColor: Colors.grey, + labelColor: primaryColor, + indicatorColor: primaryColor, + indicatorSize: TabBarIndicatorSize.tab, + labelPadding: const EdgeInsets.all(0), + indicatorPadding: const EdgeInsets.all(0), + tabs: [ + Tab( + text: AppTranslations.of(context)?.text("box.fcs_shipment_num"), + ), + Tab( + text: AppTranslations.of(context)?.text("box.consignee.title"), + ), + Tab( + text: AppTranslations.of(context)?.text("box.sender.title"), + ), + Tab( + text: AppTranslations.of(context)?.text("box.status"), + ), + ], + ), ), ); diff --git a/lib/pages/carton/carton_size_widget.dart b/lib/pages/carton/carton_size_widget.dart index a1fa3a6..b23a6ab 100644 --- a/lib/pages/carton/carton_size_widget.dart +++ b/lib/pages/carton/carton_size_widget.dart @@ -16,7 +16,6 @@ import '../widgets/box_size_picker.dart'; import '../widgets/continue_button.dart'; import '../widgets/display_text.dart'; import '../widgets/local_dropdown.dart'; -import '../widgets/local_radio_buttons.dart'; import '../widgets/local_text.dart'; import '../widgets/local_title.dart'; import '../widgets/previous_button.dart'; @@ -62,7 +61,7 @@ class CartonSizeWidget extends StatefulWidget { } class _CartonSizeWidgetState extends State { - List _deliveryTypes = [delivery_caton, pickup_carton]; + // List _deliveryTypes = [delivery_caton, pickup_carton]; FcsShipment? _shipment; String _cartonSizeType = standardCarton; @@ -132,7 +131,7 @@ class _CartonSizeWidgetState extends State { text: widget.sender.name, labelTextKey: "box.sender.title", iconData: MaterialCommunityIcons.account_arrow_right, - subText: Text(widget.sender.fcsID!, + subText: Text(widget.sender.fcsID ?? "", style: TextStyle(fontSize: 13, color: labelColor)), ); @@ -145,6 +144,7 @@ class _CartonSizeWidgetState extends State { ); final userRow = Row( + crossAxisAlignment: CrossAxisAlignment.start, children: [ Expanded( child: senderBox, @@ -154,14 +154,71 @@ class _CartonSizeWidgetState extends State { ], ); - final deliveryTypeBox = LocalRadioButtons( - values: _deliveryTypes, - selectedValue: _selectedDeliveryType, - callback: (String? v) { - setState(() { - _selectedDeliveryType = v!; - }); - }); + final deliveryTypeBox = Container( + child: Row( + children: [ + Flexible( + child: InkWell( + onTap: () { + setState(() { + _selectedDeliveryType = delivery_caton; + }); + }, + child: Row(children: [ + LocalRadio( + value: delivery_caton, + groupValue: _selectedDeliveryType, + onChanged: (p0) { + setState(() { + _selectedDeliveryType = delivery_caton; + }); + }, + ), + Flexible( + child: Padding( + padding: const EdgeInsets.only(left: 10), + child: LocalText(context, 'box.delivery', + fontSize: 15, + color: _selectedDeliveryType == delivery_caton + ? primaryColor + : Colors.black), + ), + ) + ]), + )), + Flexible( + child: InkWell( + onTap: () { + setState(() { + _selectedDeliveryType = pickup_carton; + }); + }, + child: Row(children: [ + LocalRadio( + value: pickup_carton, + groupValue: _selectedDeliveryType, + onChanged: (p0) { + setState(() { + _selectedDeliveryType = pickup_carton; + }); + }, + ), + Flexible( + child: Padding( + padding: const EdgeInsets.only(left: 10), + child: LocalText(context, 'box.pickup', + fontSize: 15, + color: _selectedDeliveryType == pickup_carton + ? primaryColor + : Colors.black), + ), + ) + ]), + ), + ) + ], + ), + ); final billRadioBox = Container( child: Row( @@ -186,7 +243,7 @@ class _CartonSizeWidgetState extends State { Flexible( child: Padding( padding: const EdgeInsets.only(left: 10), - child: LocalText(context, 'box.bill_to_sender', + child: LocalText(context, 'box.sender.title', fontSize: 15, color: _billToValue == billToSender ? primaryColor @@ -215,7 +272,7 @@ class _CartonSizeWidgetState extends State { Flexible( child: Padding( padding: const EdgeInsets.only(left: 10), - child: LocalText(context, 'box.bill_to.consignee', + child: LocalText(context, 'box.consignee.title', fontSize: 15, color: _billToValue == billToConsignee ? primaryColor @@ -465,12 +522,14 @@ class _CartonSizeWidgetState extends State { children: [ const SizedBox(height: 8), userRow, + LocalTitle(textKey: "box.bill_to", topPadding: 8), const SizedBox(height: 5), billRadioBox, + const SizedBox(height: 8), LocalTitle(textKey: "box.select.delivery"), const SizedBox(height: 5), deliveryTypeBox, - const SizedBox(height: 5), + const SizedBox(height: 8), LocalTitle(textKey: "box.select_carton_size"), const SizedBox(height: 8), cartonSizedBox, diff --git a/lib/pages/carton/carton_submit.dart b/lib/pages/carton/carton_submit.dart index f097dce..4224821 100644 --- a/lib/pages/carton/carton_submit.dart +++ b/lib/pages/carton/carton_submit.dart @@ -71,7 +71,8 @@ class CartonSubmit extends StatelessWidget { child: SubmitTextWidget( labelKey: 'box.carton.type', text: carton_from_packages, - subText: boxDimension), + // subText: boxDimension + ), ); final shipmentBox = Padding( @@ -135,9 +136,9 @@ class CartonSubmit extends StatelessWidget { ], ), ), - billToValue == billToSender - ? billWidget(context) - : const SizedBox() + // billToValue == billToSender + // ? billWidget(context) + // : const SizedBox() ], ), ), @@ -162,9 +163,9 @@ class CartonSubmit extends StatelessWidget { ], ), ), - billToValue == billToConsignee - ? billWidget(context) - : const SizedBox() + // billToValue == billToConsignee + // ? billWidget(context) + // : const SizedBox() ], ), )) @@ -174,14 +175,30 @@ class CartonSubmit extends StatelessWidget { ]), ); + final billToBox = Padding( + padding: const EdgeInsets.only(top: 10), + child: SubmitTextWidget( + labelKey: 'box.bill_to', + text: billToValue == billToSender ? 'Sender' : 'Consignee', + ), + ); + final deliveryTypeBox = Padding( padding: const EdgeInsets.only(top: 10), child: SubmitTextWidget( - labelKey: 'box.delivery_type', + labelKey: 'box.select.delivery', text: deliveryType, ), ); + final cartonSizeBox = Padding( + padding: const EdgeInsets.only(top: 10), + child: SubmitTextWidget( + labelKey: 'box.carton_size', + text: boxDimension??'', + ), + ); + final packagesBox = Padding( padding: const EdgeInsets.only(top: 10), child: Column(crossAxisAlignment: CrossAxisAlignment.stretch, children: [ @@ -341,12 +358,16 @@ class CartonSubmit extends StatelessWidget { children: [ cartonType, const SizedBox(height: 10), - shipmentBox, - const SizedBox(height: 10), usersBox, const SizedBox(height: 10), + billToBox, + const SizedBox(height: 10), deliveryTypeBox, const SizedBox(height: 10), + cartonSizeBox, + const SizedBox(height: 10), + shipmentBox, + const SizedBox(height: 10), packages.isNotEmpty ? packagesBox : const SizedBox(), const SizedBox(height: 10), cargosBox, diff --git a/lib/pages/carton/custom_duty_addition.dart b/lib/pages/carton/custom_duty_addition.dart index cb07ac6..d096b60 100644 --- a/lib/pages/carton/custom_duty_addition.dart +++ b/lib/pages/carton/custom_duty_addition.dart @@ -3,7 +3,6 @@ import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/main/util.dart'; import 'package:fcs/pages/rates/model/shipment_rate_model.dart'; import 'package:fcs/pages/widgets/local_app_bar.dart'; -import 'package:fcs/pages/widgets/local_title.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -117,9 +116,6 @@ class _CustomDutyAdditionState extends State { child: ListView( shrinkWrap: true, children: [ - LocalTitle( - textKey: "box.select.cargo.title", - ), Column( children: getCargoRowList(customDuties), ), diff --git a/lib/pages/carton/mix_carton/mix_carton_submit.dart b/lib/pages/carton/mix_carton/mix_carton_submit.dart index 8bea898..85a8fca 100644 --- a/lib/pages/carton/mix_carton/mix_carton_submit.dart +++ b/lib/pages/carton/mix_carton/mix_carton_submit.dart @@ -112,7 +112,15 @@ class _MixCartonSubmitState extends State { child: SubmitTextWidget( labelKey: 'box.carton.type', text: carton_mix_carton, - subText: boxDimension, + // subText: boxDimension, + ), + ); + + final cartonSizeBox = Padding( + padding: const EdgeInsets.only(top: 10), + child: SubmitTextWidget( + labelKey: 'box.carton_size', + text: boxDimension ?? '', ), ); @@ -284,6 +292,8 @@ class _MixCartonSubmitState extends State { children: [ cartonType, const SizedBox(height: 10), + cartonSizeBox, + const SizedBox(height: 10), shipmentBox, const SizedBox(height: 10), widget.cartons.isNotEmpty ? cartonsBox : const SizedBox(), diff --git a/lib/pages/carton/package_selection_widget.dart b/lib/pages/carton/package_selection_widget.dart index 435ec3d..4b3a3d7 100644 --- a/lib/pages/carton/package_selection_widget.dart +++ b/lib/pages/carton/package_selection_widget.dart @@ -126,6 +126,7 @@ class _PackageSelectionWidgetState extends State { ); final userRow = Row( + crossAxisAlignment: CrossAxisAlignment.start, children: [ Expanded( child: senderBox, diff --git a/lib/pages/delivery_address/delivery_address_editor.dart b/lib/pages/delivery_address/delivery_address_editor.dart index 85a6d0a..147242f 100644 --- a/lib/pages/delivery_address/delivery_address_editor.dart +++ b/lib/pages/delivery_address/delivery_address_editor.dart @@ -31,7 +31,7 @@ class _DeliveryAddressEditorState extends State { bool _isLoading = false; bool _isNew = true; - final _deliveryFormKey=GlobalKey(); + final _deliveryFormKey = GlobalKey(); @override void initState() { @@ -64,8 +64,8 @@ class _DeliveryAddressEditorState extends State { controller: _nameController, autovalidateMode: AutovalidateMode.onUserInteraction, validator: (value) { - if(value==null || value.isEmpty){ - return"Please enter full name"; + if (value == null || value.isEmpty) { + return "Please enter full name"; } return null; }); @@ -74,10 +74,10 @@ class _DeliveryAddressEditorState extends State { labelTextKey: 'delivery_address.address_line1', iconData: Icons.location_on, controller: _address1Controller, - autovalidateMode: AutovalidateMode.onUserInteraction, + autovalidateMode: AutovalidateMode.onUserInteraction, validator: (value) { - if(value==null || value.isEmpty){ - return"Please enter address"; + if (value == null || value.isEmpty) { + return "Please enter address"; } return null; }); @@ -91,10 +91,10 @@ class _DeliveryAddressEditorState extends State { labelTextKey: 'delivery_address.city', iconData: Icons.location_city, controller: _cityController, - autovalidateMode: AutovalidateMode.onUserInteraction, + autovalidateMode: AutovalidateMode.onUserInteraction, validator: (value) { - if(value==null || value.isEmpty){ - return"Please enter city"; + if (value == null || value.isEmpty) { + return "Please enter city"; } return null; }); @@ -103,10 +103,10 @@ class _DeliveryAddressEditorState extends State { labelTextKey: 'delivery_address.state_region', iconData: Entypo.location, controller: _stateController, - autovalidateMode: AutovalidateMode.onUserInteraction, + autovalidateMode: AutovalidateMode.onUserInteraction, validator: (value) { - if(value==null || value.isEmpty){ - return"Please enter state/region"; + if (value == null || value.isEmpty) { + return "Please enter state/region"; } return null; }); @@ -116,10 +116,10 @@ class _DeliveryAddressEditorState extends State { iconData: Icons.phone, textInputType: TextInputType.phone, controller: _phoneController, - autovalidateMode: AutovalidateMode.onUserInteraction, + autovalidateMode: AutovalidateMode.onUserInteraction, validator: (value) { - if(value==null || value.isEmpty){ - return"Please enter phone number"; + if (value == null || value.isEmpty) { + return "Please enter phone number"; } return null; }); @@ -207,7 +207,7 @@ class _DeliveryAddressEditorState extends State { } Future _validate(DeliveryAddress deliveryAddress) async { - if(_deliveryFormKey.currentState!.validate()){ + if (!_deliveryFormKey.currentState!.validate()) { return false; } // if (deliveryAddress.addressLine1 == "") { @@ -236,7 +236,7 @@ class _DeliveryAddressEditorState extends State { if (!valid) { return; } - + if (widget.user != null) { deliveryAddress.userID = widget.user!.id; } diff --git a/lib/pages/fcs_shipment/model/fcs_shipment_model.dart b/lib/pages/fcs_shipment/model/fcs_shipment_model.dart index 14e51f2..fe0c4b7 100644 --- a/lib/pages/fcs_shipment/model/fcs_shipment_model.dart +++ b/lib/pages/fcs_shipment/model/fcs_shipment_model.dart @@ -87,7 +87,7 @@ class FcsShipmentModel extends BaseModel { try { var snaps = await FirebaseFirestore.instance .collection("/$fcs_shipment_collection") - .where("status", isEqualTo: fcs_shipment_processed_status) + // .where("status", isEqualTo: fcs_shipment_processed_status) .get(const GetOptions(source: Source.server)); fcsShipments = snaps.docs.map((documentSnapshot) { var fcs = diff --git a/lib/pages/package/model/package_model.dart b/lib/pages/package/model/package_model.dart index 39d4835..92cefeb 100644 --- a/lib/pages/package/model/package_model.dart +++ b/lib/pages/package/model/package_model.dart @@ -13,6 +13,8 @@ import 'package:fcs/pagination/paginator_listener.dart'; import 'package:logging/logging.dart'; import 'package:path/path.dart' as Path; +import '../../../helpers/shared_pref.dart'; + class PackageModel extends BaseModel { final log = Logger('PackageModel'); @@ -214,7 +216,10 @@ class PackageModel extends BaseModel { return packages; } - Future> searchUser(String term) { + Future> searchUser(String term) async { + if (term != '') { + await SharedPref.saveRecentSearch('account_search', term); + } return Services.instance.userService.searchUser(term); } diff --git a/lib/pages/user_search/user_search.dart b/lib/pages/user_search/user_search.dart index df94112..76dff2b 100644 --- a/lib/pages/user_search/user_search.dart +++ b/lib/pages/user_search/user_search.dart @@ -7,6 +7,8 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../../data/services/services.dart'; +import '../../helpers/shared_pref.dart'; +import '../widgets/suggest_list.dart'; typedef OnUserSelect(User suer); typedef OnUserRowSelect(User suer); @@ -79,7 +81,7 @@ class UserSearchDelegate extends SearchDelegate { child: Text( "No result found", textAlign: TextAlign.center, - style: TextStyle(color:Colors.black), + style: TextStyle(color: Colors.black), ), ), ); @@ -118,12 +120,26 @@ class UserSearchDelegate extends SearchDelegate { @override Widget buildSuggestions(BuildContext context) { - return Container( - child: Center( - child: Opacity( - opacity: 0.2, - child: Icon(Icons.perm_identity, size: 200, color: primaryColor)), - ), + return FutureBuilder?>( + future: SharedPref.getRecentSearch('account_search', query), + builder: (context, snapshot) { + List _oldFilters = snapshot.data ?? []; + if (_oldFilters.isEmpty) { + return const Center( + child: Opacity( + opacity: 0.2, + child: Icon(Icons.perm_identity, color: primaryColor, size: 200), + ), + ); + } + return SuggestList( + recentSearchList: _oldFilters, + onTap: (String s) { + query = s; + showResults(context); + }, + prefKey: 'account_search'); + }, ); } diff --git a/lib/pages/widgets/suggest_list.dart b/lib/pages/widgets/suggest_list.dart new file mode 100644 index 0000000..421a19e --- /dev/null +++ b/lib/pages/widgets/suggest_list.dart @@ -0,0 +1,53 @@ +import 'package:flutter/material.dart'; +import 'package:shared_preferences/shared_preferences.dart'; + +import '../../helpers/theme.dart'; + +typedef OnTap = Function(String query); + +class SuggestList extends StatefulWidget { + final List? recentSearchList; + final String prefKey; + final OnTap? onTap; + const SuggestList( + {Key? key, this.recentSearchList, this.onTap, required this.prefKey}) + : super(key: key); + + @override + _SuggestListState createState() => _SuggestListState(); +} + +class _SuggestListState extends State { + @override + Widget build(BuildContext context) { + return ListView.builder( + itemCount: widget.recentSearchList?.length, + itemBuilder: (context, index) { + return ListTile( + leading: const Icon(Icons.restore, color: labelColor), + title: Text( + widget.recentSearchList?[index] ?? '', + style: const TextStyle(color: primaryColor), + ), + onTap: () { + if (widget.onTap != null) { + widget.onTap!(widget.recentSearchList![index]); + } + }, + trailing: IconButton( + icon: const Icon(Icons.close, color: labelColor), + onPressed: () async { + setState(() { + widget.recentSearchList + ?.remove(widget.recentSearchList?[index]); + }); + final prefs = await SharedPreferences.getInstance(); + prefs.setStringList(widget.prefKey, widget.recentSearchList!); + setState(() {}); + }, + ), + ); + }, + ); + } +} From b0b94dbd40a8c481773dd5f86ecf1a381d8fc717 Mon Sep 17 00:00:00 2001 From: sma Date: Mon, 23 Sep 2024 18:37:21 +0630 Subject: [PATCH 4/4] update cartion info page --- assets/local/localization_en.json | 2 +- assets/local/localization_mu.json | 2 +- lib/pages/carton/carton_info.dart | 59 +++++++++++++++++++++---------- 3 files changed, 42 insertions(+), 21 deletions(-) diff --git a/assets/local/localization_en.json b/assets/local/localization_en.json index 26d698e..4cb6cdf 100644 --- a/assets/local/localization_en.json +++ b/assets/local/localization_en.json @@ -281,7 +281,7 @@ "box.cargo.type":"Cargos", "box.dimension":"Dimension", "box.delivery_address":"Delivery address", - "box.delivery_type":"Delivery type", + "box.delivery_type":"Last mile", "box.fcs_shipment_num":"Shipment", "box.fcs.id":"FCS ID", "box.name":"Sender", diff --git a/assets/local/localization_mu.json b/assets/local/localization_mu.json index f2ce5d6..8fa953b 100644 --- a/assets/local/localization_mu.json +++ b/assets/local/localization_mu.json @@ -282,7 +282,7 @@ "box.cargo.type":"ကုန်ပစ္စည်းအမျိုးအစားများ", "box.dimension":"အရွယ်အစား", "box.delivery_address":"ပို့ဆောင်ရမည့်လိပ်စာ", - "box.delivery_type":"ပို့ဆောင်ရမည့်အမျိုးအစား", + "box.delivery_type":"နောက်ဆုံးမိုင်", "box.fcs_shipment_num":"တင်ပို့နံပါတ်", "box.fcs.id":"FCS ID", "box.name":"ပေးပို့သူ", diff --git a/lib/pages/carton/carton_info.dart b/lib/pages/carton/carton_info.dart index 84c66e9..9cc2157 100644 --- a/lib/pages/carton/carton_info.dart +++ b/lib/pages/carton/carton_info.dart @@ -90,7 +90,7 @@ class _CartonInfoState extends State { @override Widget build(BuildContext context) { - String? boxDimension = _carton.cartonSizeType == standardCarton + String? boxDimension = _carton.cartonSizeType == standardCarton ? "${standardSize?.name} - ${standardSize?.length.toInt()}”x${standardSize?.width.toInt()}”x${standardSize?.height.toInt()}”" : _carton.cartonSizeType == customCarton ? "${_carton.length.toInt()}”x${_carton.width.toInt()}”x${_carton.height.toInt()}”" @@ -113,12 +113,20 @@ class _CartonInfoState extends State { final cartonSubTypeBox = DisplayText( text: _carton.cartonType == carton_from_packages - ? "Carton for packages" + ? "For packages" : "Mix carton", - subText: boxDimension == null ? null : Text("$boxDimension"), labelTextKey: "box.carton.type", ); + final billInfoBox = DisplayText( + text: _carton.billTo == billToSender + ? "Sender" + : _carton.billTo == billToConsignee + ? "Consignee" + : null, + labelTextKey: "box.bill_to", + ); + final shipmentBox = DisplayText( text: _carton.fcsShipmentNumber, labelTextKey: "box.fcs_shipment_num", @@ -129,6 +137,11 @@ class _CartonInfoState extends State { labelTextKey: "box.delivery_type", ); + final cartonSizeBox = DisplayText( + subText: boxDimension == null ? null : Text("$boxDimension"), + labelTextKey: "box.carton_size", + ); + final senderBox = DisplayText( text: _carton.senderName == null ? "" : _carton.senderName, subText: Text(_carton.senderFCSID ?? "", style: textStyle), @@ -141,18 +154,18 @@ class _CartonInfoState extends State { labelTextKey: "processing.consignee.name", ); - final billWidget = Expanded( - child: Padding( - padding: EdgeInsets.only(left: 0, top: 15), - child: Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Icon(Ionicons.document_text_outline, - color: primaryColor, size: 20), - Text("Bill to", - style: TextStyle(color: primaryColor, fontSize: 15)) - ], - ))); + // final billWidget = Expanded( + // child: Padding( + // padding: EdgeInsets.only(left: 0, top: 15), + // child: Row( + // mainAxisAlignment: MainAxisAlignment.start, + // children: [ + // Icon(Ionicons.document_text_outline, + // color: primaryColor, size: 20), + // Text("Bill to", + // style: TextStyle(color: primaryColor, fontSize: 15)) + // ], + // ))); final userRowBox = Row( mainAxisAlignment: MainAxisAlignment.start, @@ -169,7 +182,7 @@ class _CartonInfoState extends State { ], ), ), - _carton.billTo == billToSender ? billWidget : const SizedBox() + // _carton.billTo == billToSender ? billWidget : const SizedBox() ], ), ), @@ -185,7 +198,7 @@ class _CartonInfoState extends State { ], ), ), - _carton.billTo == billToConsignee ? billWidget : const SizedBox() + // _carton.billTo == billToConsignee ? billWidget : const SizedBox() ], )) ], @@ -354,26 +367,34 @@ class _CartonInfoState extends State { padding: const EdgeInsets.only(left: 20, right: 20), child: ListView(children: [ Row(children: [ - Flexible(child: cartonTypeBox), + Flexible(child: cartonTypeBox,flex: 1), Flexible( child: cartonQrBox, ), + ]), Row( children: [ Flexible(child: cartonSubTypeBox), ], ), + _mixCartons.isEmpty ? userRowBox : const SizedBox(), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ + Flexible(child: billInfoBox), Flexible(child: shipmentBox), + ], + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ _mixCartons.isEmpty ? Flexible(child: deliveryBox) : const SizedBox(), + Flexible(child: cartonSizeBox), ], ), - _mixCartons.isEmpty ? userRowBox : const SizedBox(), _packages.isEmpty ? const SizedBox() : Padding(