Browse Source

After null-safety barely stable

teso_v2
Benjamin Arhen 2 years ago
parent
commit
26277765db
  1. BIN
      .DS_Store
  2. 37
      android/app/google-services.json
  3. BIN
      assets/.DS_Store
  4. BIN
      assets/images/.DS_Store
  5. 1
      assets/images/coupon.svg
  6. 1
      assets/images/search.svg
  7. 6
      ios/Podfile
  8. 217
      ios/Podfile.lock
  9. 8
      ios/Runner.xcodeproj/project.pbxproj
  10. BIN
      ios/Runner/.DS_Store
  11. 13
      ios/Runner/Base.lproj/Main.storyboard
  12. 18
      ios/Runner/GoogleService-Info.plist
  13. 1
      ios/Runner/Info.plist
  14. 38
      ios/Runner/ProdGoogleService-Info.plist
  15. 6
      ios/firebase_app_id_file.json
  16. 8
      lib/Classes/API Clasess/BusinessProfile.dart
  17. 6
      lib/Classes/API Clasess/CampAd.dart
  18. 16
      lib/Classes/API Clasess/Campaign.dart
  19. 10
      lib/Classes/API Clasess/CommentsPost.dart
  20. 32
      lib/Classes/API Clasess/CouponDetails.dart
  21. 24
      lib/Classes/API Clasess/CouponHead.dart
  22. 12
      lib/Classes/API Clasess/Desire.dart
  23. 4
      lib/Classes/API Clasess/ExploreObject.dart
  24. 20
      lib/Classes/API Clasess/FacebookUser.dart
  25. 20
      lib/Classes/API Clasess/GoogleUser.dart
  26. 18
      lib/Classes/API Clasess/Post.dart
  27. 8
      lib/Classes/API Clasess/PostFav.dart
  28. 10
      lib/Classes/API Clasess/PostUpload.dart
  29. 14
      lib/Classes/API Clasess/PostedAd.dart
  30. 4
      lib/Classes/API Clasess/PostionAP.dart
  31. 14
      lib/Classes/API Clasess/Product.dart
  32. 28
      lib/Classes/API Clasess/ProximityCoupon.dart
  33. 6
      lib/Classes/API Clasess/ReferralClass.dart
  34. 6
      lib/Classes/API Clasess/Registrar.dart
  35. 6
      lib/Classes/API Clasess/ResetClass.dart
  36. 6
      lib/Classes/API Clasess/SilverPurchaseRequest.dart
  37. 28
      lib/Classes/API Clasess/TesoBusinessDetail.dart
  38. 26
      lib/Classes/API Clasess/TesoUserDetail.dart
  39. 16
      lib/Classes/API Clasess/ThirdPerson.dart
  40. 6
      lib/Classes/API Clasess/TokenHandler.dart
  41. 20
      lib/Classes/API Clasess/TwitterUser.dart
  42. 12
      lib/Classes/API Clasess/UserAuth.dart
  43. 6
      lib/Classes/API Clasess/UserFavCategory.dart
  44. 6
      lib/Classes/API Clasess/UserFinance.dart
  45. 10
      lib/Classes/ChatMessage.dart
  46. 4
      lib/Classes/ColorFilters.dart
  47. 2
      lib/Classes/Connection.dart
  48. 14
      lib/Classes/Firebase/Comments.dart
  49. 22
      lib/Classes/Firebase/Posts.dart
  50. 14
      lib/Classes/NotificationSpliter.dart
  51. 22
      lib/Classes/Payload.dart
  52. 16
      lib/Classes/Product.dart
  53. 6
      lib/Classes/QRClass.dart
  54. 10
      lib/Classes/ReportedContent.dart
  55. 26
      lib/Classes/TesoShop.dart
  56. 34
      lib/Classes/TesoUser.dart
  57. 6
      lib/Classes/TextE.dart
  58. 6
      lib/Classes/categories.dart
  59. 14
      lib/Classes/customLoginButton.dart
  60. 12
      lib/Classes/customTesoButton.dart
  61. 18
      lib/Classes/friend.dart
  62. 18
      lib/Classes/inbox.dart
  63. 24
      lib/Notifications/NotificationPlugin.dart
  64. 76
      lib/Pages/BusinessLocator.dart
  65. 10
      lib/Pages/DesireComeTrue.dart
  66. 4
      lib/Pages/LandingPage.dart
  67. 14
      lib/Pages/PageWidgets/Alerts/AlertTile.dart
  68. 10
      lib/Pages/PageWidgets/Alerts/Redeemable.dart
  69. 2
      lib/Pages/PageWidgets/Alerts/Refund.dart
  70. 10
      lib/Pages/PageWidgets/Alerts/header.dart
  71. 14
      lib/Pages/PageWidgets/Alerts/personalizedCoupon.dart
  72. 10
      lib/Pages/PageWidgets/Alerts/post.dart
  73. 18
      lib/Pages/PageWidgets/Alerts/requestTile.dart
  74. 20
      lib/Pages/PageWidgets/BusinessProfile/BusinessHead.dart
  75. 6
      lib/Pages/PageWidgets/BusinessProfile/BusinessItems.dart
  76. 6
      lib/Pages/PageWidgets/ChatScreen/header.dart
  77. 4
      lib/Pages/PageWidgets/ChatScreen/recipient.dart
  78. 4
      lib/Pages/PageWidgets/ChatScreen/sender.dart
  79. 2
      lib/Pages/PageWidgets/CoinPurchase/AmountInput.dart
  80. 4
      lib/Pages/PageWidgets/CoinPurchase/MomoType.dart
  81. 2
      lib/Pages/PageWidgets/CoinPurchase/PayGold.dart
  82. 2
      lib/Pages/PageWidgets/CoinPurchase/SilverAmountInput.dart
  83. 10
      lib/Pages/PageWidgets/CoinPurchase/SilverPurchase.dart
  84. 2
      lib/Pages/PageWidgets/CoinPurchase/phonenumber.dart
  85. 2
      lib/Pages/PageWidgets/CoinPurchase/selector.dart
  86. 14
      lib/Pages/PageWidgets/Coupons/GiftFriend.dart
  87. 32
      lib/Pages/PageWidgets/Coupons/mycoupons.dart
  88. 22
      lib/Pages/PageWidgets/Coupons/personalizedDiscount.dart
  89. 10
      lib/Pages/PageWidgets/Coupons/personalizedFreebie.dart
  90. 48
      lib/Pages/PageWidgets/CouponsList/activeCoupon.dart
  91. 18
      lib/Pages/PageWidgets/CouponsList/activeFreebieCoupon.dart
  92. 4
      lib/Pages/PageWidgets/DesireComeTrue/DesireTile.dart
  93. 26
      lib/Pages/PageWidgets/DesireComeTrue/DesiredItem.dart
  94. 8
      lib/Pages/PageWidgets/Editors/SampleThumbnail.dart
  95. 10
      lib/Pages/PageWidgets/Explore/business.dart
  96. 4
      lib/Pages/PageWidgets/Explore/categoriesTile.dart
  97. 2
      lib/Pages/PageWidgets/Explore/popular.dart
  98. 2
      lib/Pages/PageWidgets/Explore/products.dart
  99. 2
      lib/Pages/PageWidgets/Explore/trending.dart
  100. 8
      lib/Pages/PageWidgets/Friends/friendTile.dart

BIN
.DS_Store

Binary file not shown.

37
android/app/google-services.json

