diff --git a/.gitignore b/.gitignore index 29788fd..adbed48 100644 --- a/.gitignore +++ b/.gitignore @@ -5,9 +5,12 @@ *.swp .DS_Store .atom/ +.build/ .buildlog/ .history .svn/ +.swiftpm/ +migrate_working_dir/ # IntelliJ related *.iml @@ -22,38 +25,24 @@ # Flutter/Dart/Pub related **/doc/api/ +**/ios/Flutter/.last_build_id .dart_tool/ .flutter-plugins .flutter-plugins-dependencies -.packages .pub-cache/ .pub/ /build/ -# Web related -lib/generated_plugin_registrant.dart - # Symbolication related app.*.symbols # Obfuscation related app.*.map.json -# Exceptions to above rules. -!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages -android/key.properties -android/key.jks -android/app/src/prod/google-services.json -.gradle/5.6.2/gc.properties -.gradle/5.6.2/executionHistory/executionHistory.bin -.gradle/5.6.2/executionHistory/executionHistory.lock -.gradle/5.6.2/fileChanges/last-build.bin -.gradle/5.6.2/fileHashes/fileHashes.lock -.gradle/buildOutputCleanup/buildOutputCleanup.lock -.gradle/buildOutputCleanup/cache.properties -.gradle/vcs-1/gc.properties -android/key.keystore +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release android/dev-key.properties -ios/Runner/GoogleService-Info.plist +android/app/src/dev/google-services.json android/app/google-services.json -ios/Runner/GoogleService-Info.plist diff --git a/.metadata b/.metadata index 56bfc2c..5b39692 100644 --- a/.metadata +++ b/.metadata @@ -4,7 +4,42 @@ # This file should be version controlled and should not be manually edited. version: - revision: f4abaa0735eba4dfd8f33f73363911d63931fe03 - channel: stable + revision: "d8a9f9a52e5af486f80d932e838ee93861ffd863" + channel: "stable" project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863 + base_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863 + - platform: android + create_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863 + base_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863 + - platform: ios + create_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863 + base_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863 + - platform: linux + create_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863 + base_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863 + - platform: macos + create_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863 + base_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863 + - platform: web + create_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863 + base_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863 + - platform: windows + create_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863 + base_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863 + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/README.md b/README.md index cc8b706..8e0258e 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,9 @@ This project is a starting point for a Flutter application. A few resources to get you started if this is your first Flutter project: -- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) -- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) +- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) +- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) -For help getting started with Flutter, view our -[online documentation](https://flutter.dev/docs), which offers tutorials, +For help getting started with Flutter development, view the +[online documentation](https://docs.flutter.dev/), which offers tutorials, samples, guidance on mobile development, and a full API reference. diff --git a/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 0000000..0d29021 --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1,28 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at https://dart.dev/lints. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/android/.gitignore b/android/.gitignore index 0a741cb..55afd91 100644 --- a/android/.gitignore +++ b/android/.gitignore @@ -7,5 +7,7 @@ gradle-wrapper.jar GeneratedPluginRegistrant.java # Remember to never publicly share your keystore. -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +# See https://flutter.dev/to/reference-keystore key.properties +**/*.keystore +**/*.jks diff --git a/android/app/build.gradle b/android/app/build.gradle index 91b3464..a69c8d4 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -1,85 +1,49 @@ plugins { id "com.android.application" - // START: FlutterFire Configuration - id 'com.google.gms.google-services' - // END: FlutterFire Configuration id "kotlin-android" // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id "dev.flutter.flutter-gradle-plugin" } - -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - - def keystoreProperties = new Properties() -def keystorePropertiesFile = rootProject.file('key.properties') +def keystorePropertiesFile = rootProject.file('dev-key.properties') if (keystorePropertiesFile.exists()) { keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) } android { - namespace = "com.mokkon.fcs.fcs" - compileSdkVersion 34 - ndkVersion = "27.0.12077973" + namespace = "com.example.fcs" + compileSdk = 35 + ndkVersion = flutter.ndkVersion compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - coreLibraryDesugaringEnabled true + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { - jvmTarget = 17 - } - - lintOptions { - checkReleaseBuilds false + jvmTarget = JavaVersion.VERSION_1_8 } defaultConfig { + applicationId = "com.example.fcs" minSdkVersion 23 - targetSdkVersion 34 - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName - multiDexEnabled true + targetSdkVersion 35 } - flavorDimensions "fcs" productFlavors { prod { dimension "fcs" applicationId "com.mokkon.fcs" - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName + versionCode = flutter.versionCode + versionName = flutter.versionName } dev { dimension "fcs" applicationId "com.mokkon.fcs.dev" - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName + versionCode = flutter.versionCode + versionName = flutter.versionName } } @@ -95,7 +59,6 @@ android { buildTypes { release { signingConfig signingConfigs.release - minifyEnabled true // useProguard false @@ -103,11 +66,7 @@ android { applicationVariants.all { variant -> variant.outputs.all { def newName - // if (buildType == 'debug'){ - // newName = "app-${variant.getFlavorName()}-debug.apk" - // } else { - newName = "${variant.productFlavors[0].dimension}_${variant.productFlavors[0].name}_v${defaultConfig.versionName}+${defaultConfig.versionCode}.apk" - // } + newName = "${variant.productFlavors[0].dimension}_${variant.productFlavors[0].name}_v${variant.productFlavors[0].versionName}+${variant.productFlavors[0].versionCode}.apk" outputFileName = newName } } @@ -119,10 +78,6 @@ android { } flutter { - source '../..' + source = "../.." } -dependencies { - implementation "androidx.multidex:multidex:2.0.1" - coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.2.2' -} \ No newline at end of file diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml index f880684..399f698 100644 --- a/android/app/src/debug/AndroidManifest.xml +++ b/android/app/src/debug/AndroidManifest.xml @@ -1,5 +1,6 @@ - diff --git a/android/app/src/dev/AndroidManifest.xml b/android/app/src/dev/AndroidManifest.xml index 48ad6f0..adc5e5d 100644 --- a/android/app/src/dev/AndroidManifest.xml +++ b/android/app/src/dev/AndroidManifest.xml @@ -1,38 +1,6 @@ - - - + - - - - - - - - - - - - + android:label="FCS Dev"> - + \ No newline at end of file diff --git a/android/app/src/dev/google-services.json b/android/app/src/dev/google-services.json index c6afa35..d09f068 100644 --- a/android/app/src/dev/google-services.json +++ b/android/app/src/dev/google-services.json @@ -14,6 +14,30 @@ } }, "oauth_client": [ + { + "client_id": "944560757353-1e5a1qdip1hu3p6531hvf89uf4up5ohk.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "com.mokkon.fcs.dev", + "certificate_hash": "1f3978310f4c9d4978cd876bcb042c8de833af2d" + } + }, + { + "client_id": "944560757353-em1esjsi8o4vdmaqpo2te3f3oruvp7mu.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "com.mokkon.fcs.dev", + "certificate_hash": "f8b4455e24bbef71ded264dd2a39e76823569ee4" + } + }, + { + "client_id": "944560757353-l57he8ni7fck8rkbdqn0f7icn46vmnf3.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "com.mokkon.fcs.dev", + "certificate_hash": "651c29f96db66a3c6e8889e7db766e96b0d92503" + } + }, { "client_id": "944560757353-n44kricufdgign6ki6eu1fqvh7ppa29m.apps.googleusercontent.com", "client_type": 3 @@ -30,6 +54,13 @@ { "client_id": "944560757353-n44kricufdgign6ki6eu1fqvh7ppa29m.apps.googleusercontent.com", "client_type": 3 + }, + { + "client_id": "944560757353-o6emrja7ad8g8ulbcvvpah9a1tul3s21.apps.googleusercontent.com", + "client_type": 2, + "ios_info": { + "bundle_id": "com.mokkon.fcs.dev" + } } ] } diff --git a/android/app/src/dev/res/values/strings.xml b/android/app/src/dev/res/values/strings.xml deleted file mode 100644 index 7fc4de4..0000000 --- a/android/app/src/dev/res/values/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - FCS - Dev - diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index ca46fc5..4d16901 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,14 +1,19 @@ - + + + + - @@ -38,4 +34,15 @@ android:name="flutterEmbedding" android:value="2" /> + + + + + + + diff --git a/android/app/src/main/java/com/mokkon/fcs/fcs/Application.java b/android/app/src/main/java/com/mokkon/fcs/fcs/Application.java deleted file mode 100644 index 2d028e9..0000000 --- a/android/app/src/main/java/com/mokkon/fcs/fcs/Application.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.mokkon.fcs.fcs; - - import io.flutter.app.FlutterApplication; -import io.flutter.plugin.common.PluginRegistry; -import io.flutter.plugins.GeneratedPluginRegistrant; - - -public class Application extends FlutterApplication { - @Override - public void onCreate() { - super.onCreate(); - } -} \ No newline at end of file diff --git a/android/app/src/main/java/com/mokkon/fcs/fcs/MainActivity.java b/android/app/src/main/java/com/mokkon/fcs/fcs/MainActivity.java deleted file mode 100644 index 2069e10..0000000 --- a/android/app/src/main/java/com/mokkon/fcs/fcs/MainActivity.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.mokkon.fcs.fcs; - -import io.flutter.embedding.android.FlutterActivity; - -public class MainActivity extends FlutterActivity { -} diff --git a/android/app/src/main/kotlin/com/example/fcs/MainActivity.kt b/android/app/src/main/kotlin/com/example/fcs/MainActivity.kt new file mode 100644 index 0000000..d9352f6 --- /dev/null +++ b/android/app/src/main/kotlin/com/example/fcs/MainActivity.kt @@ -0,0 +1,5 @@ +package com.example.fcs + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() diff --git a/android/app/src/prod/AndroidManifest.xml b/android/app/src/prod/AndroidManifest.xml index 48ad6f0..6808521 100644 --- a/android/app/src/prod/AndroidManifest.xml +++ b/android/app/src/prod/AndroidManifest.xml @@ -1,38 +1,6 @@ - - - + - - - - - - - - - - - - + android:label="FCS Logistics"> - + \ No newline at end of file diff --git a/android/app/src/prod/res/values/strings.xml b/android/app/src/prod/res/values/strings.xml deleted file mode 100644 index eb33086..0000000 --- a/android/app/src/prod/res/values/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - FCS Logistics - diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml index e5bd26c..399f698 100644 --- a/android/app/src/profile/AndroidManifest.xml +++ b/android/app/src/profile/AndroidManifest.xml @@ -1,6 +1,6 @@ - - diff --git a/android/gradle.properties b/android/gradle.properties index c98e88b..2597170 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,3 +1,3 @@ -org.gradle.jvmargs=-Xmx2536M +org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true -android.enableJetifier=true \ No newline at end of file +android.enableJetifier=true diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index db18181..7bb2df6 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Fri Jun 23 08:50:38 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip diff --git a/android/settings.gradle b/android/settings.gradle index f6965fa..9759a22 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -18,11 +18,11 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "8.3.2" apply false + id "com.android.application" version "8.1.0" apply false // START: FlutterFire Configuration id "com.google.gms.google-services" version "4.3.15" apply false // END: FlutterFire Configuration - id "org.jetbrains.kotlin.android" version "2.0.20" apply false + id "org.jetbrains.kotlin.android" version "1.8.22" apply false } include ":app" diff --git a/android/settings_aar.gradle b/android/settings_aar.gradle deleted file mode 100644 index e7b4def..0000000 --- a/android/settings_aar.gradle +++ /dev/null @@ -1 +0,0 @@ -include ':app' diff --git a/firebase.json b/firebase.json index 3eb16fd..a16ad4d 100644 --- a/firebase.json +++ b/firebase.json @@ -1 +1 @@ -{"flutter":{"platforms":{"android":{"default":{"projectId":"fcs-dev1","appId":"1:944560757353:android:d21ae04e44e82f10fa60f8","fileOutput":"android/app/google-services.json"}},"ios":{"default":{"projectId":"fcs-dev1","appId":"1:944560757353:ios:de037244faea4173fa60f8","uploadDebugSymbols":false,"fileOutput":"ios/Runner/GoogleService-Info.plist"}},"dart":{"lib/firebase_options.dart":{"projectId":"fcs-dev1","configurations":{"android":"1:944560757353:android:d21ae04e44e82f10fa60f8","ios":"1:944560757353:ios:de037244faea4173fa60f8"}}}}}} \ No newline at end of file +{"flutter":{"platforms":{"android":{"default":{"projectId":"fcs-dev1","appId":"1:944560757353:android:d21ae04e44e82f10fa60f8","fileOutput":"android/app/google-services.json"}},"dart":{"lib/firebase_options.dart":{"projectId":"fcs-dev1","configurations":{"android":"1:944560757353:android:d21ae04e44e82f10fa60f8","ios":"1:944560757353:ios:de037244faea4173fa60f8"}}}}}} \ No newline at end of file diff --git a/lib/firebase_options.dart b/lib/firebase_options.dart index 0e669a2..21a3486 100644 --- a/lib/firebase_options.dart +++ b/lib/firebase_options.dart @@ -69,4 +69,5 @@ class DefaultFirebaseOptions { iosClientId: '944560757353-o6emrja7ad8g8ulbcvvpah9a1tul3s21.apps.googleusercontent.com', iosBundleId: 'com.mokkon.fcs.dev', ); -} + +} \ No newline at end of file diff --git a/lib/pages/main/initial_language_selection.dart b/lib/pages/main/initial_language_selection.dart index 7ce4cfe..7f88f03 100644 --- a/lib/pages/main/initial_language_selection.dart +++ b/lib/pages/main/initial_language_selection.dart @@ -111,7 +111,7 @@ class _InitialLanguageSelectionPageState child: CircleAvatar( radius: 20, backgroundImage: AssetImage( - "icons/flags/png/gb.png", + "icons/flags/png100px/gb.png", package: 'country_icons', ), ), @@ -120,7 +120,7 @@ class _InitialLanguageSelectionPageState child: CircleAvatar( radius: 20, backgroundImage: AssetImage( - "icons/flags/png/mm.png", + "icons/flags/png100px/mm.png", package: 'country_icons', ), ), @@ -192,7 +192,8 @@ class _InitialLanguageSelectionPageState bool isLogin = Provider.of(context, listen: false).isLogin(); String page = isLogin ? "/home" : "/welcome"; Navigator.of(context).pushReplacementNamed(page); - } catch (e) {} finally { + } catch (e) { + } finally { setState(() { _isLoading = false; }); diff --git a/lib/pages/main/welcome_page.dart b/lib/pages/main/welcome_page.dart index 00a8b6e..c8ccb47 100644 --- a/lib/pages/main/welcome_page.dart +++ b/lib/pages/main/welcome_page.dart @@ -66,13 +66,13 @@ class _WelcomePageState extends State { ToggleButtons( children: [ Image.asset( - 'icons/flags/png/us.png', + 'icons/flags/png100px/us.png', package: 'country_icons', fit: BoxFit.fitWidth, width: 25, ), Image.asset( - 'icons/flags/png/mm.png', + 'icons/flags/png100px/mm.png', package: 'country_icons', fit: BoxFit.fitWidth, width: 25, diff --git a/lib/pages/profile/profile_page.dart b/lib/pages/profile/profile_page.dart index af7b1b0..81f5181 100644 --- a/lib/pages/profile/profile_page.dart +++ b/lib/pages/profile/profile_page.dart @@ -178,11 +178,13 @@ class _ProfileState extends State { iconData: Icons.email_outlined, ), ), - IconButton(icon: Icon(Icons.edit, color: Colors.grey), onPressed: () { - Navigator.of(context, rootNavigator: true).push( + IconButton( + icon: Icon(Icons.edit, color: Colors.grey), + onPressed: () { + Navigator.of(context, rootNavigator: true).push( CupertinoPageRoute( builder: (context) => AddRecoveryEmail(user: user))); - }) + }) ], ); return LocalProgress( @@ -275,13 +277,13 @@ class _ProfileState extends State { children: [ isEng ? Image.asset( - 'icons/flags/png/us.png', + 'icons/flags/png100px/us.png', package: 'country_icons', fit: BoxFit.fitWidth, width: 25, ) : Image.asset( - 'icons/flags/png/mm.png', + 'icons/flags/png100px/mm.png', package: 'country_icons', fit: BoxFit.fitWidth, width: 25, diff --git a/lib/pages/widgets/status_tree.dart b/lib/pages/widgets/status_tree.dart index 0fdb143..6df504f 100644 --- a/lib/pages/widgets/status_tree.dart +++ b/lib/pages/widgets/status_tree.dart @@ -4,73 +4,106 @@ import 'package:fcs/helpers/theme.dart'; import 'package:flutter/material.dart'; import 'package:flutter_vector_icons/flutter_vector_icons.dart'; import 'package:intl/intl.dart'; -import 'package:timeline_list/timeline.dart'; -import 'package:timeline_list/timeline_model.dart'; +import 'package:timeline_list/timeline_list.dart'; -var dateFormatter = new DateFormat('dd MMM yyyy'); +var dateFormatter = DateFormat('dd MMM yyyy'); class StatusTree extends StatelessWidget { final List? shipmentHistory; final String? currentStatus; - const StatusTree({Key? key, this.shipmentHistory, this.currentStatus}) - : super(key: key); + const StatusTree({super.key, this.shipmentHistory, this.currentStatus}); @override Widget build(BuildContext context) { - return ExpansionTile( - initiallyExpanded: true, - shape: - Border.symmetric(horizontal: BorderSide(color: Colors.grey.shade300)), - title: Text( - 'Status', - style: TextStyle(color: primaryColor, fontWeight: FontWeight.bold), - ), + bool isPacked = currentStatus != package_received_status && + currentStatus != package_processed_status; + var receivedIcon = Container( + width: 25, + height: 25, + decoration: BoxDecoration(shape: BoxShape.circle, color: Colors.green), + child: Icon(MaterialCommunityIcons.inbox_arrow_down, + color: Colors.white, size: 18)); + var processedIcon = Container( + width: 25, + height: 25, + decoration: BoxDecoration(shape: BoxShape.circle, color: Colors.green), + child: Icon(FontAwesome.dropbox, color: Colors.white, size: 18)); + var packedIcon = Container( + width: 25, + height: 25, + decoration: BoxDecoration(shape: BoxShape.circle, color: Colors.green), + child: Icon(MaterialCommunityIcons.package, + color: Colors.white, size: 18)); + var shippedIcon = Container( + width: 25, + height: 25, + decoration: BoxDecoration(shape: BoxShape.circle, color: Colors.green), + child: Icon(Ionicons.ios_airplane, color: Colors.white, size: 18)); + var deliveredIcon = Container( + width: 25, + height: 25, + decoration: BoxDecoration(shape: BoxShape.circle, color: Colors.green), + child: Icon(MaterialCommunityIcons.truck_fast, + color: Colors.white, size: 18)); + + return Column( + crossAxisAlignment: CrossAxisAlignment.start, children: [ + Text( + 'Status', + style: TextStyle(color: primaryColor, fontWeight: FontWeight.bold), + ), Container( - padding: EdgeInsets.only(left: 20), - height: 400, - child: Timeline(children: _models(), position: TimelinePosition.Left), + child: Timeline.builder( + shrinkWrap: true, + context: context, + markerCount: shipmentHistory?.length ?? 0, + physics: NeverScrollableScrollPhysics(), + properties: TimelineProperties( + iconAlignment: MarkerIconAlignment.center, + iconSize: 25, + timelinePosition: TimelinePosition.start), + markerBuilder: (context, index) { + ShipmentStatus? e = shipmentHistory?[index]; + return Marker( + child: SizedBox( + width: 250, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: e == null + ? [] + : [ + Text(e.status, + style: TextStyle( + color: e.done! ? primaryColor : Colors.grey, + fontSize: 16, + fontWeight: FontWeight.bold)), + e.done! || isPacked + ? Text(dateFormatter.format(e.date)) + : Container(), + e.staffName == null + ? Container() + : Text(e.staffName!) + ], + ), + ), + icon: e == null + ? null + : e.status == "shipped" + ? shippedIcon + : e.status == "delivered" + ? deliveredIcon + : e.status == "packed" + ? packedIcon + : e.status == "processed" + ? processedIcon + : receivedIcon, + position: MarkerPosition.left, + ); + }, + ), ) ], ); } - - List _models() { - if (shipmentHistory == null || currentStatus == null) return []; - bool isPacked = currentStatus != package_received_status && - currentStatus != package_processed_status; - return shipmentHistory! - .map((e) => TimelineModel( - Padding( - padding: const EdgeInsets.all(18.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text(e.status, - style: TextStyle( - color: e.done! ? primaryColor : Colors.grey, - fontSize: 16, - fontWeight: FontWeight.bold)), - e.done! || isPacked - ? Text(dateFormatter.format(e.date)) - : Container(), - e.staffName == null ? Container() : Text(e.staffName!) - ], - ), - ), - iconBackground: e.done! ? primaryColor : Colors.grey, - icon: Icon( - e.status == "shipped" - ? Ionicons.ios_airplane - : e.status == "delivered" - ? MaterialCommunityIcons.truck_fast - : e.status == "packed" - ? MaterialCommunityIcons.package - : e.status == "processed" - ? FontAwesome.dropbox - : MaterialCommunityIcons.inbox_arrow_down, - color: Colors.white, - ))) - .toList(); - } } diff --git a/pubspec.lock b/pubspec.lock index 9b6dbb3..106f60f 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1,43 +1,22 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: - _fe_analyzer_shared: - dependency: transitive - description: - name: _fe_analyzer_shared - sha256: f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834 - url: "https://pub.dev" - source: hosted - version: "72.0.0" _flutterfire_internals: dependency: transitive description: name: _flutterfire_internals - sha256: daa1d780fdecf8af925680c06c86563cdd445deea995d5c9176f1302a2b10bbe + sha256: e051259913915ea5bc8fe18664596bea08592fd123930605d562969cd7315fcd url: "https://pub.dev" source: hosted - version: "1.3.48" - _macros: - dependency: transitive - description: dart - source: sdk - version: "0.3.2" - analyzer: - dependency: transitive - description: - name: analyzer - sha256: b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139 - url: "https://pub.dev" - source: hosted - version: "6.7.0" + version: "1.3.51" archive: dependency: transitive description: name: archive - sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d + sha256: "6199c74e3db4fbfbd04f66d739e72fe11c8a8957d5f219f1f4482dbde6420b5a" url: "https://pub.dev" source: hosted - version: "3.6.1" + version: "4.0.2" args: dependency: transitive description: @@ -58,18 +37,18 @@ packages: dependency: transitive description: name: barcode - sha256: ab180ce22c6555d77d45f0178a523669db67f95856e3378259ef2ffeb43e6003 + sha256: "7b6729c37e3b7f34233e2318d866e8c48ddb46c1f7ad01ff7bb2a8de1da2b9f4" url: "https://pub.dev" source: hosted - version: "2.2.8" + version: "2.2.9" barcode_scan2: dependency: "direct main" description: name: barcode_scan2 - sha256: a2ab566027cd57b2795ea42aa26835dbaa8fe70bcc1aff54942a14d3705dff97 + sha256: ee34fad7148248f4450652909f5188ad95c9b6f512e75088e96bc3e96ff2e9eb url: "https://pub.dev" source: hosted - version: "4.3.3" + version: "4.4.0" bidi: dependency: transitive description: @@ -114,34 +93,34 @@ packages: dependency: "direct main" description: name: camera - sha256: dfa8fc5a1adaeb95e7a54d86a5bd56f4bb0e035515354c8ac6d262e35cec2ec8 + sha256: "413d2b34fe28496c35c69ede5b232fb9dd5ca2c3a4cb606b14efc1c7546cc8cb" url: "https://pub.dev" source: hosted - version: "0.10.6" - camera_android: + version: "0.11.1" + camera_android_camerax: dependency: transitive description: - name: camera_android - sha256: "19b7226387218864cb2388e1ad5db7db50d065222f5511254b03fc397dd21a5e" + name: camera_android_camerax + sha256: "7cc6adf1868bdcf4e63a56b24b41692dfbad2bec1cdceea451c77798f6a605c3" url: "https://pub.dev" source: hosted - version: "0.10.9+17" + version: "0.6.13" camera_avfoundation: dependency: transitive description: name: camera_avfoundation - sha256: "2e4c568f70e406ccb87376bc06b53d2f5bebaab71e2fbcc1a950e31449381bcf" + sha256: "49cc403dc2aec719cc70ba23419c932f1245d990e43f3c8336014b895751454a" url: "https://pub.dev" source: hosted - version: "0.9.17+5" + version: "0.9.18+4" camera_platform_interface: dependency: transitive description: name: camera_platform_interface - sha256: b3ede1f171532e0d83111fe0980b46d17f1aa9788a07a2fbed07366bbdbb9061 + sha256: "953e7baed3a7c8fae92f7200afeb2be503ff1a17c3b4e4ed7b76f008c2810a31" url: "https://pub.dev" source: hosted - version: "2.8.0" + version: "2.9.0" camera_web: dependency: transitive description: @@ -170,42 +149,42 @@ packages: dependency: "direct main" description: name: cloud_firestore - sha256: ba89d4ae6ddaea0241f50a2dc1ffe36f32891f1a6bc78540f55d79c7f8ed536a + sha256: d7204f3263ba3236c037972f1ea2821569bd7b896fa348c3d557e3b76b6dc143 url: "https://pub.dev" source: hosted - version: "5.6.0" + version: "5.6.3" cloud_firestore_platform_interface: dependency: transitive description: name: cloud_firestore_platform_interface - sha256: "966cfd6beb2e943f3363a7bced4476533caa55d2338ffd876855c07e5296d1d7" + sha256: "10a8519164a0e38fce52f78d540bce1170fc210d07989fe49597723400fcd0f1" url: "https://pub.dev" source: hosted - version: "6.6.0" + version: "6.6.3" cloud_firestore_web: dependency: transitive description: name: cloud_firestore_web - sha256: "110ba7ff3322c239527e5be3c0d471a3e14fd0a870b2feff96d1e527a2eae2bb" + sha256: "4b9e34f53c32dc9891aea247d82bfb21fe7779c0064d84baea1a4f18210146de" url: "https://pub.dev" source: hosted - version: "4.4.0" + version: "4.4.3" collection: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" connectivity_plus: dependency: "direct main" description: name: connectivity_plus - sha256: e0817759ec6d2d8e57eb234e6e57d2173931367a865850c7acea40d4b4f9c27d + sha256: "04bf81bb0b77de31557b58d052b24b3eee33f09a6e7a8c68a3e247c7df19ec27" url: "https://pub.dev" source: hosted - version: "6.1.1" + version: "6.1.3" connectivity_plus_platform_interface: dependency: transitive description: @@ -214,22 +193,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.1" - convert: - dependency: transitive - description: - name: convert - sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 - url: "https://pub.dev" - source: hosted - version: "3.1.2" country_icons: dependency: "direct main" description: name: country_icons - sha256: "836435012b42c7dcc6d585d1420ce2310d70396569ef70cf5d74c740919f7320" + sha256: "81332bf2513a748f094b97ba9f7214cdeb4396ef6de5e0162c8b0f7a4f940a89" url: "https://pub.dev" source: hosted - version: "2.0.2" + version: "3.0.0" country_picker: dependency: "direct main" description: @@ -238,14 +209,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.27" - coverage: - dependency: transitive - description: - name: coverage - sha256: e3493833ea012784c740e341952298f1cc77f1f01b1bbc3eb4eecf6984fb7f43 - url: "https://pub.dev" - source: hosted - version: "1.11.1" cross_file: dependency: transitive description: @@ -274,18 +237,18 @@ packages: dependency: transitive description: name: dbus - sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac" + sha256: "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c" url: "https://pub.dev" source: hosted - version: "0.7.10" + version: "0.7.11" device_info_plus: dependency: "direct main" description: name: device_info_plus - sha256: "77f757b789ff68e4eaf9c56d1752309bd9f7ad557cb105b938a7f8eb89e59110" + sha256: "72d146c6d7098689ff5c5f66bcf593ac11efc530095385356e131070333e64da" url: "https://pub.dev" source: hosted - version: "9.1.2" + version: "11.3.0" device_info_plus_platform_interface: dependency: transitive description: @@ -298,18 +261,18 @@ packages: dependency: "direct main" description: name: dio - sha256: "5598aa796bbf4699afd5c67c0f5f6e2ed542afc956884b9cd58c306966efc260" + sha256: "253a18bbd4851fecba42f7343a1df3a9a4c1d31a2c1b37e221086b4fa8c8dbc9" url: "https://pub.dev" source: hosted - version: "5.7.0" + version: "5.8.0+1" dio_web_adapter: dependency: transitive description: name: dio_web_adapter - sha256: "33259a9276d6cea88774a0000cfae0d861003497755969c92faa223108620dc8" + sha256: e485c7a39ff2b384fa1d7e09b4e25f755804de8384358049124830b04fc4f93a url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "2.1.0" fake_async: dependency: transitive description: @@ -370,34 +333,34 @@ packages: dependency: "direct main" description: name: firebase_auth - sha256: "03483af6e67b7c4b696ca9386989a6cd5593569e1ac5af6907ea5f7fd9c16d8b" + sha256: "2886a01a895565722add556510263231390a9f1d1d51eee34c22f9b94a73dd54" url: "https://pub.dev" source: hosted - version: "5.3.4" + version: "5.4.2" firebase_auth_platform_interface: dependency: transitive description: name: firebase_auth_platform_interface - sha256: "3e1409f48c48930635705b1237ebbdee8c54c19106a0a4fb321dbb4b642820c4" + sha256: "2e8fe7e6b5869c981f62c0de1a0abef6f626a1daffe92e1e6881448a9d3da778" url: "https://pub.dev" source: hosted - version: "7.4.10" + version: "7.5.2" firebase_auth_web: dependency: transitive description: name: firebase_auth_web - sha256: d83fe95c44d73c9c29b006ac7df3aa5e1b8ce92b62edc44e8f86250951fe2cd0 + sha256: c9600115b6f74365a51c735d4c43d4632ad44bfde505fe7c13c838701cd01ff2 url: "https://pub.dev" source: hosted - version: "5.13.5" + version: "5.13.8" firebase_core: dependency: "direct main" description: name: firebase_core - sha256: "15d761b95dfa2906dfcc31b7fc6fe293188533d1a3ffe78389ba9e69bd7fdbde" + sha256: "93dc4dd12f9b02c5767f235307f609e61ed9211047132d07f9e02c668f0bfc33" url: "https://pub.dev" source: hosted - version: "3.9.0" + version: "3.11.0" firebase_core_platform_interface: dependency: transitive description: @@ -410,58 +373,58 @@ packages: dependency: transitive description: name: firebase_core_web - sha256: fbc008cf390d909b823763064b63afefe9f02d8afdb13eb3f485b871afee956b + sha256: "0e13c80f0de8acaa5d0519cbe23c8b4cc138a2d5d508b5755c861bdfc9762678" url: "https://pub.dev" source: hosted - version: "2.19.0" + version: "2.20.0" firebase_messaging: dependency: "direct main" description: name: firebase_messaging - sha256: "151a3ee68736abf293aab66d1317ade53c88abe1db09c75a0460aebf7767bbdf" + sha256: "3dee3b0cbfe719e64773cb7d1cad57c58b2235a8c136f5715fe733a54058c783" url: "https://pub.dev" source: hosted - version: "15.1.6" + version: "15.2.2" firebase_messaging_platform_interface: dependency: transitive description: name: firebase_messaging_platform_interface - sha256: f331ee51e40c243f90cc7bc059222dfec4e5df53125b08d31fb28961b00d2a9d + sha256: e9ea726b9bb864fc6223bb66422bd9877b9973ae51967754a769b0d01e201c1e url: "https://pub.dev" source: hosted - version: "4.5.49" + version: "4.6.2" firebase_messaging_web: dependency: transitive description: name: firebase_messaging_web - sha256: efaf3fdc54cd77e0eedb8e75f7f01c808828c64d052ddbf94d3009974e47d30f + sha256: "5f7b40e8bf861a37f8b8196e347d8a919750421a45f0b45d1bb74e98fa72726e" url: "https://pub.dev" source: hosted - version: "3.9.5" + version: "3.10.2" firebase_storage: dependency: "direct main" description: name: firebase_storage - sha256: "19102fafeaf99b35e0ac6911ad4fb2929e6fb1bc1d61e848514b9ad3c139d7e6" + sha256: e84917f77ed7911837963ae4a12f345e00e6fbb7417a5dd61030ad1c70f87e87 url: "https://pub.dev" source: hosted - version: "12.3.7" + version: "12.4.2" firebase_storage_platform_interface: dependency: transitive description: name: firebase_storage_platform_interface - sha256: "4f9993c1e2839b8e49a15b7346f1822ff50edb92c8db89fafa26c2eae8767a7d" + sha256: a32eaf283962d4249fa70c3f60efe8657fc75d4e1beaea517c4af61a14b0ba6b url: "https://pub.dev" source: hosted - version: "5.1.34" + version: "5.2.2" firebase_storage_web: dependency: transitive description: name: firebase_storage_web - sha256: ed689089bd4cdafcefd0d5b8a5d635a68c657c75bdad26f15d0ca50748527103 + sha256: "3969d79a085b7b2c226fe79b1673ac7155d3064657a1bf07783db0b67b189da2" url: "https://pub.dev" source: hosted - version: "3.10.6" + version: "3.10.9" fixnum: dependency: transitive description: @@ -483,14 +446,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.4.1" - flutter_datetime_picker: + flutter_datetime_picker_plus: dependency: "direct main" description: - name: flutter_datetime_picker - sha256: "8e695c63c769350e541951227c2775190ec73ceda774a315b1dc9a99d5facfe5" + name: flutter_datetime_picker_plus + sha256: "7d82da02c4e070bb28a9107de119ad195e2319b45c786fecc13482a9ffcc51da" url: "https://pub.dev" source: hosted - version: "1.5.1" + version: "2.2.0" flutter_icons_null_safety: dependency: "direct main" description: @@ -499,30 +462,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.0" - flutter_local_notifications: - dependency: "direct main" + flutter_lints: + dependency: "direct dev" description: - name: flutter_local_notifications - sha256: "674173fd3c9eda9d4c8528da2ce0ea69f161577495a9cc835a2a4ecd7eadeb35" + name: flutter_lints + sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" url: "https://pub.dev" source: hosted - version: "17.2.4" - flutter_local_notifications_linux: - dependency: transitive - description: - name: flutter_local_notifications_linux - sha256: c49bd06165cad9beeb79090b18cd1eb0296f4bf4b23b84426e37dd7c027fc3af - url: "https://pub.dev" - source: hosted - version: "4.0.1" - flutter_local_notifications_platform_interface: - dependency: transitive - description: - name: flutter_local_notifications_platform_interface - sha256: "85f8d07fe708c1bdcf45037f2c0109753b26ae077e9d9e899d55971711a4ea66" - url: "https://pub.dev" - source: hosted - version: "7.2.0" + version: "5.0.0" flutter_localizations: dependency: "direct main" description: flutter @@ -532,18 +479,18 @@ packages: dependency: "direct main" description: name: flutter_markdown - sha256: "04c4722cc36ec5af38acc38ece70d22d3c2123c61305d555750a091517bbe504" + sha256: e7bbc718adc9476aa14cfddc1ef048d2e21e4e8f18311aaac723266db9f9e7b5 url: "https://pub.dev" source: hosted - version: "0.6.23" + version: "0.7.6+2" flutter_pdfview: dependency: "direct main" description: name: flutter_pdfview - sha256: "715085f9f2c1ad5129dfe0d31a5f0e5481e2e296ce4e6ce72662de28df5456a6" + sha256: "2e3fa359524e9865ec25a64593b65092b4a9974c5871228c1a771300a003d150" url: "https://pub.dev" source: hosted - version: "1.3.4" + version: "1.4.0" flutter_plugin_android_lifecycle: dependency: transitive description: @@ -556,10 +503,18 @@ packages: dependency: "direct main" description: name: flutter_slidable - sha256: a857de7ea701f276fd6a6c4c67ae885b60729a3449e42766bb0e655171042801 + sha256: ab7dbb16f783307c9d7762ede2593ce32c220ba2ba0fd540a3db8e9a3acba71a url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "4.0.0" + flutter_svg: + dependency: transitive + description: + name: flutter_svg + sha256: c200fd79c918a40c5cd50ea0877fa13f81bdaf6f0a5d3dbcc2a13e3285d6aa1b + url: "https://pub.dev" + source: hosted + version: "2.0.17" flutter_test: dependency: "direct dev" description: flutter @@ -586,78 +541,30 @@ packages: url: "https://pub.dev" source: hosted version: "10.8.0" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 - url: "https://pub.dev" - source: hosted - version: "4.0.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: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 + sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f url: "https://pub.dev" source: hosted - version: "1.2.2" - http_multi_server: - dependency: transitive - description: - name: http_multi_server - sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 - url: "https://pub.dev" - source: hosted - version: "3.2.2" + version: "1.3.0" http_parser: dependency: transitive description: name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" url: "https://pub.dev" source: hosted - version: "4.0.2" + version: "4.1.2" image: dependency: transitive description: name: image - sha256: f31d52537dc417fdcde36088fdf11d191026fd5e4fae742491ebd40e5a8bea7d + sha256: "8346ad4b5173924b5ddddab782fc7d8a6300178c8b1dc427775405a01701c4a6" url: "https://pub.dev" source: hosted - version: "4.3.0" + version: "4.5.2" image_picker: dependency: "direct main" description: @@ -670,10 +577,10 @@ packages: dependency: transitive description: name: image_picker_android - sha256: aa6f1280b670861ac45220cc95adc59bb6ae130259d36f980ccb62220dc5e59f + sha256: b62d34a506e12bb965e824b6db4fbf709ee4589cf5d3e99b45ab2287b008ee0c url: "https://pub.dev" source: hosted - version: "0.8.12+19" + version: "0.8.12+20" image_picker_for_web: dependency: transitive description: @@ -686,10 +593,10 @@ packages: dependency: transitive description: name: image_picker_ios - sha256: "4f0568120c6fcc0aaa04511cb9f9f4d29fc3d0139884b1d06be88dcec7641d6b" + sha256: "05da758e67bc7839e886b3959848aa6b44ff123ab4b28f67891008afe8ef9100" url: "https://pub.dev" source: hosted - version: "0.8.12+1" + version: "0.8.12+2" image_picker_linux: dependency: transitive description: @@ -702,18 +609,18 @@ packages: dependency: transitive description: name: image_picker_macos - sha256: "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62" + sha256: "1b90ebbd9dcf98fb6c1d01427e49a55bd96b5d67b8c67cf955d60a5de74207c1" url: "https://pub.dev" source: hosted - version: "0.2.1+1" + version: "0.2.1+2" image_picker_platform_interface: dependency: transitive description: name: image_picker_platform_interface - sha256: "9ec26d410ff46f483c5519c29c02ef0e02e13a543f882b152d4bfd2f06802f80" + sha256: "886d57f0be73c4b140004e78b9f28a8914a09e50c2d816bdd0520051a71236a0" url: "https://pub.dev" source: hosted - version: "2.10.0" + version: "2.10.1" image_picker_windows: dependency: transitive description: @@ -730,38 +637,22 @@ packages: url: "https://pub.dev" source: hosted version: "0.19.0" - io: - dependency: transitive - description: - name: io - sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b - url: "https://pub.dev" - source: hosted - version: "1.0.5" - js: - dependency: transitive - description: - name: js - sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf - url: "https://pub.dev" - source: hosted - version: "0.7.1" leak_tracker: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -770,6 +661,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.1" + lints: + dependency: transitive + description: + name: lints + sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 + url: "https://pub.dev" + source: hosted + version: "5.1.1" logging: dependency: "direct main" description: @@ -778,22 +677,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.0" - macros: - dependency: transitive - description: - name: macros - sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536" - url: "https://pub.dev" - source: hosted - version: "0.1.2-main.4" markdown: dependency: transitive description: name: markdown - sha256: ef2a1298144e3f985cc736b22e0ccdaf188b5b3970648f2d9dc13efd1d9df051 + sha256: "935e23e1ff3bc02d390bad4d4be001208ee92cc217cb5b5a6c19bc14aaa318c1" url: "https://pub.dev" source: hosted - version: "7.2.2" + version: "7.3.0" matcher: dependency: transitive description: @@ -822,10 +713,10 @@ packages: dependency: transitive description: name: mime - sha256: "801fd0b26f14a4a58ccb09d5892c3fbdeff209594300a542492cf13fba9d247a" + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" url: "https://pub.dev" source: hosted - version: "1.0.6" + version: "2.0.0" nested: dependency: transitive description: @@ -842,14 +733,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.5.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: @@ -922,30 +805,22 @@ packages: url: "https://pub.dev" source: hosted version: "0.0.3" - package_config: - dependency: transitive - description: - name: package_config - sha256: "92d4488434b520a62570293fbd33bb556c7d49230791c1b4bbd973baf6d2dc67" - url: "https://pub.dev" - source: hosted - version: "2.1.1" package_info_plus: dependency: "direct main" description: name: package_info_plus - sha256: "70c421fe9d9cc1a9a7f3b05ae56befd469fe4f8daa3b484823141a55442d858d" + sha256: "67eae327b1b0faf761964a1d2e5d323c797f3799db0e85aa232db8d9e922bc35" url: "https://pub.dev" source: hosted - version: "8.1.2" + version: "8.2.1" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface - sha256: a5ef9986efc7bf772f2696183a3992615baa76c1ffb1189318dd8803778fb05b + sha256: "205ec83335c2ab9107bbba3f8997f9356d72ca3c715d2f038fc773d0366b4c76" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.1.0" path: dependency: transitive description: @@ -1014,10 +889,10 @@ packages: dependency: "direct main" description: name: pdf - sha256: "05df53f8791587402493ac97b9869d3824eccbc77d97855f4545cf72df3cae07" + sha256: adbdec5bc84d20e6c8d67f9c64270aa64d1e9e1ed529f0fef7e7bc7e9400f894 url: "https://pub.dev" source: hosted - version: "3.11.1" + version: "3.11.2" permission_handler: dependency: "direct main" description: @@ -1078,10 +953,10 @@ packages: dependency: "direct main" description: name: photo_view - sha256: "8036802a00bae2a78fc197af8a158e3e2f7b500561ed23b4c458107685e645bb" + sha256: "1fc3d970a91295fbd1364296575f854c9863f225505c28c46e0a03e48960c75e" url: "https://pub.dev" source: hosted - version: "0.14.0" + version: "0.15.0" pin_input_text_field: dependency: "direct main" description: @@ -1106,14 +981,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.8" - pool: + posix: dependency: transitive description: - name: pool - sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + name: posix + sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a url: "https://pub.dev" source: hosted - version: "1.5.1" + version: "6.0.1" progress: dependency: "direct main" description: @@ -1137,14 +1012,6 @@ packages: url: "https://pub.dev" source: hosted version: "6.1.2" - pub_semver: - dependency: transitive - description: - name: pub_semver - sha256: "7b3cfbf654f3edd0c6298ecd5be782ce997ddf0e00531b9464b55245185bbbbd" - url: "https://pub.dev" - source: hosted - version: "2.1.5" qr: dependency: transitive description: @@ -1173,10 +1040,10 @@ packages: dependency: "direct main" description: name: share_plus - sha256: "6327c3f233729374d0abaafd61f6846115b2a481b4feddd8534211dc10659400" + sha256: fce43200aa03ea87b91ce4c3ac79f0cecd52e2a7a56c7a4185023c271fbfa6da url: "https://pub.dev" source: hosted - version: "10.1.3" + version: "10.1.4" share_plus_platform_interface: dependency: transitive description: @@ -1189,18 +1056,18 @@ packages: dependency: "direct main" description: name: shared_preferences - sha256: "3c7e73920c694a436afaf65ab60ce3453d91f84208d761fbd83fc21182134d93" + sha256: "846849e3e9b68f3ef4b60c60cf4b3e02e9321bc7f4d8c4692cf87ffa82fc8a3a" url: "https://pub.dev" source: hosted - version: "2.3.4" + version: "2.5.2" shared_preferences_android: dependency: transitive description: name: shared_preferences_android - sha256: "02a7d8a9ef346c9af715811b01fbd8e27845ad2c41148eefd31321471b41863d" + sha256: ea86be7b7114f9e94fddfbb52649e59a03d6627ccd2387ebddcd6624719e9f16 url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.4.5" shared_preferences_foundation: dependency: transitive description: @@ -1241,59 +1108,11 @@ packages: url: "https://pub.dev" source: hosted version: "2.4.1" - 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: c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3 - url: "https://pub.dev" - source: hosted - version: "1.1.3" - shelf_web_socket: - dependency: transitive - description: - name: shelf_web_socket - sha256: cc36c297b52866d203dbf9332263c94becc2fe0ceaa9681d07b6ef9807023b67 - url: "https://pub.dev" - source: hosted - version: "2.0.1" 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: c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b - url: "https://pub.dev" - source: hosted - version: "2.1.2" - source_maps: - dependency: transitive - description: - name: source_maps - sha256: "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812" - url: "https://pub.dev" - source: hosted - version: "0.10.13" + version: "0.0.0" source_span: dependency: transitive description: @@ -1338,10 +1157,10 @@ packages: dependency: transitive description: name: sqflite_darwin - sha256: "96a698e2bc82bd770a4d6aab00b42396a7c63d9e33513a56945cbccb594c2474" + sha256: "22adfd9a2c7d634041e96d6241e6e1c8138ca6817018afc5d443fef91dcefa9c" url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.1+1" sqflite_platform_interface: dependency: transitive description: @@ -1354,10 +1173,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" stream_channel: dependency: transitive description: @@ -1378,10 +1197,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" synchronized: dependency: transitive description: @@ -1398,46 +1217,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.1" - test: - dependency: "direct dev" - description: - name: test - sha256: "7ee44229615f8f642b68120165ae4c2a75fe77ae2065b1e55ae4711f6cf0899e" - url: "https://pub.dev" - source: hosted - version: "1.25.7" test_api: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.2" - test_core: - dependency: transitive - description: - name: test_core - sha256: "55ea5a652e38a1dfb32943a7973f3681a60f872f8c3a05a14664ad54ef9c6696" - url: "https://pub.dev" - source: hosted - version: "0.6.4" + version: "0.7.3" timeline_list: dependency: "direct main" description: name: timeline_list - sha256: ef1dff1f1d0b9daf8350635594f2b33c52b12410771bf12a8d5976c1aac156c4 + sha256: "2d6a59f2e8047ab4948c68ff497d32f75078e137ebda4dfb6661a9a94ffad47f" url: "https://pub.dev" source: hosted - version: "0.0.6" - timezone: - dependency: transitive - description: - name: timezone - sha256: "2236ec079a174ce07434e89fcd3fcda430025eb7692244139a9cf54fdcf1fc7d" - url: "https://pub.dev" - source: hosted - version: "0.9.4" + version: "0.1.1" typed_data: dependency: transitive description: @@ -1506,18 +1301,18 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e" + sha256: "3ba963161bd0fe395917ba881d320b9c4f6dd3c4a233da62ab18a5025c85f1e9" url: "https://pub.dev" source: hosted - version: "2.3.3" + version: "2.4.0" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - sha256: "44cf3aabcedde30f2dba119a9dea3b0f2672fbe6fa96e85536251d678216b3c4" + sha256: "3284b6d2ac454cf34f114e1d3319866fdd1e19cdc329999057e44ffe936cfa77" url: "https://pub.dev" source: hosted - version: "3.1.3" + version: "3.1.4" uuid: dependency: "direct main" description: @@ -1526,6 +1321,30 @@ packages: url: "https://pub.dev" source: hosted version: "4.5.1" + vector_graphics: + dependency: transitive + description: + name: vector_graphics + sha256: "44cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de" + url: "https://pub.dev" + source: hosted + version: "1.1.18" + vector_graphics_codec: + dependency: transitive + description: + name: vector_graphics_codec + sha256: "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146" + url: "https://pub.dev" + source: hosted + version: "1.1.13" + vector_graphics_compiler: + dependency: transitive + description: + name: vector_graphics_compiler + sha256: "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad" + url: "https://pub.dev" + source: hosted + version: "1.1.16" vector_math: dependency: transitive description: @@ -1538,18 +1357,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "14.2.5" - watcher: - dependency: transitive - description: - name: watcher - sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104" - url: "https://pub.dev" - source: hosted - version: "1.1.1" + version: "14.3.0" web: dependency: transitive description: @@ -1558,38 +1369,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.0" - web_socket: - dependency: transitive - description: - name: web_socket - sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" - url: "https://pub.dev" - source: hosted - version: "0.1.6" - web_socket_channel: - dependency: transitive - description: - name: web_socket_channel - sha256: "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f" - url: "https://pub.dev" - source: hosted - version: "3.0.1" - 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: "8b338d4486ab3fbc0ba0db9f9b4f5239b6697fcee427939a40e720cbb9ee0a69" + sha256: daf97c9d80197ed7b619040e86c8ab9a9dad285e7671ee7390f9180cc828a51e url: "https://pub.dev" source: hosted - version: "5.9.0" + version: "5.10.1" win32_registry: dependency: transitive description: @@ -1614,14 +1401,6 @@ packages: url: "https://pub.dev" source: hosted version: "6.5.0" - yaml: - dependency: transitive - description: - name: yaml - sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce - url: "https://pub.dev" - source: hosted - version: "3.1.3" sdks: - dart: ">=3.5.0 <4.0.0" - flutter: ">=3.24.0" + dart: ">=3.6.2 <4.0.0" + flutter: ">=3.27.0" diff --git a/pubspec.yaml b/pubspec.yaml index 3c9844a..c7b22bb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,10 +1,10 @@ name: fcs description: FCS Logistics publish_to: 'none' -version: 1.1.1+13 +version: 1.1.2+14 environment: - sdk: '>=3.0.6 <4.0.0' + sdk: ^3.6.2 dependencies: flutter: @@ -12,58 +12,67 @@ dependencies: flutter_localizations: sdk: flutter - cupertino_icons: ^1.0.3 + cupertino_icons: ^1.0.8 - firebase_core: ^3.6.0 - firebase_auth: ^5.3.1 - cloud_firestore: ^5.4.4 - firebase_storage: ^12.3.2 - firebase_messaging: ^15.1.3 - - provider: ^6.0.0 - image_picker: ^1.0.6 - shared_preferences: ^2.0.7 progress: path: ../mokkon-flutter/packages/progress - flutter_datetime_picker: ^1.5.1 - dio: ^5.4.0 - package_info_plus: ^8.0.2 - google_api_availability: ^5.0.0 + + # dart.dev intl: ^0.19.0 - font_awesome_flutter: ^10.6.0 - photo_view: ^0.14.0 - uuid: ^4.2.2 - # zefyrka: ^1.0.10 - path_provider: ^2.0.2 - camera: ^0.10.5+8 - url_launcher: ^6.0.9 - device_info_plus: ^9.1.1 - connectivity_plus: ^6.1.0 - logging: ^1.0.1 - permission_handler: ^11.1.0 - pin_input_text_field: ^4.1.0 + logging: ^1.3.0 + + # flutter.dev + path_provider: ^2.1.5 + camera: ^0.11.1 + url_launcher: ^6.3.1 + image_picker: ^1.1.2 + shared_preferences: ^2.5.2 + flutter_markdown: ^0.7.6+2 + + # firebase.google.com + firebase_core: ^3.11.0 + firebase_auth: ^5.4.2 + cloud_firestore: ^5.6.3 + firebase_storage: ^12.4.2 + firebase_messaging: ^15.2.2 + + # flutter.cn + dio: ^5.8.0+1 + + # fluttercommunity.dev + font_awesome_flutter: ^10.8.0 + connectivity_plus: ^6.1.3 + package_info_plus: ^8.2.1 + device_info_plus: ^11.3.0 + share_plus: ^10.1.4 + + # third parties + provider: ^6.1.2 + flutter_datetime_picker_plus: ^2.2.0 + photo_view: ^0.15.0 + uuid: ^4.5.1 + permission_handler: ^11.3.1 + pin_input_text_field: ^4.5.2 flutter_icons_null_safety: ^1.1.0 - country_icons: ^2.0.2 - timeline_list: ^0.0.5 - barcode_scan2: ^4.1.4 - flutter_pdfview: ^1.2.1 - flutter_local_notifications: ^17.2.3 - share_plus: ^10.1.3 - cached_network_image: ^3.3.1 - flutter_cache_manager: ^3.1.2 flutter_vector_icons: ^2.0.0 - open_file: ^3.3.2 - pdf: ^3.10.8 + flutter_cache_manager: ^3.4.1 + open_file: ^3.5.10 + pdf: ^3.11.2 + flutter_slidable: ^4.0.0 qr_flutter: ^4.1.0 - flutter_markdown: ^0.6.20+1 - flutter_slidable: ^3.1.1 - country_picker: ^2.0.26 + country_picker: ^2.0.27 + barcode_scan2: ^4.4.0 + cached_network_image: ^3.4.1 + flutter_pdfview: ^1.4.0 + timeline_list: ^0.1.1 + country_icons: ^3.0.0 dev_dependencies: flutter_test: sdk: flutter - test: ^1.15.7 + + flutter_lints: ^5.0.0 flutter: uses-material-design: true