@ -1,62 +1,45 @@
{ {
"project_info": { "project_info": {
"project_number": "280510379185", "project_number": "675860686596",
"firebase_url": "https://teso-ghana-default-rtdb.firebaseio.com", "project_id": "teso-test-6fc81",
"project_id": "teso-ghana", "storage_bucket": "teso-test-6fc81.appspot.com"
"storage_bucket": "teso-ghana.appspot.com"
}, },
"client": [ "client": [
{ {
"client_info": { "client_info": {
"mobilesdk_app_id": "1:280510379185:android:b778de8dca1cf49219de90", "mobilesdk_app_id": "1:675860686596:android:8522b46df172af41cd9251",
"android_client_info": { "android_client_info": {
"package_name": "com.sparentechBacware.teso" "package_name": "com.sparentechBacware.teso"
} }
}, },
"oauth_client": [ "oauth_client": [
{ {
"client_id": "280510379185-0shp8sia3i5m589bov645t3kuddb1032.apps.googleusercontent.com", "client_id": "675860686596-in4piqob6d8nj42nguh06abpdrrhai0f.apps.googleusercontent.com",
"client_type": 1, "client_type": 1,
"android_info": { "android_info": {
"package_name": "com.sparentechBacware.teso", "package_name": "com.sparentechBacware.teso",
"certificate_hash": "40b68890dd51d72454ccdc7289623c4d56273248" "certificate_hash": "b50b0b74dfcde0a02336f00eae49428a517551b2"
} }
}, },
{ {
"client_id": "280510379185-87k85sksrd30mu9fjgfmacb3bkcjnmdq.apps.googleusercontent.com", "client_id": "675860686596-n32ta36ndmugfm1jj61mu2p1v197a1nn.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.sparentechBacware.teso",
"certificate_hash": "4f655cf94cd94864838475611b711c2528e33601"
}
},
{
"client_id": "280510379185-ac7qjglm9cct9u0diqrns6om8t2mb9ug.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.sparentechBacware.teso",
"certificate_hash": "063304c2da41f90c824fad163b5ad481edf6db11"
}
},
{
"client_id": "280510379185-58chj1fi4pts4p7p7sieq16miapvtepi.apps.googleusercontent.com",
"client_type": 3 "client_type": 3
} }
], ],
"api_key": [ "api_key": [
{ {
"current_key": "AIzaSyAHBguF6oqPEq7em1vLrh_NP2LoPuabe6o" "current_key": "AIzaSyDt05opA09hr9Y1pysllCsEE_6dT4CrhRM"
} }
], ],
"services": { "services": {
"appinvite_service": { "appinvite_service": {
"other_platform_oauth_client": [ "other_platform_oauth_client": [
{ {
"client_id": "280510379185-58chj1fi4pts4p7p7sieq16miapvtepi.apps.googleusercontent.com", "client_id": "675860686596-n32ta36ndmugfm1jj61mu2p1v197a1nn.apps.googleusercontent.com",
"client_type": 3 "client_type": 3
}, },
{ {
"client_id": "280510379185-67vianhh973klriv75ip2tb9cf8ibitl.apps.googleusercontent.com", "client_id": "675860686596-8dsd5qf42n1gej04f2m2rmt27neft8vg.apps.googleusercontent.com",
"client_type": 2, "client_type": 2,
"ios_info": { "ios_info": {
"bundle_id": "com.tesoapp", "bundle_id": "com.tesoapp",

BIN
assets/.DS_Store

Binary file not shown.

BIN
assets/images/.DS_Store

Binary file not shown.

1
assets/images/coupon.svg

@ -0,0 +1 @@
<svg id="Gylph" height="512" viewBox="0 0 64 64" width="512" xmlns="http://www.w3.org/2000/svg"><path d="m28.06 39a1.14 1.14 0 0 0 -2.27 0 1.14 1.14 0 0 0 2.27 0z"/><path d="m39.23 26.75a1 1 0 0 1 1.41-1.42l2.28 2.28s4.39-4.4 4.43-4.47a5 5 0 0 0 -.13-7l-1.48-1.49a1 1 0 0 0 -1.37-.05 3.27 3.27 0 0 1 -4.62-4.6 1 1 0 0 0 0-1.37l-1.53-1.48a5.09 5.09 0 0 0 -7.16 0l-4.3 4.31 2.24 2.26a1 1 0 0 1 -1.42 1.41l-2.27-2.27-15.81 15.84h31.66c-.48-.51-1.45-1.47-1.93-1.95zm-5.81-7.22a1 1 0 0 1 -1.41 0l-1.57-1.53a1 1 0 0 1 0-1.41 1 1 0 0 1 1.42 0l1.56 1.56a1 1 0 0 1 0 1.38zm4.39 4.39a1 1 0 0 1 -1.41 0l-1.57-1.57a1 1 0 0 1 0-1.41 1 1 0 0 1 1.42 0l1.56 1.57a1 1 0 0 1 0 1.41z"/><path d="m54 30.68h-7.72v3.73a1 1 0 0 1 -2 .27c-.11-1 0-2.94 0-4h-33.94a6 6 0 0 0 -6.34 6v2.57a1 1 0 0 0 1 1 4.26 4.26 0 0 1 0 8.52 1 1 0 0 0 -1 1v2.57a6 6 0 0 0 6 6h34.28s-.06-3.83 0-4a1 1 0 0 1 1.9 0c.12.29.05 4 .05 4h7.77a6 6 0 0 0 6-6v-2.59a1 1 0 0 0 -.93-1c-5.23-.44-5.21-8 0-8.48a1 1 0 0 0 .93-1v-2.59a6 6 0 0 0 -6-6zm-24.35 8.32a2.73 2.73 0 0 1 -5.45 0 2.73 2.73 0 0 1 5.45 0zm-4.19 10.7a2.72 2.72 0 0 1 5.44 0 2.72 2.72 0 0 1 -5.44 0zm8-9.86-10 9.95a1 1 0 0 1 -1.41-1.42l9.95-9.94a1 1 0 0 1 1.42 0 1 1 0 0 1 .03 1.41zm12.82 9.86a1 1 0 0 1 -2 0v-2.7a1 1 0 0 1 2 0zm0-7.65a1 1 0 0 1 -2 0v-2.72a1 1 0 0 1 2 0z"/><path d="m27.05 49.7a1.13 1.13 0 0 0 2.26 0 1.13 1.13 0 0 0 -2.26 0z"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

1
assets/images/search.svg

@ -0,0 +1 @@
<svg clip-rule="evenodd" fill-rule="evenodd" height="512" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" viewBox="0 0 1707 1707" width="512" xmlns="http://www.w3.org/2000/svg"><g id="Layer_x0020_1"><path d="m623 1250c-166 0-323-65-440-183-118-118-183-274-183-440 0-167 65-323 183-441 117-118 274-182 440-182s323 64 441 182c117 118 182 274 182 441 0 166-65 322-182 440-118 118-275 183-441 183zm0-140c-129 0-251-50-342-141-91-92-142-213-142-342 0-130 51-251 142-343 91-91 213-141 342-141s251 50 342 141c189 189 189 496 0 685-91 91-213 141-342 141z"/><path d="m1198 1309c-8 0-16-3-22-9l-134-134c23-18 44-36 64-57 23-22 43-46 62-71l135 135c12 12 12 31 0 43-6 5-13 8-21 8-7 0-13-2-18-6l-39 48c5 11 3 24-6 34-6 6-14 9-21 9z"/><path d="m1577 1703c-34 0-67-13-91-38l-282-281c-24-24-37-57-37-91 0-35 13-68 37-92 25-24 57-38 92-38s67 14 92 38l281 281c50 51 50 133 0 183-25 25-57 38-92 38z"/><path d="m421 829c-112-112-112-293 0-405 11-12 11-31 0-42-12-12-31-12-43 0-135 135-135 354 0 489 6 6 14 9 21 9 8 0 16-3 22-9 11-11 11-30 0-42z"/></g></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

6
ios/Podfile

@ -1,7 +1,7 @@
# Uncomment this line to define a global platform for your project # Uncomment this line to define a global platform for your project
platform :ios, '12.0' platform :ios, '15.0'
# Override Firebase SDK Version # Override Firebase SDK Version
$FirebaseSDKVersion = '8.15.0' $FirebaseSDKVersion = '9.2.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency. # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true' ENV['COCOAPODS_DISABLE_STATS'] = 'true'
@ -39,7 +39,7 @@ post_install do |installer|
installer.pods_project.targets.each do |target| installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target) flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config| target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0' config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0'
end end
end end
end end

217
ios/Podfile.lock

@ -608,102 +608,105 @@ PODS:
- BoringSSL-GRPC/Implementation (0.0.24): - BoringSSL-GRPC/Implementation (0.0.24):
- BoringSSL-GRPC/Interface (= 0.0.24) - BoringSSL-GRPC/Interface (= 0.0.24)
- BoringSSL-GRPC/Interface (0.0.24) - BoringSSL-GRPC/Interface (0.0.24)
- camera (0.0.1): - camera_avfoundation (0.0.1):
- Flutter - Flutter
- cloud_firestore (3.1.15): - cloud_firestore (3.2.0):
- Firebase/Firestore (= 8.15.0) - Firebase/Firestore (= 9.2.0)
- firebase_core - firebase_core
- Flutter - Flutter
- connectivity (0.0.1): - connectivity (0.0.1):
- Flutter - Flutter
- Reachability - Reachability
- Firebase/Analytics (8.15.0): - Firebase/Analytics (9.2.0):
- Firebase/Core - Firebase/Core
- Firebase/Auth (8.15.0): - Firebase/Auth (9.2.0):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseAuth (~> 8.15.0) - FirebaseAuth (~> 9.2.0)
- Firebase/Core (8.15.0): - Firebase/Core (9.2.0):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseAnalytics (~> 8.15.0) - FirebaseAnalytics (~> 9.2.0)
- Firebase/CoreOnly (8.15.0): - Firebase/CoreOnly (9.2.0):
- FirebaseCore (= 8.15.0) - FirebaseCore (= 9.2.0)
- Firebase/Crashlytics (8.15.0): - Firebase/Crashlytics (9.2.0):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseCrashlytics (~> 8.15.0) - FirebaseCrashlytics (~> 9.2.0)
- Firebase/DynamicLinks (8.15.0): - Firebase/DynamicLinks (9.2.0):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseDynamicLinks (~> 8.15.0) - FirebaseDynamicLinks (~> 9.2.0)
- Firebase/Firestore (8.15.0): - Firebase/Firestore (9.2.0):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseFirestore (~> 8.15.0) - FirebaseFirestore (~> 9.2.0)
- Firebase/Messaging (8.15.0): - Firebase/Messaging (9.2.0):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseMessaging (~> 8.15.0) - FirebaseMessaging (~> 9.2.0)
- firebase_analytics (9.1.8): - firebase_analytics (9.1.11):
- Firebase/Analytics (= 8.15.0) - Firebase/Analytics (= 9.2.0)
- firebase_core - firebase_core
- Flutter - Flutter
- firebase_auth (3.3.18): - firebase_auth (3.4.0):
- Firebase/Auth (= 8.15.0) - Firebase/Auth (= 9.2.0)
- firebase_core - firebase_core
- Flutter - Flutter
- firebase_core (1.17.0): - firebase_core (1.22.0):
- Firebase/CoreOnly (= 8.15.0) - Firebase/CoreOnly (= 9.2.0)
- Flutter - Flutter
- firebase_crashlytics (2.8.0): - firebase_crashlytics (2.8.3):
- Firebase/Crashlytics (= 8.15.0) - Firebase/Crashlytics (= 9.2.0)
- firebase_core - firebase_core
- Flutter - Flutter
- firebase_dynamic_links (4.2.3): - firebase_dynamic_links (4.3.0):
- Firebase/DynamicLinks (= 8.15.0) - Firebase/DynamicLinks (= 9.2.0)
- firebase_core - firebase_core
- Flutter - Flutter
- firebase_messaging (11.4.0): - firebase_messaging (11.4.3):
- Firebase/Messaging (= 8.15.0) - Firebase/Messaging (= 9.2.0)
- firebase_core - firebase_core
- Flutter - Flutter
- FirebaseAnalytics (8.15.0): - FirebaseAnalytics (9.2.0):
- FirebaseAnalytics/AdIdSupport (= 8.15.0) - FirebaseAnalytics/AdIdSupport (= 9.2.0)
- FirebaseCore (~> 8.0) - FirebaseCore (~> 9.0)
- FirebaseInstallations (~> 8.0) - FirebaseInstallations (~> 9.0)
- GoogleUtilities/AppDelegateSwizzler (~> 7.7) - GoogleUtilities/AppDelegateSwizzler (~> 7.7)
- GoogleUtilities/MethodSwizzler (~> 7.7) - GoogleUtilities/MethodSwizzler (~> 7.7)
- GoogleUtilities/Network (~> 7.7) - GoogleUtilities/Network (~> 7.7)
- "GoogleUtilities/NSData+zlib (~> 7.7)" - "GoogleUtilities/NSData+zlib (~> 7.7)"
- nanopb (~> 2.30908.0) - nanopb (< 2.30910.0, >= 2.30908.0)
- FirebaseAnalytics/AdIdSupport (8.15.0): - FirebaseAnalytics/AdIdSupport (9.2.0):
- FirebaseCore (~> 8.0) - FirebaseCore (~> 9.0)
- FirebaseInstallations (~> 8.0) - FirebaseInstallations (~> 9.0)
- GoogleAppMeasurement (= 8.15.0) - GoogleAppMeasurement (= 9.2.0)
- GoogleUtilities/AppDelegateSwizzler (~> 7.7) - GoogleUtilities/AppDelegateSwizzler (~> 7.7)
- GoogleUtilities/MethodSwizzler (~> 7.7) - GoogleUtilities/MethodSwizzler (~> 7.7)
- GoogleUtilities/Network (~> 7.7) - GoogleUtilities/Network (~> 7.7)
- "GoogleUtilities/NSData+zlib (~> 7.7)" - "GoogleUtilities/NSData+zlib (~> 7.7)"
- nanopb (~> 2.30908.0) - nanopb (< 2.30910.0, >= 2.30908.0)
- FirebaseAuth (8.15.0): - FirebaseAuth (9.2.0):
- FirebaseCore (~> 8.0) - FirebaseCore (~> 9.0)
- GoogleUtilities/AppDelegateSwizzler (~> 7.7) - GoogleUtilities/AppDelegateSwizzler (~> 7.7)
- GoogleUtilities/Environment (~> 7.7) - GoogleUtilities/Environment (~> 7.7)
- GTMSessionFetcher/Core (~> 1.5) - GTMSessionFetcher/Core (< 3.0, >= 1.7)
- FirebaseCore (8.15.0): - FirebaseCore (9.2.0):
- FirebaseCoreDiagnostics (~> 8.0) - FirebaseCoreDiagnostics (~> 9.0)
- FirebaseCoreInternal (~> 9.0)
- GoogleUtilities/Environment (~> 7.7) - GoogleUtilities/Environment (~> 7.7)
- GoogleUtilities/Logger (~> 7.7) - GoogleUtilities/Logger (~> 7.7)
- FirebaseCoreDiagnostics (8.15.0): - FirebaseCoreDiagnostics (9.5.0):
- GoogleDataTransport (~> 9.1) - GoogleDataTransport (< 10.0.0, >= 9.1.4)
- GoogleUtilities/Environment (~> 7.7) - GoogleUtilities/Environment (~> 7.7)
- GoogleUtilities/Logger (~> 7.7) - GoogleUtilities/Logger (~> 7.7)
- nanopb (~> 2.30908.0) - nanopb (< 2.30910.0, >= 2.30908.0)
- FirebaseCrashlytics (8.15.0): - FirebaseCoreInternal (9.5.0):
- FirebaseCore (~> 8.0) - "GoogleUtilities/NSData+zlib (~> 7.7)"
- FirebaseInstallations (~> 8.0) - FirebaseCrashlytics (9.2.0):
- GoogleDataTransport (~> 9.1) - FirebaseCore (~> 9.0)
- FirebaseInstallations (~> 9.0)
- GoogleDataTransport (< 10.0.0, >= 9.1.4)
- GoogleUtilities/Environment (~> 7.7) - GoogleUtilities/Environment (~> 7.7)
- nanopb (~> 2.30908.0) - nanopb (< 2.30910.0, >= 2.30908.0)
- PromisesObjC (< 3.0, >= 1.2) - PromisesObjC (~> 2.1)
- FirebaseDynamicLinks (8.15.0): - FirebaseDynamicLinks (9.2.0):
- FirebaseCore (~> 8.0) - FirebaseCore (~> 9.0)
- FirebaseFirestore (8.15.0): - FirebaseFirestore (9.2.0):
- abseil/algorithm (~> 1.20211102.0) - abseil/algorithm (~> 1.20211102.0)
- abseil/base (~> 1.20211102.0) - abseil/base (~> 1.20211102.0)
- abseil/container/flat_hash_map (~> 1.20211102.0) - abseil/container/flat_hash_map (~> 1.20211102.0)
@ -712,24 +715,24 @@ PODS:
- abseil/strings/strings (~> 1.20211102.0) - abseil/strings/strings (~> 1.20211102.0)
- abseil/time (~> 1.20211102.0) - abseil/time (~> 1.20211102.0)
- abseil/types (~> 1.20211102.0) - abseil/types (~> 1.20211102.0)
- FirebaseCore (~> 8.0) - FirebaseCore (~> 9.0)
- "gRPC-C++ (~> 1.44.0)" - "gRPC-C++ (~> 1.44.0)"
- leveldb-library (~> 1.22) - leveldb-library (~> 1.22)
- nanopb (~> 2.30908.0) - nanopb (< 2.30910.0, >= 2.30908.0)
- FirebaseInstallations (8.15.0): - FirebaseInstallations (9.5.0):
- FirebaseCore (~> 8.0) - FirebaseCore (~> 9.0)
- GoogleUtilities/Environment (~> 7.7) - GoogleUtilities/Environment (~> 7.7)
- GoogleUtilities/UserDefaults (~> 7.7) - GoogleUtilities/UserDefaults (~> 7.7)
- PromisesObjC (< 3.0, >= 1.2) - PromisesObjC (~> 2.1)
- FirebaseMessaging (8.15.0): - FirebaseMessaging (9.2.0):
- FirebaseCore (~> 8.0) - FirebaseCore (~> 9.0)
- FirebaseInstallations (~> 8.0) - FirebaseInstallations (~> 9.0)
- GoogleDataTransport (~> 9.1) - GoogleDataTransport (< 10.0.0, >= 9.1.4)
- GoogleUtilities/AppDelegateSwizzler (~> 7.7) - GoogleUtilities/AppDelegateSwizzler (~> 7.7)
- GoogleUtilities/Environment (~> 7.7) - GoogleUtilities/Environment (~> 7.7)
- GoogleUtilities/Reachability (~> 7.7) - GoogleUtilities/Reachability (~> 7.7)
- GoogleUtilities/UserDefaults (~> 7.7) - GoogleUtilities/UserDefaults (~> 7.7)
- nanopb (~> 2.30908.0) - nanopb (< 2.30910.0, >= 2.30908.0)
- Flutter (1.0.0) - Flutter (1.0.0)
- flutter_inappwebview (0.0.1): - flutter_inappwebview (0.0.1):
- Flutter - Flutter
@ -753,7 +756,7 @@ PODS:
- FMDB/standard (2.7.5) - FMDB/standard (2.7.5)
- geolocator_apple (1.2.0): - geolocator_apple (1.2.0):
- Flutter - Flutter
- google_maps_flutter (0.0.1): - google_maps_flutter_ios (0.0.1):
- Flutter - Flutter
- GoogleMaps - GoogleMaps
- google_ml_vision (0.0.7): - google_ml_vision (0.0.7):
@ -765,26 +768,26 @@ PODS:
- google_sign_in_ios (0.0.1): - google_sign_in_ios (0.0.1):
- Flutter - Flutter
- GoogleSignIn (~> 6.2) - GoogleSignIn (~> 6.2)
- GoogleAppMeasurement (8.15.0): - GoogleAppMeasurement (9.2.0):
- GoogleAppMeasurement/AdIdSupport (= 8.15.0) - GoogleAppMeasurement/AdIdSupport (= 9.2.0)
- GoogleUtilities/AppDelegateSwizzler (~> 7.7) - GoogleUtilities/AppDelegateSwizzler (~> 7.7)
- GoogleUtilities/MethodSwizzler (~> 7.7) - GoogleUtilities/MethodSwizzler (~> 7.7)
- GoogleUtilities/Network (~> 7.7) - GoogleUtilities/Network (~> 7.7)
- "GoogleUtilities/NSData+zlib (~> 7.7)" - "GoogleUtilities/NSData+zlib (~> 7.7)"
- nanopb (~> 2.30908.0) - nanopb (< 2.30910.0, >= 2.30908.0)
- GoogleAppMeasurement/AdIdSupport (8.15.0): - GoogleAppMeasurement/AdIdSupport (9.2.0):
- GoogleAppMeasurement/WithoutAdIdSupport (= 8.15.0) - GoogleAppMeasurement/WithoutAdIdSupport (= 9.2.0)
- GoogleUtilities/AppDelegateSwizzler (~> 7.7) - GoogleUtilities/AppDelegateSwizzler (~> 7.7)
- GoogleUtilities/MethodSwizzler (~> 7.7) - GoogleUtilities/MethodSwizzler (~> 7.7)
- GoogleUtilities/Network (~> 7.7) - GoogleUtilities/Network (~> 7.7)
- "GoogleUtilities/NSData+zlib (~> 7.7)" - "GoogleUtilities/NSData+zlib (~> 7.7)"
- nanopb (~> 2.30908.0) - nanopb (< 2.30910.0, >= 2.30908.0)
- GoogleAppMeasurement/WithoutAdIdSupport (8.15.0): - GoogleAppMeasurement/WithoutAdIdSupport (9.2.0):
- GoogleUtilities/AppDelegateSwizzler (~> 7.7) - GoogleUtilities/AppDelegateSwizzler (~> 7.7)
- GoogleUtilities/MethodSwizzler (~> 7.7) - GoogleUtilities/MethodSwizzler (~> 7.7)
- GoogleUtilities/Network (~> 7.7) - GoogleUtilities/Network (~> 7.7)
- "GoogleUtilities/NSData+zlib (~> 7.7)" - "GoogleUtilities/NSData+zlib (~> 7.7)"
- nanopb (~> 2.30908.0) - nanopb (< 2.30910.0, >= 2.30908.0)
- GoogleDataTransport (9.1.4): - GoogleDataTransport (9.1.4):
- GoogleUtilities/Environment (~> 7.7) - GoogleUtilities/Environment (~> 7.7)
- nanopb (< 2.30910.0, >= 2.30908.0) - nanopb (< 2.30910.0, >= 2.30908.0)
@ -976,7 +979,7 @@ PODS:
- permission_handler_apple (9.0.4): - permission_handler_apple (9.0.4):
- Flutter - Flutter
- PhoneNumberKit/PhoneNumberKitCore (3.3.4) - PhoneNumberKit/PhoneNumberKitCore (3.3.4)
- PromisesObjC (2.1.0) - PromisesObjC (2.1.1)
- Protobuf (3.20.1) - Protobuf (3.20.1)
- Reachability (3.2) - Reachability (3.2)
- share_plus (0.0.1): - share_plus (0.0.1):
@ -995,7 +998,7 @@ PODS:
- Flutter - Flutter
DEPENDENCIES: DEPENDENCIES:
- camera (from `.symlinks/plugins/camera/ios`) - camera_avfoundation (from `.symlinks/plugins/camera_avfoundation/ios`)
- cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`) - cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`)
- connectivity (from `.symlinks/plugins/connectivity/ios`) - connectivity (from `.symlinks/plugins/connectivity/ios`)
- firebase_analytics (from `.symlinks/plugins/firebase_analytics/ios`) - firebase_analytics (from `.symlinks/plugins/firebase_analytics/ios`)
@ -1011,7 +1014,7 @@ DEPENDENCIES:
- flutter_qrcode_scanner (from `.symlinks/plugins/flutter_qrcode_scanner/ios`) - flutter_qrcode_scanner (from `.symlinks/plugins/flutter_qrcode_scanner/ios`)
- flutter_webview_plugin (from `.symlinks/plugins/flutter_webview_plugin/ios`) - flutter_webview_plugin (from `.symlinks/plugins/flutter_webview_plugin/ios`)
- geolocator_apple (from `.symlinks/plugins/geolocator_apple/ios`) - geolocator_apple (from `.symlinks/plugins/geolocator_apple/ios`)
- google_maps_flutter (from `.symlinks/plugins/google_maps_flutter/ios`) - google_maps_flutter_ios (from `.symlinks/plugins/google_maps_flutter_ios/ios`)
- google_ml_vision (from `.symlinks/plugins/google_ml_vision/ios`) - google_ml_vision (from `.symlinks/plugins/google_ml_vision/ios`)
- google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/ios`) - google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/ios`)
- image_cropper (from `.symlinks/plugins/image_cropper/ios`) - image_cropper (from `.symlinks/plugins/image_cropper/ios`)
@ -1038,6 +1041,7 @@ SPEC REPOS:
- FirebaseAuth - FirebaseAuth
- FirebaseCore - FirebaseCore
- FirebaseCoreDiagnostics - FirebaseCoreDiagnostics
- FirebaseCoreInternal
- FirebaseCrashlytics - FirebaseCrashlytics
- FirebaseDynamicLinks - FirebaseDynamicLinks
- FirebaseFirestore - FirebaseFirestore
@ -1079,8 +1083,8 @@ SPEC REPOS:
- TOCropViewController - TOCropViewController
EXTERNAL SOURCES: EXTERNAL SOURCES:
camera: camera_avfoundation:
:path: ".symlinks/plugins/camera/ios" :path: ".symlinks/plugins/camera_avfoundation/ios"
cloud_firestore: cloud_firestore:
:path: ".symlinks/plugins/cloud_firestore/ios" :path: ".symlinks/plugins/cloud_firestore/ios"
connectivity: connectivity:
@ -1111,8 +1115,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/flutter_webview_plugin/ios" :path: ".symlinks/plugins/flutter_webview_plugin/ios"
geolocator_apple: geolocator_apple:
:path: ".symlinks/plugins/geolocator_apple/ios" :path: ".symlinks/plugins/geolocator_apple/ios"
google_maps_flutter: google_maps_flutter_ios:
:path: ".symlinks/plugins/google_maps_flutter/ios" :path: ".symlinks/plugins/google_maps_flutter_ios/ios"
google_ml_vision: google_ml_vision:
:path: ".symlinks/plugins/google_ml_vision/ios" :path: ".symlinks/plugins/google_ml_vision/ios"
google_sign_in_ios: google_sign_in_ios:
@ -1148,25 +1152,26 @@ SPEC CHECKSUMS:
abseil: ebe5b5529fb05d93a8bdb7951607be08b7fa71bc abseil: ebe5b5529fb05d93a8bdb7951607be08b7fa71bc
AppAuth: 80317d99ac7ff2801a2f18ff86b48cd315ed465d AppAuth: 80317d99ac7ff2801a2f18ff86b48cd315ed465d
BoringSSL-GRPC: 3175b25143e648463a56daeaaa499c6cb86dad33 BoringSSL-GRPC: 3175b25143e648463a56daeaaa499c6cb86dad33
camera: 9993f92f2c793e87b65e35f3a23c70582afb05b1 camera_avfoundation: 07c77549ea54ad95d8581be86617c094a46280d9
cloud_firestore: 76e73835a6ac79ac825190eefd876a1e100c7835 cloud_firestore: 30fe479181386bcf28579a0b4bf1654c89b88542
connectivity: c4130b2985d4ef6fd26f9702e886bd5260681467 connectivity: c4130b2985d4ef6fd26f9702e886bd5260681467
Firebase: 5f8193dff4b5b7c5d5ef72ae54bb76c08e2b841d Firebase: 4ba896cb8e5105d4b9e247e1c1b6222b548df55a
firebase_analytics: 92d27947c7516981cabdc0acbb33cd0687bcda44 firebase_analytics: ff0cb0848b62fea2c6cf93dfd08135130f194de8
firebase_auth: ace975b530600827bd901a9a18584f7cdaf6d160 firebase_auth: 4844b43012019d01268544a497b5a9757f69027b
firebase_core: aa1b92020533f5c23955e388c347c58fd64f8627 firebase_core: 07ad4db354f9b07c54809df99dbe6dd5f7256872
firebase_crashlytics: d42b108fa870b889f4c4ea22094647f2aca5f765 firebase_crashlytics: e0040786f14b369cc717037d124ae124d40c6460
firebase_dynamic_links: 7263ea02f9eb9af202173d2ec093120340e38677 firebase_dynamic_links: e2d08d5e0cd443258a54137a61247e92d5e1a1c4
firebase_messaging: 8957bf304b47daf8bf12d0b111fdecc5b33e77a3 firebase_messaging: 753569fe9d79bcc694bab3526b168d248b512ce2
FirebaseAnalytics: 7761cbadb00a717d8d0939363eb46041526474fa FirebaseAnalytics: af5a03a8dff7648c7b8486f6a78b1368e0268dd3
FirebaseAuth: 3e73bf8abf4fbb40f8b421f361f4cc48ee57388c FirebaseAuth: 1c574ab64a051dd86dbe7fd5a3f86b58155b3482
FirebaseCore: 5743c5785c074a794d35f2fff7ecc254a91e08b1 FirebaseCore: 0e27f2a15d8f7b7ef11e7d93e23b1cbab55d748c
FirebaseCoreDiagnostics: 92e07a649aeb66352b319d43bdd2ee3942af84cb FirebaseCoreDiagnostics: 17cbf4e72b1dbd64bfdc33d4b1f07bce4f16f1d8
FirebaseCrashlytics: feb07e4e9187be3c23c6a846cce4824e5ce2dd0b FirebaseCoreInternal: 50a8e39cae8abf72d5145d07ea34c3244f70862b
FirebaseDynamicLinks: 1dc816ef789c5adac6fede0b46d11478175c70e4 FirebaseCrashlytics: 9fff819edb2bfc9d3eff612225b207d41945a935
FirebaseFirestore: d7023faff8e1b4fd69d0adbcf18e65129bc03842 FirebaseDynamicLinks: f576ccfba05f2813e3679d48ccae5bcfff5714fc
FirebaseInstallations: 40bd9054049b2eae9a2c38ef1c3dd213df3605cd FirebaseFirestore: de27d96de10596ebc114adf25c6aa7d36dd91f2f
FirebaseMessaging: 5e5118a2383b3531e730d974680954c679ca0a13 FirebaseInstallations: 41f811b530c41dd90973d0174381cdb3fcb5e839
FirebaseMessaging: 4eaf1b8a7464b2c5e619ad66e9b20ee3e3206b24
Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a
flutter_inappwebview: bfd58618f49dc62f2676de690fc6dcda1d6c3721 flutter_inappwebview: bfd58618f49dc62f2676de690fc6dcda1d6c3721
flutter_libphonenumber: 6a23afdf063b34d1e53e6dbd6c6bc905d18e8e46 flutter_libphonenumber: 6a23afdf063b34d1e53e6dbd6c6bc905d18e8e46
@ -1175,10 +1180,10 @@ SPEC CHECKSUMS:
flutter_webview_plugin: ed9e8a6a96baf0c867e90e1bce2673913eeac694 flutter_webview_plugin: ed9e8a6a96baf0c867e90e1bce2673913eeac694
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
geolocator_apple: cc556e6844d508c95df1e87e3ea6fa4e58c50401 geolocator_apple: cc556e6844d508c95df1e87e3ea6fa4e58c50401
google_maps_flutter: c59fc576c0d0c7f4dc4bd63832c862d22d5a7c6d google_maps_flutter_ios: 66201f392bf62d500f07670a30488a247b9bb5b9
google_ml_vision: d16cd76617b3260c4283a28843555a8c6253a171 google_ml_vision: d16cd76617b3260c4283a28843555a8c6253a171
google_sign_in_ios: 90eec6616c4c2105b9f9fe5c774773d13565b504 google_sign_in_ios: 4f85eb9f937450765c8573bb85fd8cd6a5af675c
GoogleAppMeasurement: 4c19f031220c72464d460c9daa1fb5d1acce958e GoogleAppMeasurement: 7a33224321f975d58c166657260526775d9c6b1a
GoogleDataTransport: 5fffe35792f8b96ec8d6775f5eccd83c998d5a3b GoogleDataTransport: 5fffe35792f8b96ec8d6775f5eccd83c998d5a3b
GoogleMaps: 20d7b12be49a14287f797e88e0e31bc4156aaeb4 GoogleMaps: 20d7b12be49a14287f797e88e0e31bc4156aaeb4
GoogleMLKit: 85ffdc9641d05311c76dbba5bbf93059087be12f GoogleMLKit: 85ffdc9641d05311c76dbba5bbf93059087be12f
@ -1214,7 +1219,7 @@ SPEC CHECKSUMS:
path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02 path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02
permission_handler_apple: 44366e37eaf29454a1e7b1b7d736c2cceaeb17ce permission_handler_apple: 44366e37eaf29454a1e7b1b7d736c2cceaeb17ce
PhoneNumberKit: 441e8b26ec88d598e3591de9061eff18f5dd12e8 PhoneNumberKit: 441e8b26ec88d598e3591de9061eff18f5dd12e8
PromisesObjC: 99b6f43f9e1044bd87a95a60beff28c2c44ddb72 PromisesObjC: ab77feca74fa2823e7af4249b8326368e61014cb
Protobuf: b60ec2f51ad74765f44d0c09d2e0579d7de21745 Protobuf: b60ec2f51ad74765f44d0c09d2e0579d7de21745
Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96 Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96
share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68 share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68
@ -1225,6 +1230,6 @@ SPEC CHECKSUMS:
url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de
webview_flutter_wkwebview: b7e70ef1ddded7e69c796c7390ee74180182971f webview_flutter_wkwebview: b7e70ef1ddded7e69c796c7390ee74180182971f
PODFILE CHECKSUM: c62121d8312d0ff0e0c4dd40334ffbc665ef58ad PODFILE CHECKSUM: 2123a5cc771d730e237b041002bf2d3b6ae5004b
COCOAPODS: 1.11.3 COCOAPODS: 1.11.3

8
ios/Runner.xcodeproj/project.pbxproj

@ -13,8 +13,8 @@
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
98FE50F8283B030E00F3547E /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 98FE50F7283B030D00F3547E /* GoogleService-Info.plist */; };
DE7D3950774AF2253178F202 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29578401A5FB3088ABB7635B /* Pods_Runner.framework */; }; DE7D3950774AF2253178F202 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29578401A5FB3088ABB7635B /* Pods_Runner.framework */; };
FE1744D5ADF4D39D2F573FCB /* GoogleService-Info.plist in Sources */ = {isa = PBXBuildFile; fileRef = 0B3B84CDB01189B80ADF6D47 /* GoogleService-Info.plist */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */ /* Begin PBXCopyFilesBuildPhase section */
@ -31,6 +31,7 @@
/* End PBXCopyFilesBuildPhase section */ /* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
0B3B84CDB01189B80ADF6D47 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = "<group>"; };
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
29578401A5FB3088ABB7635B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 29578401A5FB3088ABB7635B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@ -46,7 +47,6 @@
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
98FE50F7283B030D00F3547E /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "../../../../Downloads/GoogleService-Info.plist"; sourceTree = "<group>"; };
A59F426903D2E7C7F7F74FB8 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; }; A59F426903D2E7C7F7F74FB8 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
DD7F4377AC18215A9CA08DC8 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; }; DD7F4377AC18215A9CA08DC8 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
@ -100,6 +100,7 @@
97C146EF1CF9000F007C117D /* Products */, 97C146EF1CF9000F007C117D /* Products */,
4334E30C393B71F7A6E589D8 /* Pods */, 4334E30C393B71F7A6E589D8 /* Pods */,
23D06BD6AD1FD965EEBFDFB4 /* Frameworks */, 23D06BD6AD1FD965EEBFDFB4 /* Frameworks */,
0B3B84CDB01189B80ADF6D47 /* GoogleService-Info.plist */,
); );
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -114,7 +115,6 @@
97C146F01CF9000F007C117D /* Runner */ = { 97C146F01CF9000F007C117D /* Runner */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
98FE50F7283B030D00F3547E /* GoogleService-Info.plist */,
97C146FA1CF9000F007C117D /* Main.storyboard */, 97C146FA1CF9000F007C117D /* Main.storyboard */,
97C146FD1CF9000F007C117D /* Assets.xcassets */, 97C146FD1CF9000F007C117D /* Assets.xcassets */,
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
@ -194,7 +194,6 @@
files = ( files = (
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
98FE50F8283B030E00F3547E /* GoogleService-Info.plist in Resources */,
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
); );
@ -316,6 +315,7 @@
files = ( files = (
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
FE1744D5ADF4D39D2F573FCB /* GoogleService-Info.plist in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };

BIN
ios/Runner/.DS_Store

Binary file not shown.

13
ios/Runner/Base.lproj/Main.storyboard

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r"> <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
<device id="retina6_7" orientation="portrait" appearance="light"/>
<dependencies> <dependencies>
<deployment identifier="iOS"/> <deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies> </dependencies>
<scenes> <scenes>
<!--Flutter View Controller--> <!--Flutter View Controller-->
@ -14,13 +16,14 @@
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/> <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
</layoutGuides> </layoutGuides>
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC"> <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/> <rect key="frame" x="0.0" y="0.0" width="428" height="926"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/> <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view> </view>
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="-26" y="-44"/>
</scene> </scene>
</scenes> </scenes>
</document> </document>

18
ios/Runner/GoogleService-Info.plist

@ -3,23 +3,23 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>CLIENT_ID</key> <key>CLIENT_ID</key>
<string>280510379185-67vianhh973klriv75ip2tb9cf8ibitl.apps.googleusercontent.com</string> <string>675860686596-8dsd5qf42n1gej04f2m2rmt27neft8vg.apps.googleusercontent.com</string>
<key>REVERSED_CLIENT_ID</key> <key>REVERSED_CLIENT_ID</key>
<string>com.googleusercontent.apps.280510379185-67vianhh973klriv75ip2tb9cf8ibitl</string> <string>com.googleusercontent.apps.675860686596-8dsd5qf42n1gej04f2m2rmt27neft8vg</string>
<key>ANDROID_CLIENT_ID</key> <key>ANDROID_CLIENT_ID</key>
<string>280510379185-0shp8sia3i5m589bov645t3kuddb1032.apps.googleusercontent.com</string> <string>675860686596-in4piqob6d8nj42nguh06abpdrrhai0f.apps.googleusercontent.com</string>
<key>API_KEY</key> <key>API_KEY</key>
<string>AIzaSyCBDtZO2_Z5JjrNj1TocK6YAlk_wDbzZHs</string> <string>AIzaSyDBcm0Bpx8tucyVx3Cwe48ehqcWGPWThzI</string>
<key>GCM_SENDER_ID</key> <key>GCM_SENDER_ID</key>
<string>280510379185</string> <string>675860686596</string>
<key>PLIST_VERSION</key> <key>PLIST_VERSION</key>
<string>1</string> <string>1</string>
<key>BUNDLE_ID</key> <key>BUNDLE_ID</key>
<string>com.tesoapp</string> <string>com.tesoapp</string>
<key>PROJECT_ID</key> <key>PROJECT_ID</key>
<string>teso-ghana</string> <string>teso-test-6fc81</string>
<key>STORAGE_BUCKET</key> <key>STORAGE_BUCKET</key>
<string>teso-ghana.appspot.com</string> <string>teso-test-6fc81.appspot.com</string>
<key>IS_ADS_ENABLED</key> <key>IS_ADS_ENABLED</key>
<false></false> <false></false>
<key>IS_ANALYTICS_ENABLED</key> <key>IS_ANALYTICS_ENABLED</key>
@ -31,8 +31,6 @@
<key>IS_SIGNIN_ENABLED</key> <key>IS_SIGNIN_ENABLED</key>
<true></true> <true></true>
<key>GOOGLE_APP_ID</key> <key>GOOGLE_APP_ID</key>
<string>1:280510379185:ios:52af12a619d5443119de90</string> <string>1:675860686596:ios:41d840f75d89875ccd9251</string>
<key>DATABASE_URL</key>
<string>https://teso-ghana-default-rtdb.firebaseio.com</string>
</dict> </dict>
</plist> </plist>

1
ios/Runner/Info.plist

@ -34,6 +34,7 @@
<key>CFBundleURLSchemes</key> <key>CFBundleURLSchemes</key>
<array> <array>
<string>com.googleusercontent.apps.280510379185-67vianhh973klriv75ip2tb9cf8ibitl</string> <string>com.googleusercontent.apps.280510379185-67vianhh973klriv75ip2tb9cf8ibitl</string>
<string>com.googleusercontent.apps.675860686596-8dsd5qf42n1gej04f2m2rmt27neft8vg</string>
<string>fb1759156777594606</string> <string>fb1759156777594606</string>
</array> </array>
</dict> </dict>

38
ios/Runner/ProdGoogleService-Info.plist

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CLIENT_ID</key>
<string>280510379185-67vianhh973klriv75ip2tb9cf8ibitl.apps.googleusercontent.com</string>
<key>REVERSED_CLIENT_ID</key>
<string>com.googleusercontent.apps.280510379185-67vianhh973klriv75ip2tb9cf8ibitl</string>
<key>ANDROID_CLIENT_ID</key>
<string>280510379185-0shp8sia3i5m589bov645t3kuddb1032.apps.googleusercontent.com</string>
<key>API_KEY</key>
<string>AIzaSyCBDtZO2_Z5JjrNj1TocK6YAlk_wDbzZHs</string>
<key>GCM_SENDER_ID</key>
<string>280510379185</string>
<key>PLIST_VERSION</key>
<string>1</string>
<key>BUNDLE_ID</key>
<string>com.tesoapp</string>
<key>PROJECT_ID</key>
<string>teso-ghana</string>
<key>STORAGE_BUCKET</key>
<string>teso-ghana.appspot.com</string>
<key>IS_ADS_ENABLED</key>
<false></false>
<key>IS_ANALYTICS_ENABLED</key>
<false></false>
<key>IS_APPINVITE_ENABLED</key>
<true></true>
<key>IS_GCM_ENABLED</key>
<true></true>
<key>IS_SIGNIN_ENABLED</key>
<true></true>
<key>GOOGLE_APP_ID</key>
<string>1:280510379185:ios:52af12a619d5443119de90</string>
<key>DATABASE_URL</key>
<string>https://teso-ghana-default-rtdb.firebaseio.com</string>
</dict>
</plist>

6
ios/firebase_app_id_file.json

@ -1,7 +1,7 @@
{ {
"file_generated_by": "FlutterFire CLI", "file_generated_by": "FlutterFire CLI",
"purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory", "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory",
"GOOGLE_APP_ID": "1:280510379185:ios:52af12a619d5443119de90", "GOOGLE_APP_ID": "1:675860686596:ios:41d840f75d89875ccd9251",
"FIREBASE_PROJECT_ID": "teso-ghana", "FIREBASE_PROJECT_ID": "teso-test-6fc81",
"GCM_SENDER_ID": "280510379185" "GCM_SENDER_ID": "675860686596"
} }

8
lib/Classes/API Clasess/BusinessProfile.dart

@ -4,10 +4,10 @@ import 'package:teso/Classes/API%20Clasess/Product.dart';
import '../TesoUser.dart'; import '../TesoUser.dart';
class BusinessProfileClass { class BusinessProfileClass {
List<Product> products; List<Product>? products;
List<CouponDetails> coupons; List<CouponDetails>? coupons;
List<TesoUser> subscribers; List<TesoUser>? subscribers;
bool subscribed; bool? subscribed;
BusinessProfileClass({ BusinessProfileClass({
this.coupons, this.coupons,

6
lib/Classes/API Clasess/CampAd.dart

@ -1,7 +1,7 @@
class CampAd { class CampAd {
String postId; String? postId;
String campaignId; String? campaignId;
bool approved; bool? approved;
CampAd({ CampAd({
this.approved, this.approved,

16
lib/Classes/API Clasess/Campaign.dart

@ -1,12 +1,12 @@
class Campaign { class Campaign {
String campaignID; String? campaignID;
String description; String? description;
String businessID; String? businessID;
String status; String? status;
String title; String? title;
DateTime startDate; DateTime? startDate;
String targetProduct; String? targetProduct;
int rewards; int? rewards;
Campaign({ Campaign({
this.businessID, this.businessID,

10
lib/Classes/API Clasess/CommentsPost.dart

@ -1,9 +1,9 @@
class CommentsPost { class CommentsPost {
String postId; String? postId;
String commentId; String? commentId;
String comment; String? comment;
String timestamp; String? timestamp;
String commenterId; String? commenterId;
CommentsPost({ CommentsPost({
this.postId, this.postId,

32
lib/Classes/API Clasess/CouponDetails.dart

@ -2,20 +2,20 @@ import 'TesoBusinessDetail.dart';
import 'Product.dart'; import 'Product.dart';
class CouponDetails { class CouponDetails {
String couponId; String? couponId;
String businessId; String? businessId;
Product targetProduct; Product? targetProduct;
String type; String? type;
int quantity; int? quantity;
DateTime expiration; DateTime? expiration;
double worth; double? worth;
String state; String? state;
TesoBusinessDetail issuer; TesoBusinessDetail? issuer;
double productCost; double? productCost;
double lowerLimit; double? lowerLimit;
double upperLimit; double? upperLimit;
String countID; String? countID;
String condition; String? condition;
CouponDetails( CouponDetails(
{this.businessId, {this.businessId,
@ -54,7 +54,7 @@ class CouponDetails {
condition: json['condition'].toString()); condition: json['condition'].toString());
} catch (e) { } catch (e) {
print(e); print(e);
return null; return CouponDetails();
} }
} }
@ -83,7 +83,7 @@ class CouponDetails {
data['businessId'] = this.businessId; data['businessId'] = this.businessId;
data['couponId'] = this.couponId; data['couponId'] = this.couponId;
data['target'] = this.targetProduct; data['target'] = this.targetProduct;
data['expiration'] = this.expiration.toIso8601String(); data['expiration'] = this.expiration!.toIso8601String();
data['issuer'] = this.issuer; data['issuer'] = this.issuer;
data['productCost'] = this.productCost.toString(); data['productCost'] = this.productCost.toString();
data['quantity'] = this.quantity; data['quantity'] = this.quantity;

24
lib/Classes/API Clasess/CouponHead.dart

@ -1,14 +1,14 @@
class CouponsHead { class CouponsHead {
String couponId; String? couponId;
String businessId; String? businessId;
String targetProduct; String? targetProduct;
String type; String? type;
int quantity; int? quantity;
DateTime expiration; DateTime? expiration;
double lower; double? lower;
double upper; double? upper;
String state; String? state;
DateTime generated; DateTime? generated;
CouponsHead( CouponsHead(
{this.businessId, {this.businessId,
@ -38,9 +38,9 @@ class CouponsHead {
final Map<dynamic, dynamic> data = Map<dynamic, dynamic>(); final Map<dynamic, dynamic> data = Map<dynamic, dynamic>();
data['businessID'] = this.businessId; data['businessID'] = this.businessId;
data['couponID'] = this.couponId; data['couponID'] = this.couponId;
data['expiration'] = this.expiration.toIso8601String(); data['expiration'] = this.expiration!.toIso8601String();
data['generated'] = this.generated != null data['generated'] = this.generated != null
? this.generated.toIso8601String() ? this.generated!.toIso8601String()
: DateTime.now().toIso8601String(); : DateTime.now().toIso8601String();
data['quantity'] = this.quantity; data['quantity'] = this.quantity;
data['state'] = this.state; data['state'] = this.state;

12
lib/Classes/API Clasess/Desire.dart

@ -1,10 +1,10 @@
class Desire { class Desire {
String productName; String? productName;
String productID; String? productID;
String productImage; String? productImage;
String enlisted; String? enlisted;
double price; double? price;
String category; String? category;
Desire( Desire(
{this.productName, {this.productName,

4
lib/Classes/API Clasess/ExploreObject.dart

@ -1,8 +1,8 @@
import 'package:teso/Classes/API%20Clasess/Product.dart'; import 'package:teso/Classes/API%20Clasess/Product.dart';
class ExploreClass { class ExploreClass {
List<Product> trending; List<Product>? trending;
List<Product> latest; List<Product>? latest;
ExploreClass({ ExploreClass({
this.trending, this.trending,

20
lib/Classes/API Clasess/FacebookUser.dart

@ -1,14 +1,14 @@
class FacebookUser { class FacebookUser {
String firstname; String? firstname;
String surname; String? surname;
String email; String? email;
String gender; String? gender;
String username; String? username;
String userGUID; String? userGUID;
String country; String? country;
String pictureUri; String? pictureUri;
String deviceToken; String? deviceToken;
String referralCode; String? referralCode;
FacebookUser( FacebookUser(
{this.firstname, {this.firstname,

20
lib/Classes/API Clasess/GoogleUser.dart

@ -1,14 +1,14 @@
class GoogleUser { class GoogleUser {
String firstname; String? firstname;
String surname; String? surname;
String email; String? email;
String gender; String? gender;
String username; String? username;
String userGUID; String? userGUID;
String country; String? country;
String pictureUri; String? pictureUri;
String deviceToken; String? deviceToken;
String referralCode; String? referralCode;
GoogleUser({ GoogleUser({
this.firstname, this.firstname,

18
lib/Classes/API Clasess/Post.dart

@ -1,12 +1,12 @@
class Post { class Post {
String postID; String? postID;
DateTime timestamp; DateTime? timestamp;
String playbackID; String? playbackID;
String publisherID; String? publisherID;
String title; String? title;
String assetID; String? assetID;
String aspect; String? aspect;
String rendition; String? rendition;
Post({ Post({
this.postID, this.postID,
@ -36,7 +36,7 @@ class Post {
data['postId'] = this.postID; data['postId'] = this.postID;
data['playbackID'] = this.playbackID; data['playbackID'] = this.playbackID;
data['title'] = this.title; data['title'] = this.title;
data['timestamp'] = this.timestamp.toIso8601String(); data['timestamp'] = this.timestamp!.toIso8601String();
data['assetID'] = this.assetID; data['assetID'] = this.assetID;
data['aspect'] = this.aspect; data['aspect'] = this.aspect;
data['rendition'] = this.rendition; data['rendition'] = this.rendition;

8
lib/Classes/API Clasess/PostFav.dart

@ -1,8 +1,8 @@
class PostFav { class PostFav {
String postId; String? postId;
String admirerId; String? admirerId;
String timestamp; String? timestamp;
String countId; String? countId;
PostFav({ PostFav({
this.postId, this.postId,

10
lib/Classes/API Clasess/PostUpload.dart

@ -1,9 +1,9 @@
class PostUpload { class PostUpload {
String title; String? title;
String thumbnail; String? thumbnail;
String aspect; String? aspect;
String campaignID; String? campaignID;
String path; String? path;
PostUpload({ PostUpload({
this.title, this.title,

14
lib/Classes/API Clasess/PostedAd.dart

@ -5,18 +5,18 @@ import 'package:teso/Classes/API%20Clasess/PostFav.dart';
import 'package:teso/Classes/TesoUser.dart'; import 'package:teso/Classes/TesoUser.dart';
class PostedAd { class PostedAd {
Post post; Post? post;
List<PostFav> likes; List<PostFav>? likes;
List<CommentsPost> comments; List<CommentsPost>? comments;
bool campaignAd; bool? campaignAd;
CampAd campAdvert; CampAd? campAdvert;
TesoUser publisher; TesoUser? publisher;
PostedAd({ PostedAd({
this.post, this.post,
this.likes, this.likes,
this.comments, this.comments,
List<TesoUser> friends, List<TesoUser>? friends,
this.campaignAd, this.campaignAd,
this.campAdvert, this.campAdvert,
this.publisher, this.publisher,

4
lib/Classes/API Clasess/PostionAP.dart

@ -1,6 +1,6 @@
class Position1 { class Position1 {
double latitude; double? latitude;
double longitude; double? longitude;
Position1({ Position1({
this.latitude, this.latitude,

14
lib/Classes/API Clasess/Product.dart

@ -1,11 +1,11 @@
class Product { class Product {
String productName; String? productName;
String businessID; String? businessID;
String productDesc; String? productDesc;
String productID; String? productID;
String categoryID; String? categoryID;
double unitPrice; double? unitPrice;
String productImage; String? productImage;
Product( Product(
{this.businessID, {this.businessID,

28
lib/Classes/API Clasess/ProximityCoupon.dart

@ -1,20 +1,20 @@
import 'TesoBusinessDetail.dart'; import 'TesoBusinessDetail.dart';
class ProximityCoupon { class ProximityCoupon {
String couponId; String? couponId;
TesoBusinessDetail business; TesoBusinessDetail? business;
String targetName; String? targetName;
String targetID; String? targetID;
String targetImage; String? targetImage;
double targetCost; double? targetCost;
String tagretDescription; String? tagretDescription;
String type; String? type;
int quantity; int? quantity;
DateTime expiration; DateTime? expiration;
double lowerLimit; double? lowerLimit;
double upperLimit; double? upperLimit;
String state; String? state;
String condition; String? condition;
ProximityCoupon({ ProximityCoupon({
this.business, this.business,

6
lib/Classes/API Clasess/ReferralClass.dart

@ -1,7 +1,7 @@
class ReferralClass { class ReferralClass {
String referrer; String? referrer;
String referred; String? referred;
bool reward; bool? reward;
ReferralClass({ ReferralClass({
this.referred, this.referred,

6
lib/Classes/API Clasess/Registrar.dart

@ -2,9 +2,9 @@ import 'package:teso/Classes/API%20Clasess/TesoUserDetail.dart';
import 'package:teso/Classes/API%20Clasess/UserAuth.dart'; import 'package:teso/Classes/API%20Clasess/UserAuth.dart';
class Registrar { class Registrar {
UserAuth authentication; UserAuth? authentication;
TesoUserDetail user; TesoUserDetail? user;
String referral; String? referral;
Registrar({ Registrar({
this.authentication, this.authentication,
this.user, this.user,

6
lib/Classes/API Clasess/ResetClass.dart

@ -1,7 +1,7 @@
class ResetClass { class ResetClass {
String password; String? password;
String resetGuid; String? resetGuid;
String resetcode; String? resetcode;
ResetClass({ ResetClass({
this.password, this.password,

6
lib/Classes/API Clasess/SilverPurchaseRequest.dart

@ -1,7 +1,7 @@
class SilverPurchaseRequest { class SilverPurchaseRequest {
int coinamount; int? coinamount;
String method; String? method;
double amount; double? amount;
SilverPurchaseRequest({ SilverPurchaseRequest({
this.coinamount, this.coinamount,

28
lib/Classes/API Clasess/TesoBusinessDetail.dart

@ -1,17 +1,17 @@
class TesoBusinessDetail { class TesoBusinessDetail {
String businessId; String? businessId;
String handle; String? handle;
String businessName; String? businessName;
String businessTin; String? businessTin;
String businessDescription; String? businessDescription;
String businessCategory; String? businessCategory;
String businessAddress; String? businessAddress;
String businessContact; String? businessContact;
String businessLogo; String? businessLogo;
DateTime dateOfEst; DateTime? dateOfEst;
String businessEmail; String? businessEmail;
String businessLat; String? businessLat;
String businessLng; String? businessLng;
TesoBusinessDetail( TesoBusinessDetail(
{this.businessId, {this.businessId,
@ -56,7 +56,7 @@ class TesoBusinessDetail {
data['businessLogo'] = this.businessLogo; data['businessLogo'] = this.businessLogo;
data['businessName'] = this.businessName; data['businessName'] = this.businessName;
data['businessTin'] = this.businessTin; data['businessTin'] = this.businessTin;
data['dateOfEst'] = this.dateOfEst.toIso8601String(); data['dateOfEst'] = this.dateOfEst!.toIso8601String();
data['handle'] = this.handle; data['handle'] = this.handle;
return data; return data;
} }

26
lib/Classes/API Clasess/TesoUserDetail.dart

@ -1,18 +1,18 @@
import 'package:teso/Classes/TesoUser.dart'; import 'package:teso/Classes/TesoUser.dart';
class TesoUserDetail { class TesoUserDetail {
String userGUID; String? userGUID;
String username; String? username;
String firstname; String? firstname;
String surname; String? surname;
String description; String? description;
String address; String? address;
String email; String? email;
String thumbnailDp; String? thumbnailDp;
String phonenumber; String? phonenumber;
String country; String? country;
String gender; String? gender;
DateTime dateOfBirth; DateTime? dateOfBirth;
TesoUserDetail( TesoUserDetail(
{this.username, {this.username,
@ -65,7 +65,7 @@ class TesoUserDetail {
data['description'] = this.description; data['description'] = this.description;
data['address'] = this.address; data['address'] = this.address;
data['phonenumber'] = this.phonenumber; data['phonenumber'] = this.phonenumber;
data['dateOfBirth'] = this.dateOfBirth.toIso8601String(); data['dateOfBirth'] = this.dateOfBirth!.toIso8601String();
data['thumbnailDp'] = this.thumbnailDp; data['thumbnailDp'] = this.thumbnailDp;
data['email'] = this.email; data['email'] = this.email;
data['gender'] = this.gender; data['gender'] = this.gender;

16
lib/Classes/API Clasess/ThirdPerson.dart

@ -1,12 +1,14 @@
// ignore_for_file: unnecessary_null_comparison
import 'package:teso/Classes/TesoUser.dart'; import 'package:teso/Classes/TesoUser.dart';
import 'Post.dart'; import 'Post.dart';
class ThirdPerson { class ThirdPerson {
TesoUser user; TesoUser? user;
List<Post> posts = <Post>[]; List<Post>? posts = <Post>[];
List following = []; List? following = [];
List friends = []; List? friends = [];
String relation; String? relation;
ThirdPerson({ ThirdPerson({
this.user, this.user,
@ -22,8 +24,8 @@ class ThirdPerson {
return ThirdPerson( return ThirdPerson(
user: json["user"] != null ? TesoUser.fromJSON(json["user"]) : null, user: json["user"] != null ? TesoUser.fromJSON(json["user"]) : null,
posts: adverts != null ? adverts : <Post>[], posts: adverts != null ? adverts : <Post>[],
following: json["following"] as List, following: json["following"] as List?,
friends: json["friends"] as List, friends: json["friends"] as List?,
relation: json["relation"], relation: json["relation"],
); );
} }

6
lib/Classes/API Clasess/TokenHandler.dart

@ -1,9 +1,9 @@
import 'package:teso/Classes/TesoUser.dart'; import 'package:teso/Classes/TesoUser.dart';
class TokenHandler { class TokenHandler {
String tokenTeso; String? tokenTeso;
String tokenFirebase; String? tokenFirebase;
TesoUser user; TesoUser? user;
TokenHandler({this.tokenTeso, this.user, this.tokenFirebase}); TokenHandler({this.tokenTeso, this.user, this.tokenFirebase});

20
lib/Classes/API Clasess/TwitterUser.dart

@ -1,14 +1,14 @@
class TwitterUser { class TwitterUser {
String firstname; String? firstname;
String surname; String? surname;
String email; String? email;
String gender; String? gender;
String username; String? username;
String userGUID; String? userGUID;
String country; String? country;
String pictureUri; String? pictureUri;
String deviceToken; String? deviceToken;
String referralCode; String? referralCode;
TwitterUser( TwitterUser(
{this.firstname, {this.firstname,

12
lib/Classes/API Clasess/UserAuth.dart

@ -1,10 +1,10 @@
class UserAuth { class UserAuth {
String username; String? username;
String password; String? password;
String accountType; String? accountType;
String status; String? status;
String deviceToken; String? deviceToken;
String referralCode; String? referralCode;
UserAuth({ UserAuth({
this.username, this.username,
this.password, this.password,

6
lib/Classes/API Clasess/UserFavCategory.dart

@ -1,7 +1,7 @@
class UserFavCategory { class UserFavCategory {
String userGuid; String? userGuid;
String categoryCode; String? categoryCode;
String countID; String? countID;
UserFavCategory({ UserFavCategory({
this.userGuid, this.userGuid,

6
lib/Classes/API Clasess/UserFinance.dart

@ -1,7 +1,7 @@
class UserFinance { class UserFinance {
String userGUID; String? userGUID;
int gold; int? gold;
int silver; int? silver;
UserFinance({ UserFinance({
this.userGUID, this.userGUID,

10
lib/Classes/ChatMessage.dart

@ -1,9 +1,9 @@
class ChatMessage { class ChatMessage {
String idFrom; String? idFrom;
String idTo; String? idTo;
String content; String? content;
int type; int? type;
DateTime timestamp; DateTime? timestamp;
ChatMessage({ ChatMessage({
this.idFrom, this.idFrom,

4
lib/Classes/ColorFilters.dart

@ -1,8 +1,8 @@
import 'package:flutter/painting.dart'; import 'package:flutter/painting.dart';
class ColorFilter { class ColorFilter {
Color code; Color? code;
String name; String? name;
ColorFilter({ ColorFilter({
this.code, this.code,
this.name, this.name,

2
lib/Classes/Connection.dart

@ -31,7 +31,7 @@ class MyConnectivity {
SharedPreferences prefs = await SharedPreferences.getInstance(); SharedPreferences prefs = await SharedPreferences.getInstance();
Map<String, String> requestHeaders = { Map<String, String> requestHeaders = {
// 'Content-type': 'application/json', // 'Content-type': 'application/json',
'Authorization': prefs.getString("tokensTeso") 'Authorization': prefs.getString("tokensTeso")!
}; };
var register2 = serverLocation + 'serverstatus'; var register2 = serverLocation + 'serverstatus';
var client1 = await http var client1 = await http

14
lib/Classes/Firebase/Comments.dart

@ -1,11 +1,11 @@
class FBComments { class FBComments {
String postID; String? postID;
DateTime timestamp; DateTime? timestamp;
String thumbnail; String? thumbnail;
String commenterID; String? commenterID;
String commenter; String? commenter;
String commentID; String? commentID;
String comment; String? comment;
FBComments( FBComments(
{this.postID, {this.postID,

22
lib/Classes/Firebase/Posts.dart

@ -1,15 +1,15 @@
class FBPosts { class FBPosts {
String postID; String? postID;
DateTime timestamp; DateTime? timestamp;
String playbackID; String? playbackID;
String publisherID; String? publisherID;
String title; String? title;
String assetID; String? assetID;
String rendition; String? rendition;
String aspect; String? aspect;
String campaignID; String? campaignID;
int likes; int? likes;
int comments; int? comments;
FBPosts( FBPosts(
{this.postID, {this.postID,

14
lib/Classes/NotificationSpliter.dart

@ -14,38 +14,31 @@ class NotificationSplitter {
payload.load2 = data["firstname"]; payload.load2 = data["firstname"];
payload.load3 = data["surname"]; payload.load3 = data["surname"];
return payload; return payload;
break;
case "likes": case "likes":
payload.loadID = "TESN000"; payload.loadID = "TESN000";
payload.load1 = data["post"]; payload.load1 = data["post"];
return payload; return payload;
break;
case "comments": case "comments":
payload.loadID = "TESN000"; payload.loadID = "TESN000";
payload.load1 = data["post"]; payload.load1 = data["post"];
return payload; return payload;
break;
case "friendapproval": case "friendapproval":
Provider.of<UserProvider>(context, listen: false).loadFriends(); Provider.of<UserProvider>(context, listen: false).loadFriends();
payload.loadID = "TESN000"; payload.loadID = "TESN000";
return payload; return payload;
break;
case "friendrequest": case "friendrequest":
payload.loadID = "TESN000"; payload.loadID = "TESN000";
return payload; return payload;
break;
case "gifted": case "gifted":
Provider.of<UserProvider>(context, listen: false).getCoupons(); Provider.of<UserProvider>(context, listen: false).getCoupons();
payload.loadID = "TESN000"; payload.loadID = "TESN000";
payload.load1 = data["couponID"]; payload.load1 = data["couponID"];
return payload; return payload;
break;
case "cancellation": case "cancellation":
Provider.of<UserProvider>(context, listen: false).getCoupons(); Provider.of<UserProvider>(context, listen: false).getCoupons();
payload.loadID = "TESN000"; payload.loadID = "TESN000";
payload.load1 = data["couponID"]; payload.load1 = data["couponID"];
return payload; return payload;
break;
case "personalized": case "personalized":
payload.loadID = "TESN000"; payload.loadID = "TESN000";
payload.load1 = data["coupon"]; payload.load1 = data["coupon"];
@ -56,7 +49,6 @@ class NotificationSplitter {
payload.load6 = data["originalPrice"]; payload.load6 = data["originalPrice"];
payload.load7 = data["productName"]; payload.load7 = data["productName"];
return payload; return payload;
break;
case "campaign": case "campaign":
var coup = jsonDecode(data["campaign"]); var coup = jsonDecode(data["campaign"]);
payload.loadID = "TESN005"; payload.loadID = "TESN005";
@ -69,33 +61,27 @@ class NotificationSplitter {
payload.load7 = coup["goldReward"].toString(); payload.load7 = coup["goldReward"].toString();
payload.load8 = coup["startDate"].toString(); payload.load8 = coup["startDate"].toString();
return payload; return payload;
break;
case "reward": case "reward":
payload.loadID = "TESN0R0"; payload.loadID = "TESN0R0";
return payload; return payload;
break;
case "expired": case "expired":
Provider.of<UserProvider>(context, listen: false).getCoupons(); Provider.of<UserProvider>(context, listen: false).getCoupons();
payload.loadID = "TESN000"; payload.loadID = "TESN000";
payload.load1 = data["couponID"]; payload.load1 = data["couponID"];
return payload; return payload;
break;
case "refund": case "refund":
Provider.of<UserProvider>(context, listen: false).getUserInformation(); Provider.of<UserProvider>(context, listen: false).getUserInformation();
payload.loadID = "TESN000"; payload.loadID = "TESN000";
payload.load1 = data["couponID"]; payload.load1 = data["couponID"];
return payload; return payload;
break;
case "coinpurchase": case "coinpurchase":
Provider.of<UserProvider>(context, listen: false).getUserInformation(); Provider.of<UserProvider>(context, listen: false).getUserInformation();
payload.loadID = "TESN000"; payload.loadID = "TESN000";
payload.load1 = data["orderID"]; payload.load1 = data["orderID"];
await closeInAppWebView(); await closeInAppWebView();
return payload; return payload;
break;
default: default:
return payload; return payload;
break;
} }
} }
} }

22
lib/Classes/Payload.dart

@ -1,15 +1,15 @@
class Payload { class Payload {
String loadID; String? loadID;
String load1; String? load1;
String load2; String? load2;
String load3; String? load3;
String load4; String? load4;
String load5; String? load5;
String load6; String? load6;
String load7; String? load7;
String load8; String? load8;
String load9; String? load9;
String load10; String? load10;
Payload({ Payload({
this.load1, this.load1,

16
lib/Classes/Product.dart

@ -1,12 +1,12 @@
class Product { class Product {
String itemID; String? itemID;
String name; String? name;
String shopName; String? shopName;
String shopLocation; String? shopLocation;
String country; String? country;
String duration; String? duration;
String adShort; String? adShort;
String adFull; String? adFull;
Product( Product(
{this.itemID, {this.itemID,

6
lib/Classes/QRClass.dart

@ -1,7 +1,7 @@
class QRClass { class QRClass {
String code; String? code;
String type; String? type;
List rawBytes; List? rawBytes;
QRClass({ QRClass({
this.code, this.code,

10
lib/Classes/ReportedContent.dart

@ -1,11 +1,11 @@
import 'dart:core'; import 'dart:core';
class ReportedContent { class ReportedContent {
String userGuid; String? userGuid;
String postID; String? postID;
String publisherID; String? publisherID;
DateTime timestamp; DateTime? timestamp;
int report; int? report;
ReportedContent( ReportedContent(
{this.postID, {this.postID,

26
lib/Classes/TesoShop.dart

@ -1,17 +1,17 @@
class TesoShop { class TesoShop {
String shopID; String? shopID;
String shopName; String? shopName;
String shopTin; String? shopTin;
String shopAddress; String? shopAddress;
double latitude; double? latitude;
double longitude; double? longitude;
String shopPhone; String? shopPhone;
DateTime dateEst; DateTime? dateEst;
String handle; String? handle;
String categoryShop; String? categoryShop;
String shopDescription; String? shopDescription;
String logo; String? logo;
String email; String? email;
TesoShop( TesoShop(
{this.shopID, {this.shopID,

34
lib/Classes/TesoUser.dart

@ -1,23 +1,23 @@
import 'API Clasess/TesoUserDetail.dart'; import 'API Clasess/TesoUserDetail.dart';
class TesoUser { class TesoUser {
String userGUID; String? userGUID;
String username; String? username;
String firstname; String? firstname;
String lastname; String? lastname;
String description; String? description;
String email; String? email;
String phonenumber; String? phonenumber;
String address; String? address;
String displaypicture; String? displaypicture;
DateTime dateOfBirth; DateTime? dateOfBirth;
// ignore: non_constant_identifier_names // ignore: non_constant_identifier_names
String thumbnail_dp; String? thumbnail_dp;
String gold; String? gold;
String silver; String? silver;
String friends; String? friends;
String gender; String? gender;
String country; String? country;
TesoUser( TesoUser(
{this.userGUID, {this.userGUID,
@ -66,7 +66,7 @@ class TesoUser {
data['lastname'] = this.lastname; data['lastname'] = this.lastname;
data['description'] = this.description; data['description'] = this.description;
data['address'] = this.address; data['address'] = this.address;
data["dateOfBirth"] = this.dateOfBirth.toIso8601String(); data["dateOfBirth"] = this.dateOfBirth!.toIso8601String();
data['phonenumber'] = this.phonenumber; data['phonenumber'] = this.phonenumber;
data['thumbnail_dp'] = this.thumbnail_dp; data['thumbnail_dp'] = this.thumbnail_dp;
data['email'] = this.email; data['email'] = this.email;

6
lib/Classes/TextE.dart

@ -1,9 +1,9 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class Textted { class Textted {
String text; String? text;
TextStyle textStyle; TextStyle? textStyle;
TextAlign textAlign; TextAlign? textAlign;
Textted({ Textted({
this.text, this.text,

6
lib/Classes/categories.dart

@ -1,7 +1,7 @@
class Category { class Category {
String id; String? id;
String name; String? name;
String image; String? image;
Category({this.id, this.name, this.image}); Category({this.id, this.name, this.image});
Category.fromJson(Map<String, dynamic> json) Category.fromJson(Map<String, dynamic> json)
: id = json['catid'], : id = json['catid'],

14
lib/Classes/customLoginButton.dart

@ -4,13 +4,13 @@ class CustomLoginButton extends StatelessWidget {
final Widget child; final Widget child;
final double width; final double width;
final double height; final double height;
final Function onPressed; final Function? onPressed;
final String icon; final String? icon;
final Color color; final Color? color;
const CustomLoginButton({ const CustomLoginButton({
Key key, Key? key,
@required this.child, required this.child,
this.width = double.infinity, this.width = double.infinity,
this.height = 50.0, this.height = 50.0,
this.onPressed, this.onPressed,
@ -67,12 +67,12 @@ class CustomLoginButton extends StatelessWidget {
), ),
), ),
child: InkWell( child: InkWell(
onTap: onPressed, onTap: onPressed as void Function()?,
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly, mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [ children: [
Image( Image(
image: AssetImage(icon), image: AssetImage(icon!),
height: 20, height: 20,
), ),
child child

12
lib/Classes/customTesoButton.dart

@ -2,14 +2,14 @@ import 'package:flutter/material.dart';
class RaisedGradientButton extends StatelessWidget { class RaisedGradientButton extends StatelessWidget {
final Widget child; final Widget child;
final Gradient gradient; final Gradient? gradient;
final double width; final double width;
final double height; final double height;
final Function onPressed; final Function? onPressed;
const RaisedGradientButton({ const RaisedGradientButton({
Key key, Key? key,
@required this.child, required this.child,
this.gradient, this.gradient,
this.width = double.infinity, this.width = double.infinity,
this.height = 50.0, this.height = 50.0,
@ -30,7 +30,7 @@ class RaisedGradientButton extends StatelessWidget {
height: 40.0, height: 40.0,
decoration: BoxDecoration(gradient: gradient, boxShadow: [ decoration: BoxDecoration(gradient: gradient, boxShadow: [
BoxShadow( BoxShadow(
color: Colors.grey[500], color: Colors.grey[500]!,
offset: Offset(0.0, 1.5), offset: Offset(0.0, 1.5),
blurRadius: 1.5, blurRadius: 1.5,
), ),
@ -43,7 +43,7 @@ class RaisedGradientButton extends StatelessWidget {
), ),
color: Colors.transparent, color: Colors.transparent,
child: InkWell( child: InkWell(
onTap: onPressed, onTap: onPressed as void Function()?,
child: Center( child: Center(
child: child, child: child,
)), )),

18
lib/Classes/friend.dart

@ -1,13 +1,13 @@
class Friend { class Friend {
String userID; String? userID;
String firstname; String? firstname;
String surname; String? surname;
String dateOfBirth; String? dateOfBirth;
String thumbnail; String? thumbnail;
String description; String? description;
String posts; String? posts;
String following; String? following;
String friendsNum; String? friendsNum;
Friend( Friend(
{this.userID, {this.userID,

18
lib/Classes/inbox.dart

@ -1,13 +1,13 @@
class InboxMessage { class InboxMessage {
String userID; String? userID;
String firstname; String? firstname;
String surname; String? surname;
String messageID; String? messageID;
String message; String? message;
String thumbnail; String? thumbnail;
String bio; String? bio;
DateTime timestamp; DateTime? timestamp;
int unread; int? unread;
InboxMessage( InboxMessage(
{this.userID, {this.userID,

24
lib/Notifications/NotificationPlugin.dart

@ -8,11 +8,11 @@ import 'package:rxdart/subjects.dart';
class NotificationPlugin { class NotificationPlugin {
// //
FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin; late FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin;
final BehaviorSubject<ReceivedNotification> final BehaviorSubject<ReceivedNotification>
didReceivedLocalNotificationSubject = didReceivedLocalNotificationSubject =
BehaviorSubject<ReceivedNotification>(); BehaviorSubject<ReceivedNotification>();
var initializationSettings; late var initializationSettings;
NotificationPlugin._() { NotificationPlugin._() {
init(); init();
@ -48,7 +48,7 @@ class NotificationPlugin {
_requestIOSPermission() { _requestIOSPermission() {
flutterLocalNotificationsPlugin flutterLocalNotificationsPlugin
.resolvePlatformSpecificImplementation< .resolvePlatformSpecificImplementation<
IOSFlutterLocalNotificationsPlugin>() IOSFlutterLocalNotificationsPlugin>()!
.requestPermissions( .requestPermissions(
alert: true, alert: true,
badge: true, badge: true,
@ -64,13 +64,13 @@ class NotificationPlugin {
setOnNotificationClick(Function onNotificationClick) async { setOnNotificationClick(Function onNotificationClick) async {
await flutterLocalNotificationsPlugin.initialize(initializationSettings, await flutterLocalNotificationsPlugin.initialize(initializationSettings,
onSelectNotification: (String payload) async { onSelectNotification: (String? payload) async {
onNotificationClick(payload); onNotificationClick(payload);
}); });
} }
Future<void> showNotification( Future<void> showNotification(
String title, String body, String payload) async { String? title, String? body, String payload) async {
var androidChannelSpecifics = AndroidNotificationDetails( var androidChannelSpecifics = AndroidNotificationDetails(
'CHANNEL_ID', 'CHANNEL_ID',
'CHANNEL_NAME', 'CHANNEL_NAME',
@ -258,14 +258,14 @@ NotificationPlugin notificationPlugin = NotificationPlugin._();
class ReceivedNotification { class ReceivedNotification {
final int id; final int id;
final String title; final String? title;
final String body; final String? body;
final String payload; final String? payload;
ReceivedNotification({ ReceivedNotification({
@required this.id, required this.id,
@required this.title, required this.title,
@required this.body, required this.body,
@required this.payload, required this.payload,
}); });
} }

76
lib/Pages/BusinessLocator.dart

@ -23,27 +23,27 @@ class BusinessLocator extends StatefulWidget {
} }
class _BusinessLocatorState extends State<BusinessLocator> { class _BusinessLocatorState extends State<BusinessLocator> {
String mapstyle; String? mapstyle;
var _future; var _future;
static LatLng _initialPosition; static LatLng? _initialPosition;
Set<Marker> markers = {}; Set<Marker> markers = {};
List<TesoShop> shops; List<TesoShop>? shops;
GoogleMapController mapController; GoogleMapController? mapController;
static const double CAMERA_ZOOM = 13.499910354614258; static const double CAMERA_ZOOM = 13.499910354614258;
bool routing = false; bool routing = false;
List<LatLng> polylineCoordinates = []; List<LatLng> polylineCoordinates = [];
Map<PolylineId, Polyline> polylines = {}; Map<PolylineId, Polyline> polylines = {};
String selectedshop = ""; String? selectedshop = "";
Location location = Location(); Location location = Location();
String routingMessage = "Finding shops...."; String routingMessage = "Finding shops....";
LocationData _location; late LocationData _location;
String _error; String? _error;
String _placeDistance; String? _placeDistance;
final startAddressController = TextEditingController(); final startAddressController = TextEditingController();
final destinationAddressController = TextEditingController(); final destinationAddressController = TextEditingController();
bool ios = false; bool ios = false;
Future<LatLng> _determinePosition(context) async { Future<LatLng?> _determinePosition(context) async {
setState(() { setState(() {
_error = null; _error = null;
}); });
@ -51,7 +51,7 @@ class _BusinessLocatorState extends State<BusinessLocator> {
final LocationData _locationResult = await location.getLocation(); final LocationData _locationResult = await location.getLocation();
setState(() { setState(() {
_location = _locationResult; _location = _locationResult;
_initialPosition = LatLng(_location.latitude, _location.longitude); _initialPosition = LatLng(_location.latitude!, _location.longitude!);
}); });
await getLocations(); await getLocations();
@ -68,7 +68,7 @@ class _BusinessLocatorState extends State<BusinessLocator> {
SharedPreferences prefs = await SharedPreferences.getInstance(); SharedPreferences prefs = await SharedPreferences.getInstance();
Map<String, String> requestHeaders = { Map<String, String> requestHeaders = {
'Content-type': 'application/json', 'Content-type': 'application/json',
'Authorization': prefs.getString('tokensTeso') 'Authorization': prefs.getString('tokensTeso')!
}; };
var register2 = serverLocation + 'tesobusiness/available'; var register2 = serverLocation + 'tesobusiness/available';
@ -84,12 +84,12 @@ class _BusinessLocatorState extends State<BusinessLocator> {
} }
} }
if (shops.length > 0 && shops != null) if (shops!.length > 0 && shops != null)
shops.forEach((element) { shops!.forEach((element) {
MarkerId markerId = MarkerId(element.shopID); MarkerId markerId = MarkerId(element.shopID!);
Marker marker = Marker( Marker marker = Marker(
markerId: markerId, markerId: markerId,
position: LatLng(element.latitude, element.longitude), position: LatLng(element.latitude!, element.longitude!),
icon: BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueCyan), icon: BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueCyan),
infoWindow: InfoWindow( infoWindow: InfoWindow(
title: element.shopName, title: element.shopName,
@ -118,7 +118,7 @@ class _BusinessLocatorState extends State<BusinessLocator> {
super.initState(); super.initState();
ios = Platform.isIOS; ios = Platform.isIOS;
SharedPreferences.getInstance().then((prefs) { SharedPreferences.getInstance().then((prefs) {
String currentTheme = prefs.getString("theme"); String? currentTheme = prefs.getString("theme");
if (currentTheme == "light") { if (currentTheme == "light") {
rootBundle.loadString('assets/styles/light.txt').then((string) { rootBundle.loadString('assets/styles/light.txt').then((string) {
mapstyle = string; mapstyle = string;
@ -132,7 +132,7 @@ class _BusinessLocatorState extends State<BusinessLocator> {
_future = _determinePosition(context); _future = _determinePosition(context);
location.onLocationChanged.listen((LocationData cLoc) { location.onLocationChanged.listen((LocationData cLoc) {
_initialPosition = LatLng(cLoc.latitude, cLoc.longitude); _initialPosition = LatLng(cLoc.latitude!, cLoc.longitude!);
}); });
} }
@ -140,10 +140,10 @@ class _BusinessLocatorState extends State<BusinessLocator> {
Position _northeastCoordinates; Position _northeastCoordinates;
Position _southwestCoordinates; Position _southwestCoordinates;
MarkerId markerId = MarkerId(tesoShop.shopName + " Location"); MarkerId markerId = MarkerId(tesoShop.shopName! + " Location");
Marker marker = Marker( Marker marker = Marker(
markerId: markerId, markerId: markerId,
position: LatLng(tesoShop.latitude, tesoShop.longitude), position: LatLng(tesoShop.latitude!, tesoShop.longitude!),
icon: BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueGreen), icon: BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueGreen),
infoWindow: InfoWindow( infoWindow: InfoWindow(
title: tesoShop.shopName, title: tesoShop.shopName,
@ -155,12 +155,12 @@ class _BusinessLocatorState extends State<BusinessLocator> {
markers.clear(); markers.clear();
markers.add(marker); markers.add(marker);
selectedshop = tesoShop.shopName; selectedshop = tesoShop.shopName;
destinationAddressController.text = selectedshop; destinationAddressController.text = selectedshop!;
}); });
Position user = Position( Position user = Position(
latitude: _initialPosition.latitude, latitude: _initialPosition!.latitude,
longitude: _initialPosition.longitude, longitude: _initialPosition!.longitude,
accuracy: 100, accuracy: 100,
altitude: 100, altitude: 100,
heading: 100, heading: 100,
@ -168,8 +168,8 @@ class _BusinessLocatorState extends State<BusinessLocator> {
speedAccuracy: 100, speedAccuracy: 100,
timestamp: DateTime.now()); timestamp: DateTime.now());
Position shopLoc = Position( Position shopLoc = Position(
latitude: tesoShop.latitude, latitude: tesoShop.latitude!,
longitude: tesoShop.longitude, longitude: tesoShop.longitude!,
accuracy: 100, accuracy: 100,
altitude: 100, altitude: 100,
heading: 100, heading: 100,
@ -177,7 +177,7 @@ class _BusinessLocatorState extends State<BusinessLocator> {
speedAccuracy: 100, speedAccuracy: 100,
timestamp: DateTime.now()); timestamp: DateTime.now());
if (_initialPosition.latitude <= tesoShop.latitude) { if (_initialPosition!.latitude <= tesoShop.latitude!) {
_southwestCoordinates = user; _southwestCoordinates = user;
_northeastCoordinates = shopLoc; _northeastCoordinates = shopLoc;
} else { } else {
@ -187,7 +187,7 @@ class _BusinessLocatorState extends State<BusinessLocator> {
await createPolylines(user, shopLoc); await createPolylines(user, shopLoc);
_calculateDistance(user, shopLoc); _calculateDistance(user, shopLoc);
mapController.animateCamera( mapController!.animateCamera(
CameraUpdate.newLatLngBounds( CameraUpdate.newLatLngBounds(
LatLngBounds( LatLngBounds(
northeast: LatLng( northeast: LatLng(
@ -248,7 +248,7 @@ class _BusinessLocatorState extends State<BusinessLocator> {
@override @override
void dispose() { void dispose() {
if (mapController != null) mapController.dispose(); if (mapController != null) mapController!.dispose();
super.dispose(); super.dispose();
} }
@ -329,7 +329,7 @@ class _BusinessLocatorState extends State<BusinessLocator> {
myLocationEnabled: true, myLocationEnabled: true,
markers: markers, markers: markers,
initialCameraPosition: CameraPosition( initialCameraPosition: CameraPosition(
target: _initialPosition, target: _initialPosition!,
zoom: CAMERA_ZOOM, zoom: CAMERA_ZOOM,
//bearing: CAMERA_BEARING, //bearing: CAMERA_BEARING,
), ),
@ -377,7 +377,7 @@ class _BusinessLocatorState extends State<BusinessLocator> {
), ),
), ),
Visibility( Visibility(
visible: selectedshop == null || selectedshop.isEmpty visible: selectedshop == null || selectedshop!.isEmpty
? false ? false
: true, : true,
child: Align( child: Align(
@ -489,7 +489,7 @@ class _BusinessLocatorState extends State<BusinessLocator> {
double _coordinateDistance(lat1, lon1, lat2, lon2) { double _coordinateDistance(lat1, lon1, lat2, lon2) {
var p = 0.017453292519943295; var p = 0.017453292519943295;
var c = cos; var c = cos as double Function(num?);
var a = 0.5 - var a = 0.5 -
c((lat2 - lat1) * p) / 2 + c((lat2 - lat1) * p) / 2 +
c(lat1 * p) * c(lat2 * p) * (1 - c((lon2 - lon1) * p)) / 2; c(lat1 * p) * c(lat2 * p) * (1 - c((lon2 - lon1) * p)) / 2;
@ -522,7 +522,7 @@ class _BusinessLocatorState extends State<BusinessLocator> {
// Accommodate the two locations within the // Accommodate the two locations within the
// camera view of the map // camera view of the map
mapController.animateCamera( mapController!.animateCamera(
CameraUpdate.newLatLngBounds( CameraUpdate.newLatLngBounds(
LatLngBounds( LatLngBounds(
northeast: LatLng(northEastLatitude, northEastLongitude), northeast: LatLng(northEastLatitude, northEastLongitude),
@ -569,13 +569,13 @@ class _BusinessLocatorState extends State<BusinessLocator> {
} }
Widget _textField({ Widget _textField({
TextEditingController controller, TextEditingController? controller,
FocusNode focusNode, FocusNode? focusNode,
String label, String? label,
String hint, String? hint,
double width, required double width,
Icon prefixIcon, Icon? prefixIcon,
Widget suffixIcon, Widget? suffixIcon,
}) { }) {
return Container( return Container(
width: width * 0.8, width: width * 0.8,

10
lib/Pages/DesireComeTrue.dart

@ -17,8 +17,8 @@ class DesireComeTrue extends StatefulWidget {
class _DesireComeTrueState extends State<DesireComeTrue> class _DesireComeTrueState extends State<DesireComeTrue>
with TickerProviderStateMixin { with TickerProviderStateMixin {
AnimationController _controller; late AnimationController _controller;
Animation<double> _fabScale; late Animation<double> _fabScale;
List<Desire> desires = <Desire>[]; List<Desire> desires = <Desire>[];
@override @override
@ -35,9 +35,9 @@ class _DesireComeTrueState extends State<DesireComeTrue>
}); });
SharedPreferences.getInstance().then((value) { SharedPreferences.getInstance().then((value) {
var jiffy = Jiffy()..add(months: 1); var jiffy = Jiffy()..add(months: 1);
if (value.getString("desire" + jiffy.format("MMMM, yyyy")).isNotEmpty) { if (value.getString("desire" + jiffy.format("MMMM, yyyy"))!.isNotEmpty) {
var desired = var desired =
jsonDecode(value.getString("desire" + jiffy.format("MMMM, yyyy"))); jsonDecode(value.getString("desire" + jiffy.format("MMMM, yyyy"))!);
setState(() { setState(() {
desires = List<Desire>.from( desires = List<Desire>.from(
desired.map((model) => Desire.fromJSON(model)).toList()); desired.map((model) => Desire.fromJSON(model)).toList());
@ -53,7 +53,7 @@ class _DesireComeTrueState extends State<DesireComeTrue>
SharedPreferences prefs = await SharedPreferences.getInstance(); SharedPreferences prefs = await SharedPreferences.getInstance();
Map<String, String> requestHeaders = { Map<String, String> requestHeaders = {
'Content-type': 'application/json', 'Content-type': 'application/json',
'Authorization': prefs.getString('tokensTeso') 'Authorization': prefs.getString('tokensTeso')!
}; };
var register2 = serverLocation + 'monthly-desires/submit-newdesire'; var register2 = serverLocation + 'monthly-desires/submit-newdesire';

4
lib/Pages/LandingPage.dart

@ -14,9 +14,9 @@ import 'package:teso/util/consts.dart';
import 'PageWidgets/Settings/terms.dart'; import 'PageWidgets/Settings/terms.dart';
class LandingPage extends StatefulWidget { class LandingPage extends StatefulWidget {
final List<CameraDescription> connectedCameras; final List<CameraDescription>? connectedCameras;
const LandingPage({Key key, this.connectedCameras}) : super(key: key); const LandingPage({Key? key, this.connectedCameras}) : super(key: key);
@override @override
_LandingPageState createState() => _LandingPageState(); _LandingPageState createState() => _LandingPageState();
} }

14
lib/Pages/PageWidgets/Alerts/AlertTile.dart

@ -4,12 +4,12 @@ import 'package:teso/util/consts.dart';
import 'package:time_elapsed/time_elapsed.dart'; import 'package:time_elapsed/time_elapsed.dart';
buildAlert( buildAlert(
{BuildContext context, {required BuildContext context,
DateTime timestamp, required DateTime timestamp,
String description, required String description,
Icon icons, Icon? icons,
String thumbnail, String? thumbnail,
String username}) { String? username}) {
return Padding( return Padding(
padding: EdgeInsets.symmetric(horizontal: 25.0), padding: EdgeInsets.symmetric(horizontal: 25.0),
child: Material( child: Material(
@ -85,7 +85,7 @@ buildAlert(
color: Color.fromRGBO(0, 0, 0, 0.4), color: Color.fromRGBO(0, 0, 0, 0.4),
child: Center( child: Center(
child: Text( child: Text(
username.characters username!.characters
.characterAt(0) .characterAt(0)
.toString() .toString()
.toUpperCase(), .toUpperCase(),

10
lib/Pages/PageWidgets/Alerts/Redeemable.dart

@ -6,11 +6,11 @@ import 'package:teso/util/consts.dart';
import 'package:time_elapsed/time_elapsed.dart'; import 'package:time_elapsed/time_elapsed.dart';
buildRedeemableAlert( buildRedeemableAlert(
{BuildContext context, {required BuildContext context,
DateTime timestamp, required DateTime timestamp,
Icon icons, Icon? icons,
String thumbnail, required String thumbnail,
String message}) { required String message}) {
return Padding( return Padding(
padding: EdgeInsets.symmetric(horizontal: 30.0), padding: EdgeInsets.symmetric(horizontal: 30.0),
child: Material( child: Material(

2
lib/Pages/PageWidgets/Alerts/Refund.dart

@ -5,7 +5,7 @@ import 'package:teso/util/consts.dart';
import 'package:time_elapsed/time_elapsed.dart'; import 'package:time_elapsed/time_elapsed.dart';
buildRefundAlert( buildRefundAlert(
{BuildContext context, DateTime timestamp, Icon icons, String message}) { {required BuildContext context, required DateTime timestamp, Icon? icons, required String message}) {
return Padding( return Padding(
padding: EdgeInsets.symmetric(horizontal: 30.0), padding: EdgeInsets.symmetric(horizontal: 30.0),
child: Material( child: Material(

10
lib/Pages/PageWidgets/Alerts/header.dart

@ -7,10 +7,10 @@ import 'package:flutter/material.dart';
buildNotficationHeader( buildNotficationHeader(
BuildContext context, BuildContext context,
Color fcurrentColor, Color? fcurrentColor,
Color fcurrentColor1, Color? fcurrentColor1,
Color fTextColor1, Color fTextColor1,
Color fTextColor2, Color? fTextColor2,
Function navigationTapped, Function navigationTapped,
bool status, bool status,
TesoUser user) { TesoUser user) {
@ -40,14 +40,14 @@ buildNotficationHeader(
child: user.thumbnail_dp == null child: user.thumbnail_dp == null
? Center( ? Center(
child: Text( child: Text(
user.username.characters user.username!.characters
.characterAt(0) .characterAt(0)
.toString() .toString()
.toUpperCase(), .toUpperCase(),
), ),
) )
: CachedNetworkImage( : CachedNetworkImage(
imageUrl: userdpURL + user.thumbnail_dp, imageUrl: userdpURL + user.thumbnail_dp!,
imageBuilder: (context, imageProvider) => FadeInImage( imageBuilder: (context, imageProvider) => FadeInImage(
height: 90, height: 90,
width: 90, width: 90,

14
lib/Pages/PageWidgets/Alerts/personalizedCoupon.dart

@ -6,13 +6,13 @@ import 'package:teso/util/consts.dart';
import 'package:time_elapsed/time_elapsed.dart'; import 'package:time_elapsed/time_elapsed.dart';
buildPersonalizedAlert( buildPersonalizedAlert(
{BuildContext context, {required BuildContext context,
DateTime timestamp, required DateTime timestamp,
Icon icons, Icon? icons,
String thumbnail, required String thumbnail,
String message, required String message,
Function accept, Function? accept,
Function decline}) { Function? decline}) {
return Padding( return Padding(
padding: EdgeInsets.symmetric(horizontal: 30.0), padding: EdgeInsets.symmetric(horizontal: 30.0),
child: Material( child: Material(

10
lib/Pages/PageWidgets/Alerts/post.dart

@ -4,11 +4,11 @@ import 'package:teso/util/consts.dart';
import 'package:time_elapsed/time_elapsed.dart'; import 'package:time_elapsed/time_elapsed.dart';
buildPostAlert( buildPostAlert(
{BuildContext context, {required BuildContext context,
DateTime timestamp, required DateTime timestamp,
Icon icons, Icon? icons,
String thumbnail, String? thumbnail,
String message}) { required String message}) {
return Padding( return Padding(
padding: EdgeInsets.symmetric(horizontal: 30.0), padding: EdgeInsets.symmetric(horizontal: 30.0),
child: Material( child: Material(

18
lib/Pages/PageWidgets/Alerts/requestTile.dart

@ -5,14 +5,14 @@ import 'package:teso/util/consts.dart';
import 'package:teso/Classes/customTesoButton.dart'; import 'package:teso/Classes/customTesoButton.dart';
buildRequest( buildRequest(
{BuildContext context, {required BuildContext context,
DateTime timestamp, required DateTime timestamp,
String description, required String description,
Icon icons, Icon? icons,
String thumbnail, String? thumbnail,
String username, String? username,
Function approve, Function? approve,
Function decline}) { Function? decline}) {
return Padding( return Padding(
padding: EdgeInsets.symmetric(horizontal: 30.0, vertical: 8.0), padding: EdgeInsets.symmetric(horizontal: 30.0, vertical: 8.0),
child: Material( child: Material(
@ -159,7 +159,7 @@ buildRequest(
color: Color.fromRGBO(0, 0, 0, 0.4), color: Color.fromRGBO(0, 0, 0, 0.4),
child: Center( child: Center(
child: Text( child: Text(
username.characters username!.characters
.characterAt(0) .characterAt(0)
.toString() .toString()
.toUpperCase(), .toUpperCase(),

20
lib/Pages/PageWidgets/BusinessProfile/BusinessHead.dart

@ -5,11 +5,11 @@ import 'package:flutter/material.dart';
import 'package:teso/Classes/TesoShop.dart'; import 'package:teso/Classes/TesoShop.dart';
buildHead( buildHead(
{BuildContext context, {required BuildContext context,
TesoShop shopSelected, required TesoShop shopSelected,
int products, required int products,
int subscribers, required int subscribers,
int coupons}) { required int coupons}) {
return Container( return Container(
// height: MediaQuery.of(context).size.width - // height: MediaQuery.of(context).size.width -
// (MediaQuery.of(context).size.width * 0.40), // (MediaQuery.of(context).size.width * 0.40),
@ -46,7 +46,7 @@ buildHead(
), ),
child: shopSelected.logo != "null" child: shopSelected.logo != "null"
? CachedNetworkImage( ? CachedNetworkImage(
imageUrl: businessLogoURL + shopSelected.logo, imageUrl: businessLogoURL + shopSelected.logo!,
imageBuilder: (context, imageProvider) => imageBuilder: (context, imageProvider) =>
FadeInImage( FadeInImage(
height: 90, height: 90,
@ -133,7 +133,7 @@ buildHead(
left: MediaQuery.of(context).size.width * 0.09, left: MediaQuery.of(context).size.width * 0.09,
), ),
child: Text( child: Text(
shopSelected.shopAddress, shopSelected.shopAddress!,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.w400, fontWeight: FontWeight.w400,
//color: Colors.grey, //color: Colors.grey,
@ -147,7 +147,7 @@ buildHead(
left: MediaQuery.of(context).size.width * 0.09, left: MediaQuery.of(context).size.width * 0.09,
), ),
child: Text( child: Text(
shopSelected.categoryShop, shopSelected.categoryShop!,
textAlign: TextAlign.left, textAlign: TextAlign.left,
style: TextStyle( style: TextStyle(
fontSize: 12, fontSize: 12,
@ -163,8 +163,8 @@ buildHead(
left: MediaQuery.of(context).size.width * 0.09, left: MediaQuery.of(context).size.width * 0.09,
), ),
child: Text( child: Text(
shopSelected.shopDescription.toLowerCase() != "null" shopSelected.shopDescription!.toLowerCase() != "null"
? shopSelected.shopDescription ? shopSelected.shopDescription!
: "", : "",
style: TextStyle( style: TextStyle(
fontSize: 13, fontSize: 13,

6
lib/Pages/PageWidgets/BusinessProfile/BusinessItems.dart

@ -14,7 +14,7 @@ buildItems(BuildContext context, Product product, double height) {
// borderRadius: BorderRadius.circular(30.0), // borderRadius: BorderRadius.circular(30.0),
// ), // ),
child: Hero( child: Hero(
tag: product.productID, tag: product.productID!,
child: GestureDetector( child: GestureDetector(
onTap: () => Navigator.push( onTap: () => Navigator.push(
context, context,
@ -34,7 +34,7 @@ buildItems(BuildContext context, Product product, double height) {
width: double.infinity, width: double.infinity,
height: double.infinity, height: double.infinity,
fit: BoxFit.fill, fit: BoxFit.fill,
image: NetworkImage(productURL + product.productImage), image: NetworkImage(productURL + product.productImage!),
placeholder: AssetImage("assets/images/loading.png"), placeholder: AssetImage("assets/images/loading.png"),
), ),
Container( Container(
@ -49,7 +49,7 @@ buildItems(BuildContext context, Product product, double height) {
width: double.infinity, width: double.infinity,
margin: EdgeInsets.only(bottom: 40), margin: EdgeInsets.only(bottom: 40),
child: Text( child: Text(
product.productName.toUpperCase(), product.productName!.toUpperCase(),
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,

6
lib/Pages/PageWidgets/ChatScreen/header.dart

@ -53,14 +53,14 @@ buildChatHead(BuildContext context, TesoUser user) {
child: user.thumbnail_dp == null child: user.thumbnail_dp == null
? Center( ? Center(
child: Text( child: Text(
user.firstname.characters user.firstname!.characters
.characterAt(0) .characterAt(0)
.toString() .toString()
.toUpperCase(), .toUpperCase(),
), ),
) )
: CachedNetworkImage( : CachedNetworkImage(
imageUrl: userdpURL + user.thumbnail_dp, imageUrl: userdpURL + user.thumbnail_dp!,
imageBuilder: (context, imageProvider) => FadeInImage( imageBuilder: (context, imageProvider) => FadeInImage(
height: 90, height: 90,
width: 90, width: 90,
@ -86,7 +86,7 @@ buildChatHead(BuildContext context, TesoUser user) {
direction: Axis.vertical, direction: Axis.vertical,
children: [ children: [
Text( Text(
user.firstname + " " + user.lastname, user.firstname! + " " + user.lastname!,
style: TextStyle(fontSize: 15), style: TextStyle(fontSize: 15),
textAlign: TextAlign.left, textAlign: TextAlign.left,
), ),

4
lib/Pages/PageWidgets/ChatScreen/recipient.dart

@ -25,12 +25,12 @@ buildRecipient(BuildContext context, ChatMessage message) {
spacing: 10.0, spacing: 10.0,
direction: Axis.horizontal, direction: Axis.horizontal,
children: [ children: [
Text(message.content), Text(message.content!),
Container( Container(
child: Align( child: Align(
alignment: Alignment.bottomRight, alignment: Alignment.bottomRight,
child: Text( child: Text(
TimeElapsed.fromDateTime(message.timestamp), TimeElapsed.fromDateTime(message.timestamp!),
textAlign: TextAlign.right, textAlign: TextAlign.right,
style: TextStyle( style: TextStyle(
fontSize: 10, fontSize: 10,

4
lib/Pages/PageWidgets/ChatScreen/sender.dart

@ -25,12 +25,12 @@ buildSender(BuildContext context, ChatMessage document) {
spacing: 10.0, spacing: 10.0,
direction: Axis.horizontal, direction: Axis.horizontal,
children: [ children: [
Text(document.content), Text(document.content!),
Container( Container(
child: Align( child: Align(
alignment: Alignment.bottomRight, alignment: Alignment.bottomRight,
child: Text( child: Text(
TimeElapsed.fromDateTime(document.timestamp), TimeElapsed.fromDateTime(document.timestamp!),
textAlign: TextAlign.right, textAlign: TextAlign.right,
style: TextStyle( style: TextStyle(
fontSize: 10, fontSize: 10,

2
lib/Pages/PageWidgets/CoinPurchase/AmountInput.dart

@ -1,7 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:teso/util/consts.dart'; import 'package:teso/util/consts.dart';
buildAmount(BuildContext context, TextEditingController user) { buildAmount(BuildContext context, TextEditingController? user) {
return Container( return Container(
width: double.infinity, width: double.infinity,
height: 45, height: 45,

4
lib/Pages/PageWidgets/CoinPurchase/MomoType.dart

@ -1,8 +1,8 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:teso/util/consts.dart'; import 'package:teso/util/consts.dart';
buildType(BuildContext context, String image, String type, Function selected, buildType(BuildContext context, String image, String? type, Function selected,
String tapped) { String? tapped) {
return Container( return Container(
margin: EdgeInsets.all(5), margin: EdgeInsets.all(5),
width: 100, width: 100,

2
lib/Pages/PageWidgets/CoinPurchase/PayGold.dart

@ -1,7 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
payWithGold( payWithGold(
BuildContext context, String type, Function selected, String tapped) { BuildContext context, String type, Function selected, String? tapped) {
return Container( return Container(
margin: EdgeInsets.all(5), margin: EdgeInsets.all(5),
width: 90, width: 90,

2
lib/Pages/PageWidgets/CoinPurchase/SilverAmountInput.dart

@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:teso/util/consts.dart'; import 'package:teso/util/consts.dart';
buildAmount(BuildContext context, TextEditingController user) { buildAmount(BuildContext context, TextEditingController? user) {
return Container( return Container(
width: 100, width: 100,
height: 65, height: 65,

10
lib/Pages/PageWidgets/CoinPurchase/SilverPurchase.dart

@ -4,11 +4,11 @@ import 'package:flutter/material.dart';
import 'package:teso/Pages/Sub_Pages/CoinsPurchase/SilverPurchaseFixed.dart'; import 'package:teso/Pages/Sub_Pages/CoinsPurchase/SilverPurchaseFixed.dart';
buildSilverCard({ buildSilverCard({
BuildContext context, required BuildContext context,
String goldEquivalent, required String goldEquivalent,
String cashEquivalent, required String cashEquivalent,
String funds, required String funds,
TesoUser user, TesoUser? user,
}) { }) {
return Container( return Container(
margin: EdgeInsets.all(10), margin: EdgeInsets.all(10),

2
lib/Pages/PageWidgets/CoinPurchase/phonenumber.dart

@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:teso/util/consts.dart'; import 'package:teso/util/consts.dart';
inputTelNumber(BuildContext context, TextEditingController user) { inputTelNumber(BuildContext context, TextEditingController? user) {
return Container( return Container(
width: double.infinity, width: double.infinity,
height: 45, height: 45,

2
lib/Pages/PageWidgets/CoinPurchase/selector.dart

@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
buildSelector(BuildContext context, String title, double size, buildSelector(BuildContext context, String title, double size,
List<Color> color, Function tapped, Color textColor) { List<Color> color, Function tapped, Color textColor) {
return InkWell( return InkWell(
onTap: tapped, onTap: tapped as void Function()?,
child: Container( child: Container(
width: size - size * 0.55, width: size - size * 0.55,
height: 42.5, height: 42.5,

14
lib/Pages/PageWidgets/Coupons/GiftFriend.dart

@ -3,10 +3,10 @@ import 'package:teso/util/consts.dart';
import 'package:teso/Classes/TesoUser.dart'; import 'package:teso/Classes/TesoUser.dart';
buildGiftRecipient( buildGiftRecipient(
{BuildContext context, {required BuildContext context,
TextEditingController searchkey, TextEditingController? searchkey,
TesoUser friend, TesoUser? friend,
Function loadFriend}) { Function? loadFriend}) {
return Container( return Container(
height: 60.0, height: 60.0,
padding: EdgeInsets.all(10.0), padding: EdgeInsets.all(10.0),
@ -35,7 +35,7 @@ buildGiftRecipient(
: friend.thumbnail_dp == null : friend.thumbnail_dp == null
? Center( ? Center(
child: Text( child: Text(
friend.username.characters friend.username!.characters
.characterAt(0) .characterAt(0)
.toString() .toString()
.toUpperCase(), .toUpperCase(),
@ -45,7 +45,7 @@ buildGiftRecipient(
height: 45, height: 45,
width: 45, width: 45,
fit: BoxFit.fill, fit: BoxFit.fill,
image: NetworkImage(userdpURL + friend.thumbnail_dp), image: NetworkImage(userdpURL + friend.thumbnail_dp!),
placeholder: placeholder:
AssetImage("assets/images/tesoDP/dp1.png"), AssetImage("assets/images/tesoDP/dp1.png"),
), ),
@ -53,7 +53,7 @@ buildGiftRecipient(
), ),
new Expanded( new Expanded(
child: InkWell( child: InkWell(
onTap: loadFriend, onTap: loadFriend as void Function()?,
child: TextField( child: TextField(
autofocus: false, autofocus: false,
enabled: false, enabled: false,

32
lib/Pages/PageWidgets/Coupons/mycoupons.dart

@ -1,3 +1,7 @@
// ignore_for_file: unnecessary_null_comparison
import 'dart:async';
import 'package:cached_network_image/cached_network_image.dart'; import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:location/location.dart'; import 'package:location/location.dart';
@ -44,7 +48,7 @@ buildMyCoupons(BuildContext context, CouponDetails coupon, Function dialog,
bottomRight: Radius.circular(30), bottomRight: Radius.circular(30),
), ),
child: CachedNetworkImage( child: CachedNetworkImage(
imageUrl: productURL + coupon.targetProduct.productImage, imageUrl: productURL + coupon.targetProduct!.productImage!,
imageBuilder: (context, imageProvider) => Image( imageBuilder: (context, imageProvider) => Image(
width: MediaQuery.of(context).size.width * 0.28, width: MediaQuery.of(context).size.width * 0.28,
height: 110, height: 110,
@ -64,7 +68,7 @@ buildMyCoupons(BuildContext context, CouponDetails coupon, Function dialog,
Container( Container(
width: double.infinity, width: double.infinity,
child: Text( child: Text(
"Item Name : " + coupon.targetProduct.productName, "Item Name : " + coupon.targetProduct!.productName!,
style: TextStyle( style: TextStyle(
fontSize: SizeConfig.safeBlockHorizontal * 2.8, fontSize: SizeConfig.safeBlockHorizontal * 2.8,
), ),
@ -73,7 +77,7 @@ buildMyCoupons(BuildContext context, CouponDetails coupon, Function dialog,
Container( Container(
width: double.infinity, width: double.infinity,
child: Text( child: Text(
"Shop Name : " + coupon.issuer.businessName, "Shop Name : " + coupon.issuer!.businessName!,
style: TextStyle( style: TextStyle(
fontSize: SizeConfig.safeBlockHorizontal * 2.8, fontSize: SizeConfig.safeBlockHorizontal * 2.8,
), ),
@ -82,19 +86,19 @@ buildMyCoupons(BuildContext context, CouponDetails coupon, Function dialog,
Container( Container(
width: double.infinity, width: double.infinity,
child: CountdownTimer( child: CountdownTimer(
endTime: coupon.expiration.millisecondsSinceEpoch, endTime: coupon.expiration!.millisecondsSinceEpoch,
widgetBuilder: (context, time) { widgetBuilder: (context, time) {
int day = time.days; int? day = time!.days;
int hours = time.hours; int? hours = time.hours;
int min = time.min; int? min = time.min;
int sec = time.sec; int? sec = time.sec;
if (time.min == null) min = 0; if (time.min == null) min = 0;
if (time.days == null) day = 0; if (time.days == null) day = 0;
if (time.hours == null) hours = 0; if (time.hours == null) hours = 0;
if (time.sec == null) sec = 0; if (time.sec == null) sec = 0;
if (time == null) { if (time == null) {
return Text('Calculating..'); return Text('Calculating..');
} else if (time.days == null || time.days < 1) { } else if (time.days == null || time.days! < 1) {
return Text( return Text(
"Expires in : ${hours}h : ${min}m : ${sec}s", "Expires in : ${hours}h : ${min}m : ${sec}s",
style: TextStyle( style: TextStyle(
@ -130,9 +134,9 @@ buildMyCoupons(BuildContext context, CouponDetails coupon, Function dialog,
width: double.infinity, width: double.infinity,
child: Text( child: Text(
"Pay only : GH¢ " + "Pay only : GH¢ " +
(coupon.targetProduct.unitPrice - (coupon.targetProduct!.unitPrice! -
(coupon.targetProduct.unitPrice * (coupon.targetProduct!.unitPrice! *
(coupon.lowerLimit / 100))) (coupon.lowerLimit! / 100)))
.toStringAsFixed(2), .toStringAsFixed(2),
style: TextStyle( style: TextStyle(
color: Colors.red, color: Colors.red,
@ -162,11 +166,11 @@ buildMyCoupons(BuildContext context, CouponDetails coupon, Function dialog,
PermissionStatus alreadyConsent = PermissionStatus alreadyConsent =
await Location.instance.hasPermission(); await Location.instance.hasPermission();
if (alreadyConsent != PermissionStatus.granted) { if (alreadyConsent != PermissionStatus.granted) {
bool results = await Navigator.push( bool results = await (Navigator.push(
context, context,
PageTransition( PageTransition(
child: ProminentDisclosure(), child: ProminentDisclosure(),
type: PageTransitionType.leftToRight)); type: PageTransitionType.leftToRight)) as FutureOr<bool>);
if (results) { if (results) {
await Location.instance.requestPermission(); await Location.instance.requestPermission();
Navigator.push( Navigator.push(

22
lib/Pages/PageWidgets/Coupons/personalizedDiscount.dart

@ -39,7 +39,7 @@ buildPersonalizedDiscountCoupon(
padding: EdgeInsets.all(8.0), padding: EdgeInsets.all(8.0),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
image: coupon.upperLimit < 50.1 image: coupon.upperLimit! < 50.1
? DecorationImage( ? DecorationImage(
fit: BoxFit.fill, fit: BoxFit.fill,
image: AssetImage("assets/images/blue.png"), image: AssetImage("assets/images/blue.png"),
@ -89,7 +89,7 @@ buildPersonalizedDiscountCoupon(
child: Column( child: Column(
children: [ children: [
Text( Text(
coupon.issuer.businessName.toUpperCase(), coupon.issuer!.businessName!.toUpperCase(),
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: 18, fontSize: 18,
@ -128,7 +128,7 @@ buildPersonalizedDiscountCoupon(
children: [ children: [
Text( Text(
"ORIGINAL PRICE : GH¢ " + "ORIGINAL PRICE : GH¢ " +
coupon.targetProduct.unitPrice.toString(), coupon.targetProduct!.unitPrice.toString(),
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
@ -136,8 +136,8 @@ buildPersonalizedDiscountCoupon(
), ),
Text( Text(
"DISCOUNTED PRICE : GH¢ " + "DISCOUNTED PRICE : GH¢ " +
(coupon.targetProduct.unitPrice- (coupon.targetProduct.unitPrice * (coupon.targetProduct!.unitPrice!- (coupon.targetProduct!.unitPrice! *
(coupon.lowerLimit / 100))) (coupon.lowerLimit! / 100)))
.toStringAsFixed(2), .toStringAsFixed(2),
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
@ -155,7 +155,7 @@ buildPersonalizedDiscountCoupon(
vertical: vertical:
MediaQuery.of(context).size.width * 0.15), MediaQuery.of(context).size.width * 0.15),
child: Text( child: Text(
coupon.targetProduct.productName.toUpperCase(), coupon.targetProduct!.productName!.toUpperCase(),
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
@ -188,8 +188,8 @@ buildPersonalizedDiscountCoupon(
Container( Container(
child: Text( child: Text(
"Pay : GH¢ " + "Pay : GH¢ " +
(coupon.targetProduct.unitPrice- (coupon.targetProduct.unitPrice * (coupon.targetProduct!.unitPrice!- (coupon.targetProduct!.unitPrice! *
(coupon.lowerLimit / 100))) (coupon.lowerLimit! / 100)))
.toStringAsFixed(2) + .toStringAsFixed(2) +
" only", " only",
style: TextStyle( style: TextStyle(
@ -202,7 +202,7 @@ buildPersonalizedDiscountCoupon(
? Container() ? Container()
: Container( : Container(
child: Text( child: Text(
"Condition : " + coupon.condition, "Condition : " + coupon.condition!,
), ),
), ),
], ],
@ -281,9 +281,9 @@ buildPersonalizedDiscountCoupon(
), ),
child: ElevatedButton( child: ElevatedButton(
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
primary: coupon.upperLimit < 50.1 ? tesoBlue : Colors.red, primary: coupon.upperLimit! < 50.1 ? tesoBlue : Colors.red,
), ),
onPressed: acquiring, onPressed: acquiring as void Function()?,
child: Text( child: Text(
"Accept Coupon", "Accept Coupon",
style: TextStyle(color: Colors.white), style: TextStyle(color: Colors.white),

10
lib/Pages/PageWidgets/Coupons/personalizedFreebie.dart

@ -83,7 +83,7 @@ buildPersonalizedFreebieCoupon(
child: Column( child: Column(
children: [ children: [
Text( Text(
coupon.issuer.businessName.toUpperCase(), coupon.issuer!.businessName!.toUpperCase(),
style: TextStyle( style: TextStyle(
color: Colors.black, color: Colors.black,
fontSize: 18, fontSize: 18,
@ -123,7 +123,7 @@ buildPersonalizedFreebieCoupon(
children: [ children: [
Text( Text(
"ORIGINAL PRICE : GH¢ " + "ORIGINAL PRICE : GH¢ " +
coupon.targetProduct.unitPrice coupon.targetProduct!.unitPrice!
.toStringAsFixed(2), .toStringAsFixed(2),
style: TextStyle( style: TextStyle(
color: Colors.black, color: Colors.black,
@ -148,7 +148,7 @@ buildPersonalizedFreebieCoupon(
vertical: vertical:
MediaQuery.of(context).size.width * 0.15), MediaQuery.of(context).size.width * 0.15),
child: Text( child: Text(
coupon.targetProduct.productName.toUpperCase(), coupon.targetProduct!.productName!.toUpperCase(),
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle( style: TextStyle(
color: Colors.black, color: Colors.black,
@ -192,7 +192,7 @@ buildPersonalizedFreebieCoupon(
: Container( : Container(
child: Text( child: Text(
"Condition : " + "Condition : " +
coupon.condition coupon.condition!
.replaceAll('"', ""), .replaceAll('"', ""),
style: TextStyle( style: TextStyle(
color: Colors.black, color: Colors.black,
@ -267,7 +267,7 @@ buildPersonalizedFreebieCoupon(
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
primary: accentMain, primary: accentMain,
), ),
onPressed: acquiring, onPressed: acquiring as void Function()?,
child: Text( child: Text(
"Accept Coupon", "Accept Coupon",
style: TextStyle(color: Colors.white), style: TextStyle(color: Colors.white),

48
lib/Pages/PageWidgets/CouponsList/activeCoupon.dart

@ -46,7 +46,7 @@ buildActiveDiscountCoupon(BuildContext context, CouponDetails coupon,
padding: EdgeInsets.all(8.0), padding: EdgeInsets.all(8.0),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
image: coupon.upperLimit < 50.1 image: coupon.upperLimit! < 50.1
? DecorationImage( ? DecorationImage(
fit: BoxFit.fill, fit: BoxFit.fill,
image: AssetImage("assets/images/blue.png"), image: AssetImage("assets/images/blue.png"),
@ -96,7 +96,7 @@ buildActiveDiscountCoupon(BuildContext context, CouponDetails coupon,
child: Column( child: Column(
children: [ children: [
Text( Text(
coupon.issuer.businessName.toUpperCase(), coupon.issuer!.businessName!.toUpperCase(),
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: 18, fontSize: 18,
@ -135,7 +135,7 @@ buildActiveDiscountCoupon(BuildContext context, CouponDetails coupon,
children: [ children: [
Text( Text(
"ORIGINAL PRICE : GH¢ " + "ORIGINAL PRICE : GH¢ " +
coupon.targetProduct.unitPrice coupon.targetProduct!.unitPrice
.toString(), .toString(),
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
@ -146,10 +146,10 @@ buildActiveDiscountCoupon(BuildContext context, CouponDetails coupon,
), ),
Text( Text(
"DISCOUNTED PRICE : GH¢ " + "DISCOUNTED PRICE : GH¢ " +
(coupon.targetProduct.unitPrice - (coupon.targetProduct!.unitPrice! -
(coupon.targetProduct (coupon.targetProduct!
.unitPrice * .unitPrice! *
(coupon.worth / 100))) (coupon.worth! / 100)))
.toStringAsFixed(2), .toStringAsFixed(2),
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
@ -187,8 +187,8 @@ buildActiveDiscountCoupon(BuildContext context, CouponDetails coupon,
), ),
child: Text( child: Text(
CouponRateCalculator.getRate(coupon CouponRateCalculator.getRate(coupon
.targetProduct.unitPrice * .targetProduct!.unitPrice! *
(coupon.worth / 100)) (coupon.worth! / 100))
.toString(), .toString(),
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
@ -212,7 +212,7 @@ buildActiveDiscountCoupon(BuildContext context, CouponDetails coupon,
vertical: vertical:
MediaQuery.of(context).size.width * 0.15), MediaQuery.of(context).size.width * 0.15),
child: Text( child: Text(
coupon.targetProduct.productName.toUpperCase(), coupon.targetProduct!.productName!.toUpperCase(),
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
@ -245,10 +245,10 @@ buildActiveDiscountCoupon(BuildContext context, CouponDetails coupon,
Container( Container(
child: Text( child: Text(
"Pay : GH¢ " + "Pay : GH¢ " +
(coupon.targetProduct.unitPrice - (coupon.targetProduct!.unitPrice! -
(coupon.targetProduct (coupon.targetProduct!
.unitPrice * .unitPrice! *
(coupon.worth / 100))) (coupon.worth! / 100)))
.toStringAsFixed(2) + .toStringAsFixed(2) +
" only", " only",
style: TextStyle( style: TextStyle(
@ -262,7 +262,7 @@ buildActiveDiscountCoupon(BuildContext context, CouponDetails coupon,
: Container( : Container(
child: Text( child: Text(
"Condition : " + "Condition : " +
coupon.condition coupon.condition!
.replaceAll('"', ""), .replaceAll('"', ""),
), ),
), ),
@ -309,11 +309,11 @@ buildActiveDiscountCoupon(BuildContext context, CouponDetails coupon,
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
Text( Text(
coupon.worth.toStringAsFixed(1) + "%", coupon.worth!.toStringAsFixed(1) + "%",
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: fontSize:
SizeConfig.safeBlockHorizontal * 6, SizeConfig.safeBlockHorizontal * 4,
fontWeight: FontWeight.w900, fontWeight: FontWeight.w900,
), ),
), ),
@ -349,20 +349,20 @@ buildActiveDiscountCoupon(BuildContext context, CouponDetails coupon,
), ),
child: ElevatedButton( child: ElevatedButton(
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
primary: coupon.upperLimit < 50.1 ? tesoBlue : Colors.red, primary: coupon.upperLimit! < 50.1 ? tesoBlue : Colors.red,
), ),
onPressed: () async { onPressed: () async {
CouponsHead couponsHead = new CouponsHead(); CouponsHead couponsHead = new CouponsHead();
couponsHead.businessId = coupon.issuer.businessId; couponsHead.businessId = coupon.issuer!.businessId;
couponsHead.expiration = coupon.expiration; couponsHead.expiration = coupon.expiration;
couponsHead.couponId = coupon.couponId; couponsHead.couponId = coupon.couponId;
couponsHead.quantity = 1; couponsHead.quantity = 1;
couponsHead.state = "active"; couponsHead.state = "active";
couponsHead.lower = coupon.worth; couponsHead.lower = coupon.worth;
couponsHead.upper = coupon.upperLimit; couponsHead.upper = coupon.upperLimit;
couponsHead.targetProduct = coupon.targetProduct.productID; couponsHead.targetProduct = coupon.targetProduct!.productID;
double price = double price =
coupon.targetProduct.unitPrice * (coupon.worth / 100); coupon.targetProduct!.unitPrice! * (coupon.worth! / 100);
int cost = CouponRateCalculator.getRate(price); int cost = CouponRateCalculator.getRate(price);
acquiring(couponsHead, cost); acquiring(couponsHead, cost);
@ -401,9 +401,9 @@ buildActiveDiscountCoupon(BuildContext context, CouponDetails coupon,
child: new RotatedBox( child: new RotatedBox(
quarterTurns: 3, quarterTurns: 3,
child: Slider( child: Slider(
value: coupon.worth, value: coupon.worth!,
min: coupon.lowerLimit, min: coupon.lowerLimit!,
max: coupon.upperLimit, max: coupon.upperLimit!,
divisions: 20, divisions: 20,
activeColor: accentMain, activeColor: accentMain,
inactiveColor: darkAccent, inactiveColor: darkAccent,

18
lib/Pages/PageWidgets/CouponsList/activeFreebieCoupon.dart

@ -87,7 +87,7 @@ buildFreebieCoupon(
child: Column( child: Column(
children: [ children: [
Text( Text(
coupon.issuer.businessName.toUpperCase(), coupon.issuer!.businessName!.toUpperCase(),
style: TextStyle( style: TextStyle(
color: Colors.black, color: Colors.black,
fontSize: 18, fontSize: 18,
@ -128,7 +128,7 @@ buildFreebieCoupon(
children: [ children: [
Text( Text(
"ORIGINAL PRICE : GH¢ " + "ORIGINAL PRICE : GH¢ " +
coupon.targetProduct.unitPrice coupon.targetProduct!.unitPrice!
.toStringAsFixed(2), .toStringAsFixed(2),
style: TextStyle( style: TextStyle(
color: Colors.black, color: Colors.black,
@ -175,8 +175,8 @@ buildFreebieCoupon(
), ),
child: Text( child: Text(
CouponRateCalculator.getRate( CouponRateCalculator.getRate(
coupon.targetProduct.unitPrice * coupon.targetProduct!.unitPrice! *
(coupon.worth / 100)) (coupon.worth! / 100))
.toString(), .toString(),
style: TextStyle( style: TextStyle(
color: Colors.black, color: Colors.black,
@ -201,7 +201,7 @@ buildFreebieCoupon(
vertical: vertical:
MediaQuery.of(context).size.width * 0.15), MediaQuery.of(context).size.width * 0.15),
child: Text( child: Text(
coupon.targetProduct.productName.toUpperCase(), coupon.targetProduct!.productName!.toUpperCase(),
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle( style: TextStyle(
color: Colors.black, color: Colors.black,
@ -245,7 +245,7 @@ buildFreebieCoupon(
: Container( : Container(
child: Text( child: Text(
"Condition : " + "Condition : " +
coupon.condition coupon.condition!
.replaceAll('"', ""), .replaceAll('"', ""),
style: TextStyle( style: TextStyle(
color: Colors.black, color: Colors.black,
@ -322,16 +322,16 @@ buildFreebieCoupon(
), ),
onPressed: () async { onPressed: () async {
CouponsHead couponsHead = new CouponsHead(); CouponsHead couponsHead = new CouponsHead();
couponsHead.businessId = coupon.issuer.businessId; couponsHead.businessId = coupon.issuer!.businessId;
couponsHead.expiration = coupon.expiration; couponsHead.expiration = coupon.expiration;
couponsHead.couponId = coupon.couponId; couponsHead.couponId = coupon.couponId;
couponsHead.quantity = 1; couponsHead.quantity = 1;
couponsHead.state = "active"; couponsHead.state = "active";
couponsHead.lower = 100; couponsHead.lower = 100;
couponsHead.upper = 100; couponsHead.upper = 100;
couponsHead.targetProduct = coupon.targetProduct.productID; couponsHead.targetProduct = coupon.targetProduct!.productID;
double price = double price =
coupon.targetProduct.unitPrice * (couponsHead.lower / 100); coupon.targetProduct!.unitPrice! * (couponsHead.lower! / 100);
int cost = CouponRateCalculator.getRate(price); int cost = CouponRateCalculator.getRate(price);
acquiring(couponsHead, cost); acquiring(couponsHead, cost);
}, },

4
lib/Pages/PageWidgets/DesireComeTrue/DesireTile.dart

@ -37,7 +37,7 @@ buildProductDesire(BuildContext context, Desire item, Function addItem) {
width: MediaQuery.of(context).size.width * 0.28, width: MediaQuery.of(context).size.width * 0.28,
fit: BoxFit.fill, fit: BoxFit.fill,
//controller: controller, //controller: controller,
image: NetworkImage(productURL + item.productImage), image: NetworkImage(productURL + item.productImage!),
), ),
), ),
), ),
@ -48,7 +48,7 @@ buildProductDesire(BuildContext context, Desire item, Function addItem) {
children: [ children: [
Container( Container(
width: double.infinity, width: double.infinity,
child: Text("Item Name : " + item.productName), child: Text("Item Name : " + item.productName!),
), ),
Container( Container(
width: double.infinity, width: double.infinity,

26
lib/Pages/PageWidgets/DesireComeTrue/DesiredItem.dart

@ -4,10 +4,10 @@ import 'package:jiffy/jiffy.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
class DesiredItem extends StatefulWidget { class DesiredItem extends StatefulWidget {
final Desire item; final Desire? item;
final int number; final int? number;
final List<Desire> selected; final List<Desire?>? selected;
const DesiredItem({Key key, this.item, this.number, this.selected}) const DesiredItem({Key? key, this.item, this.number, this.selected})
: super(key: key); : super(key: key);
@override @override
_DesiredItemState createState() => _DesiredItemState(); _DesiredItemState createState() => _DesiredItemState();
@ -15,10 +15,10 @@ class DesiredItem extends StatefulWidget {
class _DesiredItemState extends State<DesiredItem> class _DesiredItemState extends State<DesiredItem>
with TickerProviderStateMixin { with TickerProviderStateMixin {
Animation<double> _spaceWidth; late Animation<double> _spaceWidth;
AnimationController _controller; late AnimationController _controller;
AnimationController _strikeController; late AnimationController _strikeController;
Animation<double> _strikePercent; late Animation<double> _strikePercent;
bool cancelled = false; bool cancelled = false;
@ -77,14 +77,14 @@ class _DesiredItemState extends State<DesiredItem>
removeElement(item) { removeElement(item) {
cancel(); cancel();
if (cancelled) { if (cancelled) {
widget.selected.remove(item); widget.selected!.remove(item);
SharedPreferences.getInstance().then((value) { SharedPreferences.getInstance().then((value) {
var jiffy = Jiffy()..add(months: 1); var jiffy = Jiffy()..add(months: 1);
value.setString( value.setString(
"desire" + jiffy.format("MMMM, yyyy"), widget.selected.toString()); "desire" + jiffy.format("MMMM, yyyy"), widget.selected.toString());
}); });
} else { } else {
widget.selected.insert(widget.number - 1, item); widget.selected!.insert(widget.number! - 1, item);
SharedPreferences.getInstance().then((value) { SharedPreferences.getInstance().then((value) {
var jiffy = Jiffy()..add(months: 1); var jiffy = Jiffy()..add(months: 1);
value.setString( value.setString(
@ -122,10 +122,10 @@ class _DesiredItemState extends State<DesiredItem>
foregroundPainter: foregroundPainter:
StrikeThroughPainter(_strikePercent.value), StrikeThroughPainter(_strikePercent.value),
child: Text( child: Text(
widget.item.productName.length > 20 widget.item!.productName!.length > 20
? widget.item.productName.substring(0, 16) + ? widget.item!.productName!.substring(0, 16) +
"......" "......"
: widget.item.productName, : widget.item!.productName!,
style: _getValidateStyle(true)), style: _getValidateStyle(true)),
), ),
), ),

8
lib/Pages/PageWidgets/Editors/SampleThumbnail.dart

@ -19,7 +19,7 @@ buildFilterThumb(BuildContext context, ColorFilter color, Uint8List thumb) {
width: SizeConfig.safeBlockHorizontal * 25, width: SizeConfig.safeBlockHorizontal * 25,
color: Color.fromRGBO(0, 0, 0, 0.8), color: Color.fromRGBO(0, 0, 0, 0.8),
child: Text( child: Text(
color.name, color.name!,
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle( style: TextStyle(
fontSize: 15, fontSize: 15,
@ -39,9 +39,9 @@ buildFilterThumb(BuildContext context, ColorFilter color, Uint8List thumb) {
Container( Container(
width: SizeConfig.safeBlockHorizontal * 25, width: SizeConfig.safeBlockHorizontal * 25,
height: 93, height: 93,
color: color.name.toLowerCase() == "original" color: color.name!.toLowerCase() == "original"
? color.code.withOpacity(0) ? color.code!.withOpacity(0)
: color.code.withOpacity(0.5), : color.code!.withOpacity(0.5),
), ),
], ],
), ),

10
lib/Pages/PageWidgets/Explore/business.dart

@ -27,7 +27,7 @@ buildBusiness(BuildContext context, TesoShop shop) {
height: MediaQuery.of(context).size.width * 0.60, height: MediaQuery.of(context).size.width * 0.60,
child: Wrap( child: Wrap(
children: [ children: [
shop.logo.toLowerCase() == "null" || shop.logo == null shop.logo!.toLowerCase() == "null" || shop.logo == null
? Image( ? Image(
width: double.infinity, width: double.infinity,
height: MediaQuery.of(context).size.width * 0.45, height: MediaQuery.of(context).size.width * 0.45,
@ -35,7 +35,7 @@ buildBusiness(BuildContext context, TesoShop shop) {
image: AssetImage("assets/images/store.png"), image: AssetImage("assets/images/store.png"),
) )
: CachedNetworkImage( : CachedNetworkImage(
imageUrl: businessLogoURL + shop.logo, imageUrl: businessLogoURL + shop.logo!,
imageBuilder: (context, imageProvider) => FadeInImage( imageBuilder: (context, imageProvider) => FadeInImage(
width: double.infinity, width: double.infinity,
height: MediaQuery.of(context).size.width * 0.45, height: MediaQuery.of(context).size.width * 0.45,
@ -50,7 +50,7 @@ buildBusiness(BuildContext context, TesoShop shop) {
color: Colors.white10, color: Colors.white10,
), ),
child: Text( child: Text(
shop.shopName.toUpperCase(), shop.shopName!.toUpperCase(),
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle( style: TextStyle(
// color: Colors.black45, // color: Colors.black45,
@ -63,7 +63,7 @@ buildBusiness(BuildContext context, TesoShop shop) {
width: MediaQuery.of(context).size.width, width: MediaQuery.of(context).size.width,
color: Colors.white10, color: Colors.white10,
child: Text( child: Text(
shop.categoryShop, shop.categoryShop!,
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
@ -74,7 +74,7 @@ buildBusiness(BuildContext context, TesoShop shop) {
width: MediaQuery.of(context).size.width, width: MediaQuery.of(context).size.width,
color: Colors.white10, color: Colors.white10,
child: Text( child: Text(
shop.shopAddress, shop.shopAddress!,
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,

4
lib/Pages/PageWidgets/Explore/categoriesTile.dart

@ -28,7 +28,7 @@ buildCategory(BuildContext context, Category category) {
Container( Container(
margin: EdgeInsets.all(4.5), margin: EdgeInsets.all(4.5),
child: Image( child: Image(
image: AssetImage(category.image), image: AssetImage(category.image!),
width: 24, width: 24,
height: 24, height: 24,
), ),
@ -38,7 +38,7 @@ buildCategory(BuildContext context, Category category) {
), ),
Container( Container(
margin: EdgeInsets.all(4.5), margin: EdgeInsets.all(4.5),
child: Text(category.name), child: Text(category.name!),
), ),
], ],
), ),

2
lib/Pages/PageWidgets/Explore/popular.dart

@ -58,7 +58,7 @@ buildPopularItem(BuildContext context, Product product) {
), ),
Center( Center(
child: Text( child: Text(
product.productName.toUpperCase(), product.productName!.toUpperCase(),
style: TextStyle( style: TextStyle(
fontSize: SizeConfig.blockSizeHorizontal * 3.5, fontSize: SizeConfig.blockSizeHorizontal * 3.5,
color: Colors.white, color: Colors.white,

2
lib/Pages/PageWidgets/Explore/products.dart

@ -46,7 +46,7 @@ buildProducts(BuildContext context, Product product) {
), ),
child: Center( child: Center(
child: Text( child: Text(
product.productName.toUpperCase(), product.productName!.toUpperCase(),
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,

2
lib/Pages/PageWidgets/Explore/trending.dart

@ -44,7 +44,7 @@ buildTrend(BuildContext context, Product product) {
width: double.infinity, width: double.infinity,
margin: EdgeInsets.only(bottom: 40), margin: EdgeInsets.only(bottom: 40),
child: Text( child: Text(
product.productName.toUpperCase(), product.productName!.toUpperCase(),
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,

8
lib/Pages/PageWidgets/Friends/friendTile.dart

@ -22,14 +22,14 @@ buildFriend(BuildContext context, TesoUser friend) {
child: friend.thumbnail_dp == null child: friend.thumbnail_dp == null
? Center( ? Center(
child: Text( child: Text(
friend.username.characters friend.username!.characters
.characterAt(0) .characterAt(0)
.toString() .toString()
.toUpperCase(), .toUpperCase(),
), ),
) )
: CachedNetworkImage( : CachedNetworkImage(
imageUrl: userdpURL + friend.thumbnail_dp, imageUrl: userdpURL + friend.thumbnail_dp!,
imageBuilder: (context, imageProvider) => Image( imageBuilder: (context, imageProvider) => Image(
height: 90, height: 90,
width: 90, width: 90,
@ -54,7 +54,7 @@ buildFriend(BuildContext context, TesoUser friend) {
child: Align( child: Align(
alignment: Alignment.centerLeft, alignment: Alignment.centerLeft,
child: Text( child: Text(
friend.username, friend.username!,
style: TextStyle( style: TextStyle(
fontSize: 12.5, fontSize: 12.5,
color: Colors.grey, color: Colors.grey,
@ -68,7 +68,7 @@ buildFriend(BuildContext context, TesoUser friend) {
width: MediaQuery.of(context).size.width - width: MediaQuery.of(context).size.width -
(MediaQuery.of(context).size.width * 0.35), (MediaQuery.of(context).size.width * 0.35),
child: Text( child: Text(
friend.firstname + " " + friend.lastname, friend.firstname! + " " + friend.lastname!,
textAlign: TextAlign.left, textAlign: TextAlign.left,
), ),
), ),

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save