diff --git a/android/app/build.gradle b/android/app/build.gradle index f3d50c70..bdabb828 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -35,7 +35,7 @@ configurations.all { } android { - compileSdkVersion 31 + compileSdkVersion 33 sourceSets { main.java.srcDirs += 'src/main/kotlin' diff --git a/android/app/src/main/kotlin/com/cloud/diplomaticquarterapp/FirebaseCloudMessagingPluginRegistrant.kt b/android/app/src/main/kotlin/com/cloud/diplomaticquarterapp/FirebaseCloudMessagingPluginRegistrant.kt index 4e9e8ce1..df471796 100644 --- a/android/app/src/main/kotlin/com/cloud/diplomaticquarterapp/FirebaseCloudMessagingPluginRegistrant.kt +++ b/android/app/src/main/kotlin/com/cloud/diplomaticquarterapp/FirebaseCloudMessagingPluginRegistrant.kt @@ -14,10 +14,12 @@ object FirebaseCloudMessagingPluginRegistrant { private fun alreadyRegisteredWith(registry: PluginRegistry?): Boolean { val key: String? = FirebaseCloudMessagingPluginRegistrant::class.java.canonicalName - if (registry?.hasPlugin(key)!!) { + if (key?.let { registry?.hasPlugin(it) }!!) { return true } - registry.registrarFor(key) + if (registry != null) { + registry.registrarFor(key) + } return false } } \ No newline at end of file diff --git a/android/app/src/main/kotlin/com/cloud/diplomaticquarterapp/utils/FlutterText.kt b/android/app/src/main/kotlin/com/cloud/diplomaticquarterapp/utils/FlutterText.kt index 7274c609..1a650074 100644 --- a/android/app/src/main/kotlin/com/cloud/diplomaticquarterapp/utils/FlutterText.kt +++ b/android/app/src/main/kotlin/com/cloud/diplomaticquarterapp/utils/FlutterText.kt @@ -17,7 +17,7 @@ class FlutterText{ } } - override fun error(errorCode: String?, errorMessage: String?, errorDetails: Any?) { + override fun error(errorCode: String, errorMessage: String?, errorDetails: Any?) { completion(key) require(false){ "'localizedValue' $errorMessage" diff --git a/android/app/src/main/kotlin/com/cloud/diplomaticquarterapp/utils/PlatformBridge.kt b/android/app/src/main/kotlin/com/cloud/diplomaticquarterapp/utils/PlatformBridge.kt index 59eaaf90..9a66f4b3 100644 --- a/android/app/src/main/kotlin/com/cloud/diplomaticquarterapp/utils/PlatformBridge.kt +++ b/android/app/src/main/kotlin/com/cloud/diplomaticquarterapp/utils/PlatformBridge.kt @@ -143,7 +143,7 @@ class PlatformBridge(private var flutterEngine: FlutterEngine, private var mainA } } - override fun error(errorCode: String?, errorMessage: String?, errorDetails: Any?) {} + override fun error(errorCode: String, errorMessage: String?, errorDetails: Any?) {} override fun notImplemented() {} }) diff --git a/android/build.gradle b/android/build.gradle index 1b8d995f..edb27f2a 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,5 +1,5 @@ buildscript { - ext.kotlin_version = '1.6.0' + ext.kotlin_version = '1.7.20' repositories { google() jcenter() diff --git a/ios/Podfile.lock b/ios/Podfile.lock deleted file mode 100644 index f68aa28b..00000000 --- a/ios/Podfile.lock +++ /dev/null @@ -1,520 +0,0 @@ -PODS: - - audio_session (0.0.1): - - Flutter - - barcode_scan2 (0.0.1): - - Flutter - - MTBBarcodeScanner - - SwiftProtobuf - - camera_avfoundation (0.0.1): - - Flutter - - connectivity (0.0.1): - - Flutter - - Reachability - - device_calendar (0.0.1): - - Flutter - - device_info_plus (0.0.1): - - Flutter - - DKImagePickerController/Core (4.3.4): - - DKImagePickerController/ImageDataManager - - DKImagePickerController/Resource - - DKImagePickerController/ImageDataManager (4.3.4) - - DKImagePickerController/PhotoGallery (4.3.4): - - DKImagePickerController/Core - - DKPhotoGallery - - DKImagePickerController/Resource (4.3.4) - - DKPhotoGallery (0.0.17): - - DKPhotoGallery/Core (= 0.0.17) - - DKPhotoGallery/Model (= 0.0.17) - - DKPhotoGallery/Preview (= 0.0.17) - - DKPhotoGallery/Resource (= 0.0.17) - - SDWebImage - - SwiftyGif - - DKPhotoGallery/Core (0.0.17): - - DKPhotoGallery/Model - - DKPhotoGallery/Preview - - SDWebImage - - SwiftyGif - - DKPhotoGallery/Model (0.0.17): - - SDWebImage - - SwiftyGif - - DKPhotoGallery/Preview (0.0.17): - - DKPhotoGallery/Model - - DKPhotoGallery/Resource - - SDWebImage - - SwiftyGif - - DKPhotoGallery/Resource (0.0.17): - - SDWebImage - - SwiftyGif - - file_picker (0.0.1): - - DKImagePickerController/PhotoGallery - - Flutter - - Firebase/Analytics (8.11.0): - - Firebase/Core - - Firebase/Core (8.11.0): - - Firebase/CoreOnly - - FirebaseAnalytics (~> 8.11.0) - - Firebase/CoreOnly (8.11.0): - - FirebaseCore (= 8.11.0) - - Firebase/Messaging (8.11.0): - - Firebase/CoreOnly - - FirebaseMessaging (~> 8.11.0) - - firebase_analytics (8.3.4): - - Firebase/Analytics (= 8.11.0) - - firebase_core - - Flutter - - firebase_core (1.12.0): - - Firebase/CoreOnly (= 8.11.0) - - Flutter - - firebase_messaging (11.2.7): - - Firebase/Messaging (= 8.11.0) - - firebase_core - - Flutter - - FirebaseAnalytics (8.11.0): - - FirebaseAnalytics/AdIdSupport (= 8.11.0) - - FirebaseCore (~> 8.0) - - FirebaseInstallations (~> 8.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.7) - - GoogleUtilities/MethodSwizzler (~> 7.7) - - GoogleUtilities/Network (~> 7.7) - - "GoogleUtilities/NSData+zlib (~> 7.7)" - - nanopb (~> 2.30908.0) - - FirebaseAnalytics/AdIdSupport (8.11.0): - - FirebaseCore (~> 8.0) - - FirebaseInstallations (~> 8.0) - - GoogleAppMeasurement (= 8.11.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.7) - - GoogleUtilities/MethodSwizzler (~> 7.7) - - GoogleUtilities/Network (~> 7.7) - - "GoogleUtilities/NSData+zlib (~> 7.7)" - - nanopb (~> 2.30908.0) - - FirebaseCore (8.11.0): - - FirebaseCoreDiagnostics (~> 8.0) - - GoogleUtilities/Environment (~> 7.7) - - GoogleUtilities/Logger (~> 7.7) - - FirebaseCoreDiagnostics (8.15.0): - - GoogleDataTransport (~> 9.1) - - GoogleUtilities/Environment (~> 7.7) - - GoogleUtilities/Logger (~> 7.7) - - nanopb (~> 2.30908.0) - - FirebaseInstallations (8.15.0): - - FirebaseCore (~> 8.0) - - GoogleUtilities/Environment (~> 7.7) - - GoogleUtilities/UserDefaults (~> 7.7) - - PromisesObjC (< 3.0, >= 1.2) - - FirebaseMessaging (8.11.0): - - FirebaseCore (~> 8.0) - - FirebaseInstallations (~> 8.0) - - GoogleDataTransport (~> 9.1) - - GoogleUtilities/AppDelegateSwizzler (~> 7.7) - - GoogleUtilities/Environment (~> 7.7) - - GoogleUtilities/Reachability (~> 7.7) - - GoogleUtilities/UserDefaults (~> 7.7) - - nanopb (~> 2.30908.0) - - Flutter (1.0.0) - - flutter_app_icon_badge (0.0.1): - - Flutter - - flutter_inappwebview (0.0.1): - - Flutter - - flutter_inappwebview/Core (= 0.0.1) - - OrderedSet (~> 5.0) - - flutter_inappwebview/Core (0.0.1): - - Flutter - - OrderedSet (~> 5.0) - - flutter_ios_voip_kit (0.0.1): - - Flutter - - flutter_local_notifications (0.0.1): - - Flutter - - flutter_native_timezone (0.0.1): - - Flutter - - flutter_nfc_kit (2.0.0): - - Flutter - - flutter_tts (0.0.1): - - Flutter - - flutter_webrtc (0.9.4): - - Flutter - - WebRTC-SDK (= 104.5112.02) - - fluttertoast (0.0.2): - - Flutter - - Toast - - FMDB (2.7.5): - - FMDB/standard (= 2.7.5) - - FMDB/standard (2.7.5) - - geocoding (1.0.5): - - Flutter - - geolocator_apple (1.2.0): - - Flutter - - google_maps_flutter_ios (0.0.1): - - Flutter - - GoogleMaps - - GoogleAppMeasurement (8.11.0): - - GoogleAppMeasurement/AdIdSupport (= 8.11.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.7) - - GoogleUtilities/MethodSwizzler (~> 7.7) - - GoogleUtilities/Network (~> 7.7) - - "GoogleUtilities/NSData+zlib (~> 7.7)" - - nanopb (~> 2.30908.0) - - GoogleAppMeasurement/AdIdSupport (8.11.0): - - GoogleAppMeasurement/WithoutAdIdSupport (= 8.11.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.7) - - GoogleUtilities/MethodSwizzler (~> 7.7) - - GoogleUtilities/Network (~> 7.7) - - "GoogleUtilities/NSData+zlib (~> 7.7)" - - nanopb (~> 2.30908.0) - - GoogleAppMeasurement/WithoutAdIdSupport (8.11.0): - - GoogleUtilities/AppDelegateSwizzler (~> 7.7) - - GoogleUtilities/MethodSwizzler (~> 7.7) - - GoogleUtilities/Network (~> 7.7) - - "GoogleUtilities/NSData+zlib (~> 7.7)" - - nanopb (~> 2.30908.0) - - GoogleDataTransport (9.2.0): - - GoogleUtilities/Environment (~> 7.7) - - nanopb (< 2.30910.0, >= 2.30908.0) - - PromisesObjC (< 3.0, >= 1.2) - - GoogleMaps (7.1.0): - - GoogleMaps/Maps (= 7.1.0) - - GoogleMaps/Base (7.1.0) - - GoogleMaps/Maps (7.1.0): - - GoogleMaps/Base - - GoogleUtilities/AppDelegateSwizzler (7.8.0): - - GoogleUtilities/Environment - - GoogleUtilities/Logger - - GoogleUtilities/Network - - GoogleUtilities/Environment (7.8.0): - - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/Logger (7.8.0): - - GoogleUtilities/Environment - - GoogleUtilities/MethodSwizzler (7.8.0): - - GoogleUtilities/Logger - - GoogleUtilities/Network (7.8.0): - - GoogleUtilities/Logger - - "GoogleUtilities/NSData+zlib" - - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (7.8.0)" - - GoogleUtilities/Reachability (7.8.0): - - GoogleUtilities/Logger - - GoogleUtilities/UserDefaults (7.8.0): - - GoogleUtilities/Logger - - health (1.0.4): - - Flutter - - image_picker_ios (0.0.1): - - Flutter - - in_app_review (0.2.0): - - Flutter - - just_audio (0.0.1): - - Flutter - - local_auth (0.0.1): - - Flutter - - location (0.0.1): - - Flutter - - manage_calendar_events (0.0.1): - - Flutter - - map_launcher (0.0.1): - - Flutter - - maps_launcher (0.0.1): - - Flutter - - MTBBarcodeScanner (5.0.11) - - nanopb (2.30908.0): - - nanopb/decode (= 2.30908.0) - - nanopb/encode (= 2.30908.0) - - nanopb/decode (2.30908.0) - - nanopb/encode (2.30908.0) - - native_device_orientation (0.0.1): - - Flutter - - OpenTok (2.22.3): - - VonageWebRTC (= 84.0.21) - - OrderedSet (5.0.0) - - package_info_plus (0.4.5): - - Flutter - - path_provider_ios (0.0.1): - - Flutter - - "permission_handler (5.1.0+2)": - - Flutter - - PromisesObjC (2.1.1) - - Reachability (3.2) - - screen_brightness_ios (0.0.5): - - Flutter - - SDWebImage (5.13.3): - - SDWebImage/Core (= 5.13.3) - - SDWebImage/Core (5.13.3) - - searchable_dropdown (1.1.1): - - Flutter - - shared_preferences_ios (0.0.1): - - Flutter - - speech_to_text (0.0.1): - - Flutter - - Try - - sqflite (0.0.2): - - Flutter - - FMDB (>= 2.7.5) - - SwiftProtobuf (1.20.1) - - SwiftyGif (5.4.3) - - Toast (4.0.0) - - Try (2.1.1) - - url_launcher_ios (0.0.1): - - Flutter - - vibration (1.7.5): - - Flutter - - video_player_avfoundation (0.0.1): - - Flutter - - VonageWebRTC (84.0.21) - - wakelock (0.0.1): - - Flutter - - WebRTC-SDK (104.5112.02) - - webview_flutter_wkwebview (0.0.1): - - Flutter - - wifi (0.0.1): - - Flutter - -DEPENDENCIES: - - audio_session (from `.symlinks/plugins/audio_session/ios`) - - barcode_scan2 (from `.symlinks/plugins/barcode_scan2/ios`) - - camera_avfoundation (from `.symlinks/plugins/camera_avfoundation/ios`) - - connectivity (from `.symlinks/plugins/connectivity/ios`) - - device_calendar (from `.symlinks/plugins/device_calendar/ios`) - - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) - - file_picker (from `.symlinks/plugins/file_picker/ios`) - - firebase_analytics (from `.symlinks/plugins/firebase_analytics/ios`) - - firebase_core (from `.symlinks/plugins/firebase_core/ios`) - - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) - - Flutter (from `Flutter`) - - flutter_app_icon_badge (from `.symlinks/plugins/flutter_app_icon_badge/ios`) - - flutter_inappwebview (from `.symlinks/plugins/flutter_inappwebview/ios`) - - flutter_ios_voip_kit (from `.symlinks/plugins/flutter_ios_voip_kit/ios`) - - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) - - flutter_native_timezone (from `.symlinks/plugins/flutter_native_timezone/ios`) - - flutter_nfc_kit (from `.symlinks/plugins/flutter_nfc_kit/ios`) - - flutter_tts (from `.symlinks/plugins/flutter_tts/ios`) - - flutter_webrtc (from `.symlinks/plugins/flutter_webrtc/ios`) - - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`) - - geocoding (from `.symlinks/plugins/geocoding/ios`) - - geolocator_apple (from `.symlinks/plugins/geolocator_apple/ios`) - - google_maps_flutter_ios (from `.symlinks/plugins/google_maps_flutter_ios/ios`) - - health (from `.symlinks/plugins/health/ios`) - - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) - - in_app_review (from `.symlinks/plugins/in_app_review/ios`) - - just_audio (from `.symlinks/plugins/just_audio/ios`) - - local_auth (from `.symlinks/plugins/local_auth/ios`) - - location (from `.symlinks/plugins/location/ios`) - - manage_calendar_events (from `.symlinks/plugins/manage_calendar_events/ios`) - - map_launcher (from `.symlinks/plugins/map_launcher/ios`) - - maps_launcher (from `.symlinks/plugins/maps_launcher/ios`) - - native_device_orientation (from `.symlinks/plugins/native_device_orientation/ios`) - - OpenTok (~> 2.22.0) - - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) - - path_provider_ios (from `.symlinks/plugins/path_provider_ios/ios`) - - permission_handler (from `.symlinks/plugins/permission_handler/ios`) - - screen_brightness_ios (from `.symlinks/plugins/screen_brightness_ios/ios`) - - searchable_dropdown (from `.symlinks/plugins/searchable_dropdown/ios`) - - shared_preferences_ios (from `.symlinks/plugins/shared_preferences_ios/ios`) - - speech_to_text (from `.symlinks/plugins/speech_to_text/ios`) - - sqflite (from `.symlinks/plugins/sqflite/ios`) - - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) - - vibration (from `.symlinks/plugins/vibration/ios`) - - video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/ios`) - - wakelock (from `.symlinks/plugins/wakelock/ios`) - - webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/ios`) - - wifi (from `.symlinks/plugins/wifi/ios`) - -SPEC REPOS: - trunk: - - DKImagePickerController - - DKPhotoGallery - - Firebase - - FirebaseAnalytics - - FirebaseCore - - FirebaseCoreDiagnostics - - FirebaseInstallations - - FirebaseMessaging - - FMDB - - GoogleAppMeasurement - - GoogleDataTransport - - GoogleMaps - - GoogleUtilities - - MTBBarcodeScanner - - nanopb - - OpenTok - - OrderedSet - - PromisesObjC - - Reachability - - SDWebImage - - SwiftProtobuf - - SwiftyGif - - Toast - - Try - - VonageWebRTC - - WebRTC-SDK - -EXTERNAL SOURCES: - audio_session: - :path: ".symlinks/plugins/audio_session/ios" - barcode_scan2: - :path: ".symlinks/plugins/barcode_scan2/ios" - camera_avfoundation: - :path: ".symlinks/plugins/camera_avfoundation/ios" - connectivity: - :path: ".symlinks/plugins/connectivity/ios" - device_calendar: - :path: ".symlinks/plugins/device_calendar/ios" - device_info_plus: - :path: ".symlinks/plugins/device_info_plus/ios" - file_picker: - :path: ".symlinks/plugins/file_picker/ios" - firebase_analytics: - :path: ".symlinks/plugins/firebase_analytics/ios" - firebase_core: - :path: ".symlinks/plugins/firebase_core/ios" - firebase_messaging: - :path: ".symlinks/plugins/firebase_messaging/ios" - Flutter: - :path: Flutter - flutter_app_icon_badge: - :path: ".symlinks/plugins/flutter_app_icon_badge/ios" - flutter_inappwebview: - :path: ".symlinks/plugins/flutter_inappwebview/ios" - flutter_ios_voip_kit: - :path: ".symlinks/plugins/flutter_ios_voip_kit/ios" - flutter_local_notifications: - :path: ".symlinks/plugins/flutter_local_notifications/ios" - flutter_native_timezone: - :path: ".symlinks/plugins/flutter_native_timezone/ios" - flutter_nfc_kit: - :path: ".symlinks/plugins/flutter_nfc_kit/ios" - flutter_tts: - :path: ".symlinks/plugins/flutter_tts/ios" - flutter_webrtc: - :path: ".symlinks/plugins/flutter_webrtc/ios" - fluttertoast: - :path: ".symlinks/plugins/fluttertoast/ios" - geocoding: - :path: ".symlinks/plugins/geocoding/ios" - geolocator_apple: - :path: ".symlinks/plugins/geolocator_apple/ios" - google_maps_flutter_ios: - :path: ".symlinks/plugins/google_maps_flutter_ios/ios" - health: - :path: ".symlinks/plugins/health/ios" - image_picker_ios: - :path: ".symlinks/plugins/image_picker_ios/ios" - in_app_review: - :path: ".symlinks/plugins/in_app_review/ios" - just_audio: - :path: ".symlinks/plugins/just_audio/ios" - local_auth: - :path: ".symlinks/plugins/local_auth/ios" - location: - :path: ".symlinks/plugins/location/ios" - manage_calendar_events: - :path: ".symlinks/plugins/manage_calendar_events/ios" - map_launcher: - :path: ".symlinks/plugins/map_launcher/ios" - maps_launcher: - :path: ".symlinks/plugins/maps_launcher/ios" - native_device_orientation: - :path: ".symlinks/plugins/native_device_orientation/ios" - package_info_plus: - :path: ".symlinks/plugins/package_info_plus/ios" - path_provider_ios: - :path: ".symlinks/plugins/path_provider_ios/ios" - permission_handler: - :path: ".symlinks/plugins/permission_handler/ios" - screen_brightness_ios: - :path: ".symlinks/plugins/screen_brightness_ios/ios" - searchable_dropdown: - :path: ".symlinks/plugins/searchable_dropdown/ios" - shared_preferences_ios: - :path: ".symlinks/plugins/shared_preferences_ios/ios" - speech_to_text: - :path: ".symlinks/plugins/speech_to_text/ios" - sqflite: - :path: ".symlinks/plugins/sqflite/ios" - url_launcher_ios: - :path: ".symlinks/plugins/url_launcher_ios/ios" - vibration: - :path: ".symlinks/plugins/vibration/ios" - video_player_avfoundation: - :path: ".symlinks/plugins/video_player_avfoundation/ios" - wakelock: - :path: ".symlinks/plugins/wakelock/ios" - webview_flutter_wkwebview: - :path: ".symlinks/plugins/webview_flutter_wkwebview/ios" - wifi: - :path: ".symlinks/plugins/wifi/ios" - -SPEC CHECKSUMS: - audio_session: 4f3e461722055d21515cf3261b64c973c062f345 - barcode_scan2: 0af2bb63c81b4565aab6cd78278e4c0fa136dbb0 - camera_avfoundation: 07c77549ea54ad95d8581be86617c094a46280d9 - connectivity: c4130b2985d4ef6fd26f9702e886bd5260681467 - device_calendar: 9cb33f88a02e19652ec7b8b122ca778f751b1f7b - device_info_plus: e5c5da33f982a436e103237c0c85f9031142abed - DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac - DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179 - file_picker: 817ab1d8cd2da9d2da412a417162deee3500fc95 - Firebase: 44dd9724c84df18b486639e874f31436eaa9a20c - firebase_analytics: 7f755057493ac8fc386f987c9233a037fb0a8a81 - firebase_core: 443bccfd6aa6b42f07be365b500773dc69db2d87 - firebase_messaging: ad581310adcd3c9ab493d6f394c935af45a8f07b - FirebaseAnalytics: 4e4b13031034e6561ed3bd1d47b6fdabbd6487c6 - FirebaseCore: 2f4f85b453cc8fea4bb2b37e370007d2bcafe3f0 - FirebaseCoreDiagnostics: 92e07a649aeb66352b319d43bdd2ee3942af84cb - FirebaseInstallations: 40bd9054049b2eae9a2c38ef1c3dd213df3605cd - FirebaseMessaging: 02e248e8997f71fa8cc9d78e9d49ec1a701ba14a - Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a - flutter_app_icon_badge: 844847adbd7a1c6f325d6b41b942428981b839cc - flutter_inappwebview: bfd58618f49dc62f2676de690fc6dcda1d6c3721 - flutter_ios_voip_kit: a3b4c5bd0cfda5069b5605a6d1dc60ecf99c6299 - flutter_local_notifications: 0c0b1ae97e741e1521e4c1629a459d04b9aec743 - flutter_native_timezone: 5f05b2de06c9776b4cc70e1839f03de178394d22 - flutter_nfc_kit: 965c98c3fa68f5609f1cc89abb968fe1b8ffdbaa - flutter_tts: 0f492aab6accf87059b72354fcb4ba934304771d - flutter_webrtc: aa130dfe1eca6625c2e2e51ce830abb495bdb06e - fluttertoast: 16fbe6039d06a763f3533670197d01fc73459037 - FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a - geocoding: 32cfcdb16d38d907caaba65e2e42ad10d38bee58 - geolocator_apple: b741765c55dc21950e3e106e8b3584e55cf81ce5 - google_maps_flutter_ios: 66201f392bf62d500f07670a30488a247b9bb5b9 - GoogleAppMeasurement: aa3cb422fab2b05d2efac543a5720d1a85b9dea5 - GoogleDataTransport: 1c8145da7117bd68bbbed00cf304edb6a24de00f - GoogleMaps: bc56ffb0324e345a2d91bac1a64a920f9c8f1b20 - GoogleUtilities: 1d20a6ad97ef46f67bbdec158ce00563a671ebb7 - health: e7a5807e45ec58fe6b89a730c97abc6caafe94a0 - image_picker_ios: b786a5dcf033a8336a657191401bfdf12017dabb - in_app_review: 4a97249f7a2f539a0f294c2d9196b7fe35e49541 - just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa - local_auth: 1740f55d7af0a2e2a8684ce225fe79d8931e808c - location: 3a2eed4dd2fab25e7b7baf2a9efefe82b512d740 - manage_calendar_events: 0338d505ea26cdfd20cd883279bc28afa11eca34 - map_launcher: e325db1261d029ff33e08e03baccffe09593ffea - maps_launcher: 2e5b6a2d664ec6c27f82ffa81b74228d770ab203 - MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb - nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96 - native_device_orientation: 3b4cfc9565a7b879cc4fde282b3e27745e852d0d - OpenTok: 532cdb6254b7bf41c64f8ad761469d6f7a154c7b - OrderedSet: aaeb196f7fef5a9edf55d89760da9176ad40b93c - package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e - path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02 - permission_handler: ccb20a9fad0ee9b1314a52b70b76b473c5f8dab0 - PromisesObjC: ab77feca74fa2823e7af4249b8326368e61014cb - Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96 - screen_brightness_ios: dd110ebfe9602013ea863d59770a9192ebbb7ac7 - SDWebImage: af5bbffef2cde09f148d826f9733dcde1a9414cd - searchable_dropdown: 5058be32fdc5e0481d300ff2087129072e71bd62 - shared_preferences_ios: 548a61f8053b9b8a49ac19c1ffbc8b92c50d68ad - speech_to_text: b43a7d99aef037bd758ed8e45d79bbac035d2dfe - sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904 - SwiftProtobuf: e40a7684079620e84ba522dbaeab0cddb0ec7ffd - SwiftyGif: 6c3eafd0ce693cad58bb63d2b2fb9bacb8552780 - Toast: 91b396c56ee72a5790816f40d3a94dd357abc196 - Try: 5ef669ae832617b3cee58cb2c6f99fb767a4ff96 - url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de - vibration: 7d883d141656a1c1a6d8d238616b2042a51a1241 - video_player_avfoundation: e489aac24ef5cf7af82702979ed16f2a5ef84cff - VonageWebRTC: cfa7aefc3fe6e95bcbd778e8973af90fe9bfd497 - wakelock: d0fc7c864128eac40eba1617cb5264d9c940b46f - WebRTC-SDK: e0589abeb63db07a4ca1f45c82ba0f1a72e61622 - webview_flutter_wkwebview: b7e70ef1ddded7e69c796c7390ee74180182971f - wifi: d7d77c94109e36c4175d845f0a5964eadba71060 - -PODFILE CHECKSUM: 3e4579e32c44e559af72298957c8f84f38c31bd1 - -COCOAPODS: 1.11.3 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 84f27c8d..3c297333 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -8,12 +8,12 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 23082360E87774B6EA7E2BC0 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAFBD6505916BF5922DDF954 /* Pods_Runner.framework */; }; 301C79AE27200D9F0016307B /* OpenTokRemoteVideoFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 301C79AD27200D9F0016307B /* OpenTokRemoteVideoFactory.swift */; }; 301C79B027200DED0016307B /* OpenTokLocalVideoFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 301C79AF27200DED0016307B /* OpenTokLocalVideoFactory.swift */; }; 306FE6C8271D790C002D6EFC /* OpenTokPlatformBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 306FE6C7271D790C002D6EFC /* OpenTokPlatformBridge.swift */; }; 306FE6CB271D8B73002D6EFC /* OpenTok.swift in Sources */ = {isa = PBXBuildFile; fileRef = 306FE6CA271D8B73002D6EFC /* OpenTok.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 459C7EBFE08DE418BBC8A1E0 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 335762278E275DF4071BE8C7 /* Pods_Runner.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 762D738E274E42650063CE73 /* ring_30Sec.caf in Resources */ = {isa = PBXBuildFile; fileRef = 762D738C274E42650063CE73 /* ring_30Sec.caf */; }; 762D738F274E42650063CE73 /* ring_30Sec.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 762D738D274E42650063CE73 /* ring_30Sec.mp3 */; }; @@ -58,14 +58,14 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 215757156BD432313B5BCA8C /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 301C79AD27200D9F0016307B /* OpenTokRemoteVideoFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenTokRemoteVideoFactory.swift; sourceTree = ""; }; 301C79AF27200DED0016307B /* OpenTokLocalVideoFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenTokLocalVideoFactory.swift; sourceTree = ""; }; 306FE6C7271D790C002D6EFC /* OpenTokPlatformBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenTokPlatformBridge.swift; sourceTree = ""; }; 306FE6CA271D8B73002D6EFC /* OpenTok.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenTok.swift; sourceTree = ""; }; - 335762278E275DF4071BE8C7 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 6512C00D7013854F8BCDC4A9 /* 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 = ""; }; + 42B9BBAC687474A27EEA4C2A /* 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 = ""; }; + 480F9F97BA30FF07E347556C /* 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 = ""; }; + 64F59AC87B0A20A766DCEBB5 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 762D738C274E42650063CE73 /* ring_30Sec.caf */ = {isa = PBXFileReference; lastKnownFileType = file; name = ring_30Sec.caf; path = ../../assets/sounds/ring_30Sec.caf; sourceTree = ""; }; @@ -81,7 +81,6 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - B804B2962280EC6806915776 /* 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 = ""; }; E91B538D256AAA6500E96549 /* GlobalHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GlobalHelper.swift; sourceTree = ""; }; E91B538E256AAA6500E96549 /* Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Extensions.swift; sourceTree = ""; }; E91B538F256AAA6500E96549 /* API.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = API.swift; sourceTree = ""; }; @@ -100,6 +99,7 @@ E9C8C135256BACDA00EFFB62 /* HMG_Guest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HMG_Guest.swift; sourceTree = ""; }; E9E27167256E3A4000F49B69 /* LocalizedFromFlutter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalizedFromFlutter.swift; sourceTree = ""; }; E9F7623A25922BCE00FB5CCF /* FlutterConstants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlutterConstants.swift; sourceTree = ""; }; + FAFBD6505916BF5922DDF954 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -110,7 +110,7 @@ 76F2556127F1FFED0062C1CD /* PassKit.framework in Frameworks */, 76815B27275F381C00E66E94 /* HealthKit.framework in Frameworks */, E9620805255C2ED100D3A35D /* NetworkExtension.framework in Frameworks */, - 459C7EBFE08DE418BBC8A1E0 /* Pods_Runner.framework in Frameworks */, + 23082360E87774B6EA7E2BC0 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -133,7 +133,7 @@ 76F2556027F1FFED0062C1CD /* PassKit.framework */, 76815B26275F381C00E66E94 /* HealthKit.framework */, E9620804255C2ED100D3A35D /* NetworkExtension.framework */, - 335762278E275DF4071BE8C7 /* Pods_Runner.framework */, + FAFBD6505916BF5922DDF954 /* Pods_Runner.framework */, ); name = Frameworks; sourceTree = ""; @@ -141,9 +141,9 @@ 605039E5DDF72C245F9765FE /* Pods */ = { isa = PBXGroup; children = ( - 215757156BD432313B5BCA8C /* Pods-Runner.debug.xcconfig */, - 6512C00D7013854F8BCDC4A9 /* Pods-Runner.release.xcconfig */, - B804B2962280EC6806915776 /* Pods-Runner.profile.xcconfig */, + 64F59AC87B0A20A766DCEBB5 /* Pods-Runner.debug.xcconfig */, + 42B9BBAC687474A27EEA4C2A /* Pods-Runner.release.xcconfig */, + 480F9F97BA30FF07E347556C /* Pods-Runner.profile.xcconfig */, ); path = Pods; sourceTree = ""; @@ -246,15 +246,15 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 184E1D7629A8D4001ABBA325 /* [CP] Check Pods Manifest.lock */, + AD27963553DDC964A9FABC05 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 1EF1154EA3B2E3847B26E3EF /* [CP] Embed Pods Frameworks */, - AE8C06E63B2E8822D80BB151 /* [CP] Copy Pods Resources */, + 5A29C3BA969092E6E888C519 /* [CP] Embed Pods Frameworks */, + 35C754047B929526D65B472B /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -320,58 +320,53 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 184E1D7629A8D4001ABBA325 /* [CP] Check Pods Manifest.lock */ = { + 35C754047B929526D65B472B /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Copy Pods Resources"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 1EF1154EA3B2E3847B26E3EF /* [CP] Embed Pods Frameworks */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + inputPaths = ( ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + name = "Thin Binary"; + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin\n"; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 5A29C3BA969092E6E888C519 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputPaths = ( + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "Thin Binary"; - outputPaths = ( + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; @@ -387,21 +382,26 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - AE8C06E63B2E8822D80BB151 /* [CP] Copy Pods Resources */ = { + AD27963553DDC964A9FABC05 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Copy Pods Resources"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ diff --git a/lib/analytics/google-analytics.dart b/lib/analytics/google-analytics.dart index 314507af..e38b6d1e 100644 --- a/lib/analytics/google-analytics.dart +++ b/lib/analytics/google-analytics.dart @@ -24,7 +24,7 @@ import 'flows/hmg_services.dart'; typedef GALogger = Function(String name, {Map parameters}); -var _analytics = FirebaseAnalytics(); +var _analytics = FirebaseAnalytics.instance; _logger(String name, {Map parameters}) async { // return; diff --git a/lib/config/config.dart b/lib/config/config.dart index 288d7fd3..cd1b8cb4 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -20,8 +20,8 @@ var PACKAGES_ORDERS = '/api/orders'; var PACKAGES_ORDER_HISTORY = '/api/orders/items'; var PACKAGES_TAMARA_OPT = '/api/orders/paymentoptions/tamara'; // var BASE_URL = 'http://10.50.100.198:3334/'; -// var BASE_URL = 'https://uat.hmgwebservices.com/'; -var BASE_URL = 'https://hmgwebservices.com/'; + var BASE_URL = 'https://uat.hmgwebservices.com/'; +// var BASE_URL = 'https://hmgwebservices.com/'; // Pharmacy UAT URLs // var BASE_PHARMACY_URL = 'https://uat.hmgwebservices.com/epharmacy/api/'; diff --git a/lib/pages/AlHabibMedicalService/h2o/Dialog/setting_page_radio_button_list_dialog.dart b/lib/pages/AlHabibMedicalService/h2o/Dialog/setting_page_radio_button_list_dialog.dart index 580207d8..6e6cf726 100644 --- a/lib/pages/AlHabibMedicalService/h2o/Dialog/setting_page_radio_button_list_dialog.dart +++ b/lib/pages/AlHabibMedicalService/h2o/Dialog/setting_page_radio_button_list_dialog.dart @@ -74,7 +74,7 @@ class _CommonRadioButtonDialogState extends State { child: Row( children: [ Expanded( - child: FlatButton( + child: TextButton( child: Text( TranslationBase.of(context).cancel, style: TextStyle(color: Colors.redAccent, fontSize: 16, fontWeight: FontWeight.w500), @@ -83,7 +83,7 @@ class _CommonRadioButtonDialogState extends State { ), ), Expanded( - child: FlatButton( + child: TextButton( child: Text( TranslationBase.of(context).ok, style: TextStyle(color: Colors.black87, fontSize: 16, fontWeight: FontWeight.w500), diff --git a/lib/pages/BookAppointment/BookConfirm.dart b/lib/pages/BookAppointment/BookConfirm.dart index 29b76598..635f74a0 100644 --- a/lib/pages/BookAppointment/BookConfirm.dart +++ b/lib/pages/BookAppointment/BookConfirm.dart @@ -4,7 +4,6 @@ import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResu import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart'; import 'package:diplomaticquarterapp/models/Appointments/PatientShareResposne.dart'; import 'package:diplomaticquarterapp/models/Appointments/toDoCountProviderModel.dart'; -import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; import 'package:diplomaticquarterapp/models/header_model.dart'; import 'package:diplomaticquarterapp/routes.dart'; import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart'; @@ -16,6 +15,7 @@ import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart'; import 'package:diplomaticquarterapp/widgets/new_design/doctor_header.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; @@ -41,6 +41,7 @@ class BookConfirm extends StatefulWidget { DoctorsListService service; PatientShareResponse patientShareResponse; + // AuthenticatedUser authUser; @override @@ -196,12 +197,11 @@ class _BookConfirmState extends State { ), minWidth: MediaQuery.of(context).size.width * 0.7, height: 40.0, - child: RaisedButton( - color: CustomColors.green, - textColor: Colors.white, + child: CustomTextButton( + backgroundColor: CustomColors.green, + disabledForegroundColor: new Color(0xFFbcc2c4).withOpacity(0.38), + disabledBackgroundColor: new Color(0xFFbcc2c4).withOpacity(0.12), elevation: 0, - disabledTextColor: Colors.white, - disabledColor: new Color(0xFFbcc2c4), onPressed: () async { bool isLiveCareSchedule = await this.sharedPref.getBool(IS_LIVECARE_APPOINTMENT); if (isLiveCareSchedule != null && isLiveCareSchedule) { @@ -210,7 +210,7 @@ class _BookConfirmState extends State { insertAppointment(context, widget.doctor, widget.initialSlotDuration); } }, - child: Text(TranslationBase.of(context).bookAppo, style: TextStyle(fontSize: 16.0, letterSpacing: -0.48)), + child: Text(TranslationBase.of(context).bookAppo, style: TextStyle(fontSize: 16.0, letterSpacing: -0.48, color: Colors.white)), ), ), ), diff --git a/lib/pages/BookAppointment/BookSuccess.dart b/lib/pages/BookAppointment/BookSuccess.dart index 8f0aa939..6de4a31c 100644 --- a/lib/pages/BookAppointment/BookSuccess.dart +++ b/lib/pages/BookAppointment/BookSuccess.dart @@ -17,6 +17,7 @@ import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart'; import 'package:diplomaticquarterapp/widgets/new_design/doctor_header.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; @@ -164,17 +165,14 @@ class _BookSuccessState extends State { ), minWidth: MediaQuery.of(context).size.width * 0.7, height: 45.0, - child: RaisedButton( - color: new Color(0xFF60686b), - textColor: Colors.white, + child: CustomTextButton( + backgroundColor: Color(0xFF60686b), elevation: 0, - disabledTextColor: Colors.white, - disabledColor: new Color(0xFFbcc2c4), onPressed: () { // navigateToQR(context); getAppoQR(context); }, - child: Text(TranslationBase.of(context).viewQR.toUpperCase(), style: TextStyle(fontSize: 18.0)), + child: Text(TranslationBase.of(context).viewQR.toUpperCase(), style: TextStyle(fontSize: 18.0, color: Colors.white)), ), ), ], @@ -199,17 +197,18 @@ class _BookSuccessState extends State { borderRadius: BorderRadius.circular(10.0), ), height: 45.0, - child: RaisedButton( - color: CustomColors.green, - textColor: Colors.white, + child: CustomTextButton( + backgroundColor: CustomColors.green, elevation: 0, - disabledTextColor: Colors.white, - disabledColor: new Color(0xFFbcc2c4), onPressed: () { startPaymentProcess(); projectViewModel.analytics.appointment.pay_now_for_appointment(appointment_type: 'regular', doctorDetail: widget.docObject, payNow: true); }, - child: Text(TranslationBase.of(context).payNow.toUpperCase(), style: TextStyle(fontSize: 18.0)), + child: Text(TranslationBase.of(context).payNow.toUpperCase(), + style: TextStyle( + fontSize: 18.0, + color: Colors.white, + )), ), ), ), @@ -221,17 +220,14 @@ class _BookSuccessState extends State { borderRadius: BorderRadius.circular(10.0), ), height: 45.0, - child: RaisedButton( - color: new Color(0xffc5272d), - textColor: Colors.white, + child: CustomTextButton( + backgroundColor: Color(0xffc5272d), elevation: 0, - disabledTextColor: Colors.white, - disabledColor: new Color(0xFFbcc2c4), onPressed: () { navigateToHome(context); projectViewModel.analytics.appointment.pay_now_for_appointment(appointment_type: 'regular', doctorDetail: widget.docObject, payNow: false); }, - child: Text(TranslationBase.of(context).payLater.toUpperCase(), style: TextStyle(fontSize: 18.0)), + child: Text(TranslationBase.of(context).payLater.toUpperCase(), style: TextStyle(fontSize: 18.0, color: Colors.white)), ), ), ), @@ -258,12 +254,9 @@ class _BookSuccessState extends State { borderRadius: BorderRadius.circular(10.0), ), height: 45.0, - child: RaisedButton( - color: new Color(0xffc5272d), - textColor: Colors.white, + child: CustomTextButton( + backgroundColor: Color(0xffc5272d), elevation: 0, - disabledTextColor: Colors.white, - disabledColor: new Color(0xFFbcc2c4), onPressed: () { AppoitmentAllHistoryResultList appo = new AppoitmentAllHistoryResultList(); appo.clinicID = widget.docObject.clinicID; @@ -278,7 +271,7 @@ class _BookSuccessState extends State { else navigateToHome(context); }, - child: Text(TranslationBase.of(context).confirmLater, style: TextStyle(fontSize: 16.0)), + child: Text(TranslationBase.of(context).confirmLater, style: TextStyle(fontSize: 16.0, color: Colors.white)), ), ), ), @@ -290,12 +283,9 @@ class _BookSuccessState extends State { borderRadius: BorderRadius.circular(10.0), ), height: 45.0, - child: RaisedButton( - color: CustomColors.green, - textColor: Colors.white, - elevation: 0, - disabledTextColor: Colors.white, - disabledColor: new Color(0xFFbcc2c4), + child: CustomTextButton( + backgroundColor: Color(0xffc5272d), + elevation: 0, onPressed: () { AppoitmentAllHistoryResultList appo = new AppoitmentAllHistoryResultList(); appo.clinicID = widget.docObject.clinicID; @@ -310,7 +300,7 @@ class _BookSuccessState extends State { confirmAppointment(appo); } }, - child: Text(widget.patientShareResponse.isLiveCareAppointment ? TranslationBase.of(context).confirmLiveCare : TranslationBase.of(context).confirm, style: TextStyle(fontSize: 16.0)), + child: Text(widget.patientShareResponse.isLiveCareAppointment ? TranslationBase.of(context).confirmLiveCare : TranslationBase.of(context).confirm, style: TextStyle(fontSize: 16.0, color: Colors.white)), ), ), ), diff --git a/lib/pages/BookAppointment/DoctorProfile.dart b/lib/pages/BookAppointment/DoctorProfile.dart index e806f3ea..503fa3e2 100644 --- a/lib/pages/BookAppointment/DoctorProfile.dart +++ b/lib/pages/BookAppointment/DoctorProfile.dart @@ -16,6 +16,7 @@ import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart'; import 'package:diplomaticquarterapp/widgets/new_design/doctor_header.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; @@ -87,14 +88,12 @@ class _DoctorProfileState extends State with TickerProviderStateM ), minWidth: MediaQuery.of(context).size.width * 0.7, height: 40.0, - child: RaisedButton( - color: CustomColors.accentColor, - textColor: Colors.white, - elevation: 0, - disabledTextColor: Colors.white, - disabledColor: new Color(0xFFbcc2c4), + child: CustomTextButton( + backgroundColor: CustomColors.accentColor, + elevation: 0, onPressed: goToBookConfirm, - child: Text(TranslationBase.of(context).reviewAppointment, style: TextStyle(fontSize: 16.0, letterSpacing: -0.48, fontWeight: FontWeight.w600)), + child: Text(TranslationBase.of(context).reviewAppointment, style: TextStyle(fontSize: 16.0, letterSpacing: -0.48, + color: Colors.white, fontWeight: FontWeight.w600)), ), ), ), @@ -217,7 +216,7 @@ class _DoctorProfileState extends State with TickerProviderStateM padding: const EdgeInsets.all(10), child: MaterialButton( height: 50, - color: Theme.of(context).appBarTheme.color, + color: Theme.of(context).appBarTheme.backgroundColor, shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)), onPressed: () => openDoctorPrePostImages(), child: Text( @@ -446,18 +445,14 @@ class _DoctorProfileState extends State with TickerProviderStateM ), minWidth: MediaQuery.of(context).size.width, height: 40.0, - child: RaisedButton( - elevation: 0.0, - color: Colors.white, - textColor: Colors.red, - hoverColor: Colors.transparent, - focusColor: Colors.transparent, - highlightColor: Colors.transparent, - disabledColor: new Color(0xFFbcc2c4), + child:CustomTextButton( + elevation: 0.0, + backgroundColor: Colors.white, + onPressed: () { Navigator.of(context).pop(); }, - child: Text(TranslationBase.of(context).cancel, style: TextStyle(fontSize: 18.0)), + child: Text(TranslationBase.of(context).cancel, style: TextStyle(fontSize: 18.0, color: Colors.red)), ), ), ), diff --git a/lib/pages/BookAppointment/book_reminder_page.dart b/lib/pages/BookAppointment/book_reminder_page.dart index e7971423..427b28db 100644 --- a/lib/pages/BookAppointment/book_reminder_page.dart +++ b/lib/pages/BookAppointment/book_reminder_page.dart @@ -8,6 +8,7 @@ import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart'; import 'package:diplomaticquarterapp/widgets/new_design/doctor_header.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; @@ -55,6 +56,7 @@ class _BookReminderPageState extends State { } ProjectViewModel projectViewModel; + @override Widget build(BuildContext context) { projectViewModel = Provider.of(context); @@ -168,12 +170,7 @@ class _BookReminderPageState extends State { borderRadius: BorderRadius.circular(10.0), ), height: 45.0, - child: RaisedButton( - color: CustomColors.accentColor, - textColor: Colors.white, - elevation: 0, - disabledTextColor: Colors.white, - disabledColor: new Color(0xFFEAEAEA), + child: ElevatedButton( onPressed: () { navigateToBookSuccess(context); projectViewModel.analytics.appointment.appointment_reminder(false); @@ -190,12 +187,9 @@ class _BookReminderPageState extends State { borderRadius: BorderRadius.circular(10.0), ), height: 45.0, - child: RaisedButton( - color: CustomColors.green, - textColor: Colors.white, - elevation: 0, - disabledTextColor: Colors.white, - disabledColor: CustomColors.green, + child: CustomTextButton( + backgroundColor: CustomColors.green, + elevation: 0, onPressed: () async { print(widget.patientShareResponse.appointmentNo); showReminderDialog( @@ -212,7 +206,7 @@ class _BookReminderPageState extends State { ); projectViewModel.analytics.appointment.appointment_reminder(true); }, - child: Text(TranslationBase.of(context).yes, style: TextStyle(fontSize: 16.0, letterSpacing: -0.48)), + child: Text(TranslationBase.of(context).yes, style: TextStyle(fontSize: 16.0, letterSpacing: -0.48, color: Colors.white)), ), ), ), diff --git a/lib/pages/BookAppointment/components/DocAvailableAppointments.dart b/lib/pages/BookAppointment/components/DocAvailableAppointments.dart index 6856bbee..2836be0f 100644 --- a/lib/pages/BookAppointment/components/DocAvailableAppointments.dart +++ b/lib/pages/BookAppointment/components/DocAvailableAppointments.dart @@ -10,6 +10,7 @@ import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; @@ -142,17 +143,7 @@ class _DocAvailableAppointmentsState extends State wit itemBuilder: (context, index) { return Container( margin: EdgeInsets.only(right: (index == dayEvents.length - 1) ? 16 : 5.0, left: index == 0 ? 16 : 5), - child: ButtonTheme( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(5.0), - side: BorderSide( - color: index == selectedButtonIndex ? CustomColors.green : Colors.black, //Color of the border - style: BorderStyle.solid, //Style of the border - width: 1.5, //width of the border - ), - ), - minWidth: MediaQuery.of(context).size.width * 0.18, - child: index == selectedButtonIndex ? getSelectedButton(index) : getNormalButton(index)), + child: index == selectedButtonIndex ? getSelectedButton(index) : getNormalButton(index), ); }, ), @@ -179,7 +170,7 @@ class _DocAvailableAppointmentsState extends State wit child: SfCalendar( controller: _calendarController, minDate: DateTime.now(), - showNavigationArrow: true, + // showNavigationArrow: true, headerStyle: CalendarHeaderStyle(textAlign: TextAlign.center, textStyle: TextStyle(fontSize: 14.0, fontWeight: FontWeight.w600, letterSpacing: -0.46)), viewHeaderStyle: ViewHeaderStyle(dayTextStyle: TextStyle(fontSize: 12.0, fontWeight: FontWeight.w600, letterSpacing: -0.46, color: CustomColors.black)), view: CalendarView.month, @@ -264,10 +255,14 @@ class _DocAvailableAppointmentsState extends State wit } Widget getNormalButton(int index) { - return RaisedButton( - color: Colors.white, + return CustomTextButton( + backgroundColor: Colors.white, elevation: 0, - textColor: new Color(0xFF60686b), + side: BorderSide( + color: Colors.black, //Color of the border + style: BorderStyle.solid, //Style of the border + width: 1.5 //width of the border + ), onPressed: () { final timeslot = dayEvents[index]; DocAvailableAppointments.selectedAppoDateTime = timeslot.end; @@ -279,16 +274,19 @@ class _DocAvailableAppointmentsState extends State wit }); projectViewModel.analytics.appointment.book_appointment_time_selection(appointment_type: 'regular', dateTime: timeslot.end, doctor: widget.doctor); }, - child: Text(dayEvents[index].isoTime, style: TextStyle(fontSize: 12.0)), + child: Text(dayEvents[index].isoTime, style: TextStyle(fontSize: 12.0, color: Color(0xFF60686b))), ); } Widget getSelectedButton(int index) { - return RaisedButton( - color: CustomColors.green, - //Color of the border - textColor: Colors.white, + return CustomTextButton( + backgroundColor: CustomColors.green, elevation: 0, + side: BorderSide( + color: CustomColors.green, //Color of the border + style: BorderStyle.solid, //Style of the border + width: 1.5 //width of the border + ), onPressed: () { setState(() { selectedButtonIndex = index; @@ -296,7 +294,7 @@ class _DocAvailableAppointmentsState extends State wit print(DocAvailableAppointments.selectedTime); }); }, - child: Text(dayEvents[index].isoTime, style: TextStyle(fontSize: 12.0)), + child: Text(dayEvents[index].isoTime, style: TextStyle(fontSize: 12.0, color: Colors.white)), ); } diff --git a/lib/pages/BookAppointment/components/SearchByDoctor.dart b/lib/pages/BookAppointment/components/SearchByDoctor.dart index 05e0ddc1..64723226 100644 --- a/lib/pages/BookAppointment/components/SearchByDoctor.dart +++ b/lib/pages/BookAppointment/components/SearchByDoctor.dart @@ -5,6 +5,7 @@ import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -71,18 +72,18 @@ class _SearchByDoctorState extends State { ), minWidth: MediaQuery.of(context).size.width, height: 45.0, - child: RaisedButton( - color: CustomColors.accentColor, - textColor: Colors.white, - disabledTextColor: Colors.white, + child: CustomTextButton( + backgroundColor: CustomColors.accentColor, elevation: 0, - disabledColor: new Color(0xFFbcc2c4), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(6), + ), onPressed: () { if (_isButtonDisabled == false) { _searchDoctor(context); } }, - child: Text(TranslationBase.of(context).search, style: TextStyle(fontSize: 18.0)), + child: Text(TranslationBase.of(context).search, style: TextStyle(fontSize: 18.0, color: Colors.white)), ), ), ); diff --git a/lib/pages/Covid-DriveThru/Covid-TimeSlots.dart b/lib/pages/Covid-DriveThru/Covid-TimeSlots.dart index f4f73d49..9b5c47a7 100644 --- a/lib/pages/Covid-DriveThru/Covid-TimeSlots.dart +++ b/lib/pages/Covid-DriveThru/Covid-TimeSlots.dart @@ -19,6 +19,7 @@ import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; @@ -215,12 +216,9 @@ class _CovidTimeSlotsState extends State with TickerProviderStat ), minWidth: MediaQuery.of(context).size.width * 0.7, height: 45.0, - child: RaisedButton( - color: CustomColors.green, - textColor: Colors.white, - disabledTextColor: Colors.white, - elevation: 0, - disabledColor: Colors.grey[500], + child: CustomTextButton( + backgroundColor: CustomColors.green, + elevation: 0, onPressed: () { bookCovidTestAppointment(); }, @@ -229,6 +227,7 @@ class _CovidTimeSlotsState extends State with TickerProviderStat style: TextStyle( fontSize: 16.0, letterSpacing: -0.64, + color: Colors.white ), ), ), @@ -345,10 +344,9 @@ class _CovidTimeSlotsState extends State with TickerProviderStat // } Widget getNormalButton(int index) { - return RaisedButton( - color: Colors.white, - elevation: 0, - textColor: new Color(0xFF60686b), + return CustomTextButton( + backgroundColor: Colors.white, + elevation: 0, onPressed: () { setState(() { selectedButtonIndex = index; @@ -356,16 +354,14 @@ class _CovidTimeSlotsState extends State with TickerProviderStat print(CovidTimeSlots.selectedTime); }); }, - child: Text(dayEvents[index].isoTime, style: TextStyle(fontSize: 12.0, fontWeight: FontWeight.bold)), + child: Text(dayEvents[index].isoTime, style: TextStyle(fontSize: 12.0, fontWeight: FontWeight.bold, color: Color(0xFF60686b))), ); } Widget getSelectedButton(int index) { - return RaisedButton( - color: CustomColors.green, - //Color of the border - elevation: 0, - textColor: Colors.white, + return CustomTextButton( + backgroundColor: CustomColors.green, + elevation: 0, onPressed: () { setState(() { selectedButtonIndex = index; @@ -373,7 +369,7 @@ class _CovidTimeSlotsState extends State with TickerProviderStat print(CovidTimeSlots.selectedTime); }); }, - child: Text(dayEvents[index].isoTime, style: TextStyle(fontSize: 12.0, fontWeight: FontWeight.bold)), + child: Text(dayEvents[index].isoTime, style: TextStyle(fontSize: 12.0, fontWeight: FontWeight.bold, color: Color(0xFF60686b))), ); } @@ -425,8 +421,7 @@ class _CovidTimeSlotsState extends State with TickerProviderStat updateCovidQuestionnaire(context, String appoNo) async { DoctorsListService service = new DoctorsListService(); - service.updateCovidQuestionnaire(appoNo, widget.projectID, widget.selectedProject.testTypeEnum, widget.selectedProject.testProcedureEnum).then((res) { - }).catchError((err) { + service.updateCovidQuestionnaire(appoNo, widget.projectID, widget.selectedProject.testTypeEnum, widget.selectedProject.testProcedureEnum).then((res) {}).catchError((err) { print(err); }); } diff --git a/lib/pages/Covid-DriveThru/covid-drivethru-location.dart b/lib/pages/Covid-DriveThru/covid-drivethru-location.dart index 85e913e8..4d0479e6 100644 --- a/lib/pages/Covid-DriveThru/covid-drivethru-location.dart +++ b/lib/pages/Covid-DriveThru/covid-drivethru-location.dart @@ -11,6 +11,7 @@ import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:flutter/material.dart'; @@ -227,22 +228,17 @@ class _CovidDrivethruLocationState extends State { ), minWidth: MediaQuery.of(context).size.width * 0.7, height: 45.0, - child: RaisedButton( - color: CustomColors.accentColor, - textColor: Colors.white, - disabledTextColor: Colors.white, - disabledColor: CustomColors.accentColor, + child: CustomTextButton( + backgroundColor: CustomColors.accentColor, + disabledForegroundColor: CustomColors.accentColor.withOpacity(0.38), + disabledBackgroundColor: CustomColors.accentColor.withOpacity(0.12), elevation: 0, onPressed: () { next(); }, child: Text( TranslationBase.of(context).next, - style: TextStyle( - fontSize: 16.0, - fontWeight: FontWeight.bold, - letterSpacing: -0.44, - ), + style: TextStyle(fontSize: 16.0, fontWeight: FontWeight.bold, letterSpacing: -0.44, color: Colors.white), ), ), )), diff --git a/lib/pages/Covid-DriveThru/covid-payment-alert.dart b/lib/pages/Covid-DriveThru/covid-payment-alert.dart index 2b2121d0..b6a23fdb 100644 --- a/lib/pages/Covid-DriveThru/covid-payment-alert.dart +++ b/lib/pages/Covid-DriveThru/covid-payment-alert.dart @@ -7,6 +7,7 @@ import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:flutter/material.dart'; @@ -179,11 +180,10 @@ class _CovidPaymentAlertState extends State { ), minWidth: MediaQuery.of(context).size.width * 0.7, height: 45.0, - child: RaisedButton( - color: CustomColors.accentColor, - textColor: Colors.white, - disabledTextColor: Colors.white, - disabledColor: Colors.grey[500], + child: CustomTextButton( + backgroundColor: CustomColors.accentColor, + disabledForegroundColor: Colors.grey[500].withOpacity(0.38), + disabledBackgroundColor: Colors.grey[500].withOpacity(0.12), elevation: 0, onPressed: () { startPaymentProcess(); @@ -193,6 +193,7 @@ class _CovidPaymentAlertState extends State { style: TextStyle( fontSize: 16.0, letterSpacing: -0.48, + color: Colors.white, ), ), ), diff --git a/lib/pages/Covid-DriveThru/covid-payment-details.dart b/lib/pages/Covid-DriveThru/covid-payment-details.dart index 1e48f3c9..72e28fee 100644 --- a/lib/pages/Covid-DriveThru/covid-payment-details.dart +++ b/lib/pages/Covid-DriveThru/covid-payment-details.dart @@ -8,6 +8,7 @@ import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:flutter/material.dart'; @@ -245,12 +246,11 @@ class _CovidPaymentDetailsState extends State { ), minWidth: MediaQuery.of(context).size.width * 0.7, height: 45.0, - child: RaisedButton( - color: CustomColors.accentColor, - textColor: Colors.white, + child: CustomTextButton( + backgroundColor: CustomColors.accentColor, + disabledForegroundColor: Colors.grey[500].withOpacity(0.38), + disabledBackgroundColor: Colors.grey[500].withOpacity(0.12), elevation: 0, - disabledTextColor: Colors.white, - disabledColor: Colors.grey[500], onPressed: () { cancel(); }, @@ -277,20 +277,15 @@ class _CovidPaymentDetailsState extends State { ), minWidth: MediaQuery.of(context).size.width * 0.7, height: 45.0, - child: RaisedButton( - color: CustomColors.green, - textColor: Colors.white, + child: CustomTextButton( + backgroundColor: CustomColors.green, + disabledForegroundColor: Colors.grey[500].withOpacity(0.38), + disabledBackgroundColor: Colors.grey[500].withOpacity(0.12), elevation: 0, - disabledTextColor: Colors.white, - disabledColor: Colors.grey[500], onPressed: isAgree ? next : null, child: Text( TranslationBase.of(context).next, - style: TextStyle( - fontSize: 16.0, - letterSpacing: -0.48, - fontWeight: FontWeight.w600, - ), + style: TextStyle(fontSize: 16.0, letterSpacing: -0.48, fontWeight: FontWeight.w600, color: Colors.white), ), ), ), diff --git a/lib/pages/ErService/EdOnline/EdOnlineQuestionsPage.dart b/lib/pages/ErService/EdOnline/EdOnlineQuestionsPage.dart index c825917a..2bfa9b00 100644 --- a/lib/pages/ErService/EdOnline/EdOnlineQuestionsPage.dart +++ b/lib/pages/ErService/EdOnline/EdOnlineQuestionsPage.dart @@ -8,6 +8,7 @@ import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; @@ -100,16 +101,15 @@ class _EdOnlineQuestionsPageState extends State { borderRadius: BorderRadius.circular(10.0), ), height: 45.0, - child: RaisedButton( - color: new Color(0xffc5272d), - textColor: Colors.white, - elevation: 0, - disabledTextColor: Colors.white, - disabledColor: new Color(0xFFbcc2c4), + child: CustomTextButton( + backgroundColor: Color(0xffc5272d), + disabledForegroundColor: Color(0xFFbcc2c4).withOpacity(0.38), + disabledBackgroundColor: Color(0xFFbcc2c4).withOpacity(0.12), + elevation: 0, onPressed: () { widget.changePageViewIndex(0); }, - child: Text(TranslationBase.of(context).back, style: TextStyle(fontSize: 16.0)), + child: Text(TranslationBase.of(context).back, style: TextStyle(fontSize: 16.0, color: Colors.white)), ), ), ), @@ -121,12 +121,11 @@ class _EdOnlineQuestionsPageState extends State { borderRadius: BorderRadius.circular(10.0), ), height: 45.0, - child: RaisedButton( - color: CustomColors.green, - textColor: Colors.white, - elevation: 0, - disabledTextColor: Colors.white, - disabledColor: new Color(0xFFbcc2c4), + child: CustomTextButton( + backgroundColor: CustomColors.green, + disabledForegroundColor: Color(0xFFbcc2c4).withOpacity(0.38), + disabledBackgroundColor: Color(0xFFbcc2c4).withOpacity(0.12), + elevation: 0, onPressed: widget.selectedQuestions.isEmpty ? null : () { @@ -147,7 +146,7 @@ class _EdOnlineQuestionsPageState extends State { }); // widget.changePageViewIndex(4); }, - child: Text(TranslationBase.of(context).next, style: TextStyle(fontSize: 16.0)), + child: Text(TranslationBase.of(context).next, style: TextStyle(fontSize: 16.0, color: Colors.white)), ), ), ), diff --git a/lib/pages/MyAppointments/AppointmentDetails.dart b/lib/pages/MyAppointments/AppointmentDetails.dart index 8726ac31..2a4c9386 100644 --- a/lib/pages/MyAppointments/AppointmentDetails.dart +++ b/lib/pages/MyAppointments/AppointmentDetails.dart @@ -20,6 +20,7 @@ import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart'; import 'package:diplomaticquarterapp/widgets/new_design/doctor_header.dart'; @@ -487,18 +488,15 @@ class _AppointmentDetailsState extends State with SingleTick ), minWidth: MediaQuery.of(context).size.width, height: 40.0, - child: RaisedButton( - elevation: 0.0, - color: Colors.white, - textColor: Colors.red, - hoverColor: Colors.transparent, - focusColor: Colors.transparent, - highlightColor: Colors.transparent, - disabledColor: new Color(0xFFbcc2c4), + child: CustomTextButton( + elevation: 0.0, + backgroundColor: Colors.white, + disabledForegroundColor: new Color(0xFFbcc2c4).withOpacity(0.38), + disabledBackgroundColor: new Color(0xFFbcc2c4).withOpacity(0.12), onPressed: () { Navigator.of(context).pop(); }, - child: Text(TranslationBase.of(context).cancel, style: TextStyle(fontSize: 18.0)), + child: Text(TranslationBase.of(context).cancel, style: TextStyle(fontSize: 18.0, color: Colors.red)), ), ), ), diff --git a/lib/pages/MyAppointments/widgets/askDocDialog.dart b/lib/pages/MyAppointments/widgets/askDocDialog.dart index d44cc5f3..207a3026 100644 --- a/lib/pages/MyAppointments/widgets/askDocDialog.dart +++ b/lib/pages/MyAppointments/widgets/askDocDialog.dart @@ -1,6 +1,7 @@ import 'package:diplomaticquarterapp/pages/MyAppointments/models/AskDocRequestTypeModel.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:flutter/material.dart'; @@ -39,10 +40,10 @@ class _AskDocDialogState extends State { width: MediaQuery.of(context).size.width, height: 40.0, margin: EdgeInsets.only(left: 30.0, top: 0.0, right: 30.0), - child: RaisedButton( - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10.0), side: BorderSide(color: Colors.blue)), - color: Colors.blue, - elevation: 0, + child: CustomTextButton( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10.0), side: BorderSide(color: Colors.blue)), + backgroundColor: Colors.blue, + elevation: 0, onPressed: () { if (AskDocDialog.selectedParameterCode != 0) Navigator.pop(context, AskDocDialog.selectedParameterCode); diff --git a/lib/pages/MyAppointments/widgets/reminder_dialog.dart b/lib/pages/MyAppointments/widgets/reminder_dialog.dart index c1048470..0731ac5b 100644 --- a/lib/pages/MyAppointments/widgets/reminder_dialog.dart +++ b/lib/pages/MyAppointments/widgets/reminder_dialog.dart @@ -2,6 +2,7 @@ import 'package:diplomaticquarterapp/pages/MyAppointments/widgets/custom_radio.d import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:flutter/material.dart'; import 'package:manage_calendar_events/manage_calendar_events.dart'; @@ -46,10 +47,10 @@ class _ReminderDialogState extends State { width: MediaQuery.of(context).size.width, height: 40.0, margin: EdgeInsets.only(left: 30.0, top: 0.0, right: 30.0), - child: RaisedButton( - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10.0), side: BorderSide(color: Colors.blue)), - color: Colors.blue, - elevation: 0, + child: CustomTextButton( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10.0), side: BorderSide(color: Colors.blue)), + backgroundColor: Colors.blue, + elevation: 0, onPressed: () { print(ReminderDialog.selectedDuration); createCalendarEvent(); diff --git a/lib/pages/MyAppointments/widgets/reminder_dialog_prescription.dart b/lib/pages/MyAppointments/widgets/reminder_dialog_prescription.dart index 02771791..d88377fd 100644 --- a/lib/pages/MyAppointments/widgets/reminder_dialog_prescription.dart +++ b/lib/pages/MyAppointments/widgets/reminder_dialog_prescription.dart @@ -2,9 +2,9 @@ import 'package:diplomaticquarterapp/pages/MyAppointments/widgets/custom_radio.d import 'package:diplomaticquarterapp/uitl/CalendarUtils.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:flutter/material.dart'; -import 'package:manage_calendar_events/manage_calendar_events.dart'; class PrescriptionReminderDialog extends StatefulWidget { static var selectedDuration; @@ -17,7 +17,7 @@ class PrescriptionReminderDialog extends StatefulWidget { final String location; final int days; - List _scheduleList = List(); + List _scheduleList =[]; PrescriptionReminderDialog({ @required this.eventId, @@ -55,10 +55,10 @@ class _ReminderDialogState extends State { width: MediaQuery.of(context).size.width, height: 40.0, margin: EdgeInsets.only(left: 30.0, top: 0.0, right: 30.0), - child: RaisedButton( - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10.0), side: BorderSide(color: Colors.blue)), - color: Colors.blue, - elevation: 0, + child: CustomTextButton( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10.0), side: BorderSide(color: Colors.blue)), + backgroundColor: Colors.blue, + elevation: 0, onPressed: () { createOrUpdateEvents(); }, diff --git a/lib/pages/ToDoList/ObGyne/ObGyne-TimeSlots.dart b/lib/pages/ToDoList/ObGyne/ObGyne-TimeSlots.dart index f1b97146..970d31c7 100644 --- a/lib/pages/ToDoList/ObGyne/ObGyne-TimeSlots.dart +++ b/lib/pages/ToDoList/ObGyne/ObGyne-TimeSlots.dart @@ -15,6 +15,7 @@ import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/material.dart'; @@ -206,21 +207,17 @@ class _CovidTimeSlotsState extends State with TickerProviderSta ), minWidth: MediaQuery.of(context).size.width * 0.7, height: 45.0, - child: RaisedButton( - color: CustomColors.green, - textColor: Colors.white, - disabledTextColor: Colors.white, + child: CustomTextButton( + backgroundColor: CustomColors.green, + disabledForegroundColor: Colors.grey[500].withOpacity(0.38), + disabledBackgroundColor: Colors.grey[500].withOpacity(0.12), elevation: 0, - disabledColor: Colors.grey[500], onPressed: () { bookCovidTestAppointment(); }, child: Text( TranslationBase.of(context).bookAppo, - style: TextStyle( - fontSize: 16.0, - letterSpacing: -0.64, - ), + style: TextStyle(fontSize: 16.0, letterSpacing: -0.64, color: Colors.white), ), ), ), @@ -302,10 +299,9 @@ class _CovidTimeSlotsState extends State with TickerProviderSta } Widget getNormalButton(int index) { - return RaisedButton( - color: Colors.white, + return CustomTextButton( + backgroundColor: Colors.white, elevation: 0, - textColor: new Color(0xFF60686b), onPressed: () { setState(() { selectedButtonIndex = index; @@ -313,16 +309,14 @@ class _CovidTimeSlotsState extends State with TickerProviderSta print(ObGyneTimeSlots.selectedTime); }); }, - child: Text(dayEvents[index].isoTime, style: TextStyle(fontSize: 12.0, fontWeight: FontWeight.bold)), + child: Text(dayEvents[index].isoTime, style: TextStyle(fontSize: 12.0, fontWeight: FontWeight.bold, color: Color(0xFF60686b))), ); } Widget getSelectedButton(int index) { - return RaisedButton( - color: CustomColors.green, - //Color of the border - elevation: 0, - textColor: Colors.white, + return CustomTextButton( + backgroundColor: CustomColors.green, + elevation: 0, onPressed: () { setState(() { selectedButtonIndex = index; @@ -330,7 +324,7 @@ class _CovidTimeSlotsState extends State with TickerProviderSta print(ObGyneTimeSlots.selectedTime); }); }, - child: Text(dayEvents[index].isoTime, style: TextStyle(fontSize: 12.0, fontWeight: FontWeight.bold)), + child: Text(dayEvents[index].isoTime, style: TextStyle(fontSize: 12.0, fontWeight: FontWeight.bold, color: Colors.white)), ); } @@ -419,7 +413,7 @@ class _CovidTimeSlotsState extends State with TickerProviderSta Navigator.pushAndRemoveUntil( context, MaterialPageRoute(builder: (context) => LandingPage()), - (Route route) => false, + (Route route) => false, ); }).catchError((err) { GifLoaderDialogUtils.hideDialog(context); diff --git a/lib/pages/ToDoList/payment_method_select.dart b/lib/pages/ToDoList/payment_method_select.dart index 58503af5..c9814f40 100644 --- a/lib/pages/ToDoList/payment_method_select.dart +++ b/lib/pages/ToDoList/payment_method_select.dart @@ -7,6 +7,7 @@ import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; @@ -34,7 +35,6 @@ class _PaymentMethodState extends State { ProjectViewModel projectViewModel; - @override void initState() { WidgetsBinding.instance.addPostFrameCallback((_) { @@ -215,55 +215,55 @@ class _PaymentMethodState extends State { ), ), if (projectViewModel.havePrivilege(90) && !widget.isFromAdvancePayment && widget.patientShare >= minTamaraLimit && widget.patientShare <= maxTamaraLimit) - Container( - width: double.infinity, - child: InkWell( - onTap: () { - updateSelectedPaymentMethod("TAMARA"); - }, - child: Card( - elevation: 0.0, - margin: EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0), - color: Colors.white, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(10), - side: selectedPaymentMethod == "TAMARA" ? BorderSide(color: Colors.green, width: 2.0) : BorderSide(color: Colors.transparent, width: 0.0), - ), - child: Padding( - padding: const EdgeInsets.all(12.0), - child: Row( - children: [ - Container( - width: 24, - height: 24, - decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "TAMARA" ? CustomColors.accentColor : Colors.transparent, 100, Colors.grey, 0.5), - ), - mWidth(12), - Container( - height: 60.0, - padding: EdgeInsets.all(0.0), - width: 60, - child: projectViewModel.isArabic ? Image.asset("assets/images/new/payment/tamara_ar.png") : Image.asset("assets/images/new/payment/tamara_en.png"), - ), - mFlex(1), - if (selectedPaymentMethod == "TAMARA") + Container( + width: double.infinity, + child: InkWell( + onTap: () { + updateSelectedPaymentMethod("TAMARA"); + }, + child: Card( + elevation: 0.0, + margin: EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0), + color: Colors.white, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + side: selectedPaymentMethod == "TAMARA" ? BorderSide(color: Colors.green, width: 2.0) : BorderSide(color: Colors.transparent, width: 0.0), + ), + child: Padding( + padding: const EdgeInsets.all(12.0), + child: Row( + children: [ + Container( + width: 24, + height: 24, + decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "TAMARA" ? CustomColors.accentColor : Colors.transparent, 100, Colors.grey, 0.5), + ), + mWidth(12), Container( - decoration: containerRadius(CustomColors.green, 200), - padding: EdgeInsets.only(top: 6, bottom: 6, left: 12, right: 12), - child: Text( - TranslationBase.of(context).paymentSelected, - style: TextStyle( - color: Colors.white, - fontSize: 11, + height: 60.0, + padding: EdgeInsets.all(0.0), + width: 60, + child: projectViewModel.isArabic ? Image.asset("assets/images/new/payment/tamara_ar.png") : Image.asset("assets/images/new/payment/tamara_en.png"), + ), + mFlex(1), + if (selectedPaymentMethod == "TAMARA") + Container( + decoration: containerRadius(CustomColors.green, 200), + padding: EdgeInsets.only(top: 6, bottom: 6, left: 12, right: 12), + child: Text( + TranslationBase.of(context).paymentSelected, + style: TextStyle( + color: Colors.white, + fontSize: 11, + ), ), ), - ), - ], + ], + ), ), ), ), ), - ), if (widget.isShowInstallments && projectViewModel.havePrivilege(91)) Container( width: double.infinity, @@ -398,89 +398,84 @@ class _PaymentMethodState extends State { ], ), ), - if(tamaraInstallmentDetails != null) - Column( - children: [ - ...List.generate( - tamaraInstallmentDetails.supportedInstalments.length, - (index) => Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - SizedBox( - height: 1, - ), - Row( - children: [ - Expanded( - flex: 1, - child: InkWell( - onTap: () { - setState(() { - selectedInstallmentPlan = tamaraInstallmentDetails.supportedInstalments[index].instalments.toString(); - // getPaymentInfo(context, widget.projectID.toString(), widget.selectedProcedure.procedureID); - }); - }, - child: Row( - children: [ - Radio( - value: tamaraInstallmentDetails.supportedInstalments[index].instalments.toString(), - groupValue: selectedInstallmentPlan, - activeColor: Colors.red[800], - toggleable: true, - onChanged: (value) { - setState(() { - selectedInstallmentPlan = value; - print(selectedInstallmentPlan); - }); - }, - ), - Text( - tamaraInstallmentDetails.supportedInstalments[index].instalments.toString() + " " + TranslationBase.of(context).installments, - style: TextStyle( - fontSize: 12.0, - letterSpacing: -0.48, - fontWeight: FontWeight.w600, + if (tamaraInstallmentDetails != null) + Column( + children: [ + ...List.generate( + tamaraInstallmentDetails.supportedInstalments.length, + (index) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox( + height: 1, + ), + Row( + children: [ + Expanded( + flex: 1, + child: InkWell( + onTap: () { + setState(() { + selectedInstallmentPlan = tamaraInstallmentDetails.supportedInstalments[index].instalments.toString(); + // getPaymentInfo(context, widget.projectID.toString(), widget.selectedProcedure.procedureID); + }); + }, + child: Row( + children: [ + Radio( + value: tamaraInstallmentDetails.supportedInstalments[index].instalments.toString(), + groupValue: selectedInstallmentPlan, + activeColor: Colors.red[800], + toggleable: true, + onChanged: (value) { + setState(() { + selectedInstallmentPlan = value; + print(selectedInstallmentPlan); + }); + }, ), - ), - ], + Text( + tamaraInstallmentDetails.supportedInstalments[index].instalments.toString() + " " + TranslationBase.of(context).installments, + style: TextStyle( + fontSize: 12.0, + letterSpacing: -0.48, + fontWeight: FontWeight.w600, + ), + ), + ], + ), ), - ), - ) - ], - ), - ], - ), - ), - Container( - width: MediaQuery.of(context).size.width, - height: 50.0, - color: Colors.white, - child: ButtonTheme( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(10.0), + ) + ], + ), + ], ), - minWidth: MediaQuery.of(context).size.height * 0.1, - height: 45.0, - child: RaisedButton( - color: CustomColors.green, - textColor: Colors.white, - disabledTextColor: Colors.white, - disabledColor: new Color(0xFFbcc2c4), - elevation: 0, - onPressed: () { - widget.onSelectedMethod(selectedPaymentMethod, selectedInstallmentPlan); - Navigator.pop(context, [selectedPaymentMethod, selectedInstallmentPlan]); - }, - child: Text(TranslationBase.of(context).confirm.toUpperCase(), - style: TextStyle( - fontSize: 14.0, - fontWeight: FontWeight.w600, - )), + ), + Container( + width: MediaQuery.of(context).size.width, + height: 50.0, + color: Colors.white, + child: ButtonTheme( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10.0), + ), + minWidth: MediaQuery.of(context).size.height * 0.1, + height: 45.0, + child: CustomTextButton( + backgroundColor: CustomColors.green, + disabledForegroundColor: Color(0xFFbcc2c4).withOpacity(0.38), + disabledBackgroundColor: Color(0xFFbcc2c4).withOpacity(0.12), + elevation: 0, + onPressed: () { + widget.onSelectedMethod(selectedPaymentMethod, selectedInstallmentPlan); + Navigator.pop(context, [selectedPaymentMethod, selectedInstallmentPlan]); + }, + child: Text(TranslationBase.of(context).confirm.toUpperCase(), style: TextStyle(fontSize: 14.0, fontWeight: FontWeight.w600, color: Colors.white)), + ), ), ), - ), - ], - ), + ], + ), ], ) : Container( @@ -493,21 +488,16 @@ class _PaymentMethodState extends State { ), minWidth: MediaQuery.of(context).size.height * 0.1, height: 45.0, - child: RaisedButton( - color: CustomColors.green, - textColor: Colors.white, - disabledTextColor: Colors.white, - disabledColor: new Color(0xFFbcc2c4), + child: CustomTextButton( + backgroundColor: CustomColors.green, + disabledForegroundColor: Color(0xFFbcc2c4).withOpacity(0.38), + disabledBackgroundColor: Color(0xFFbcc2c4).withOpacity(0.12), elevation: 0, onPressed: () { widget.onSelectedMethod(selectedPaymentMethod, selectedInstallmentPlan); Navigator.pop(context, [selectedPaymentMethod, selectedInstallmentPlan]); }, - child: Text(TranslationBase.of(context).confirm.toUpperCase(), - style: TextStyle( - fontSize: 14.0, - fontWeight: FontWeight.w600, - )), + child: Text(TranslationBase.of(context).confirm.toUpperCase(), style: TextStyle(fontSize: 14.0, fontWeight: FontWeight.w600, color: Colors.white)), ), ), ), diff --git a/lib/pages/appUpdatePage/app_update_page.dart b/lib/pages/appUpdatePage/app_update_page.dart index 7ef1b6ff..4bc790a5 100644 --- a/lib/pages/appUpdatePage/app_update_page.dart +++ b/lib/pages/appUpdatePage/app_update_page.dart @@ -1,6 +1,7 @@ import 'dart:io'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; @@ -30,39 +31,24 @@ class _AppUpdatePageState extends State { children: [ Stack( children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - SvgPicture.asset( - "assets/images/new-design/update_rocket_image.svg", - fit: BoxFit.fill), - ]), + Column(crossAxisAlignment: CrossAxisAlignment.stretch, children: [ + SvgPicture.asset("assets/images/new-design/update_rocket_image.svg", fit: BoxFit.fill), + ]), Container( margin: EdgeInsets.only(top: 40.0), width: MediaQuery.of(context).size.width, child: Text(TranslationBase.of(context).appUpdate, - textAlign: TextAlign.center, - style: TextStyle( - color: Color(0xff2d6c90).withOpacity(1.0), - fontSize: 22.0, - fontWeight: FontWeight.bold))), + textAlign: TextAlign.center, style: TextStyle(color: Color(0xff2d6c90).withOpacity(1.0), fontSize: 22.0, fontWeight: FontWeight.bold))), ], ), Container( margin: EdgeInsets.only(top: 5.0, bottom: 5.0), - child: SvgPicture.asset("assets/images/new-design/HMG_logo.svg", - fit: BoxFit.fill), + child: SvgPicture.asset("assets/images/new-design/HMG_logo.svg", fit: BoxFit.fill), ), Container( margin: EdgeInsets.only(top: 10.0, left: 10.0, right: 10.0), width: MediaQuery.of(context).size.width, - child: Text(widget.appUpdateText, - textAlign: TextAlign.center, - style: TextStyle( - color: Colors.grey[600], - fontSize: 14.0, - height: 1.5, - fontWeight: FontWeight.w600))), + child: Text(widget.appUpdateText, textAlign: TextAlign.center, style: TextStyle(color: Colors.grey[600], fontSize: 14.0, height: 1.5, fontWeight: FontWeight.w600))), Container( margin: EdgeInsets.only(left: 20.0, right: 20.0, top: 20.0), child: ButtonTheme( @@ -71,17 +57,15 @@ class _AppUpdatePageState extends State { ), minWidth: MediaQuery.of(context).size.width, height: 45.0, - child: RaisedButton( - color: Colors.red[800], - textColor: Colors.white, - elevation: 0, - disabledTextColor: Colors.white, - disabledColor: new Color(0xFFbcc2c4), + child: CustomTextButton( + backgroundColor: Colors.red[800], + disabledForegroundColor: Color(0xFFbcc2c4).withOpacity(0.38), + disabledBackgroundColor: Color(0xFFbcc2c4).withOpacity(0.12), + elevation: 0, onPressed: () { openAppUpdateLink(); }, - child: Text(TranslationBase.of(context).appUpdate, - style: TextStyle(fontSize: 18.0)), + child: Text(TranslationBase.of(context).appUpdate, style: TextStyle(fontSize: 18.0, color: Colors.white)), ), ), ), diff --git a/lib/pages/conference/widgets/platform_alert_dialog.dart b/lib/pages/conference/widgets/platform_alert_dialog.dart index ce5c086c..1f57119b 100644 --- a/lib/pages/conference/widgets/platform_alert_dialog.dart +++ b/lib/pages/conference/widgets/platform_alert_dialog.dart @@ -90,7 +90,7 @@ class PlatformAlertDialogAction extends PlatformWidget { @override Widget buildMaterialWidget(BuildContext context) { - return FlatButton( + return TextButton( child: child, onPressed: onPressed, ); diff --git a/lib/pages/landing/fragments/home_page_fragment2.dart b/lib/pages/landing/fragments/home_page_fragment2.dart index f5e4371c..06229ccc 100644 --- a/lib/pages/landing/fragments/home_page_fragment2.dart +++ b/lib/pages/landing/fragments/home_page_fragment2.dart @@ -132,7 +132,7 @@ class _HomePageFragment2State extends State { ), ), ), - FlatButton( + TextButton( onPressed: () { widget.onMedicalFileClick(); // navigateTo(context, MedicalProfilePageNew()); @@ -235,7 +235,7 @@ class _HomePageFragment2State extends State { ), ), ), - FlatButton( + TextButton( onPressed: () { // AppSharedPreferences().getAll().then((value){ // debugPrint("ALL SHARED PREFERENCES!!!!!"); diff --git a/lib/pages/landing/home_page.dart b/lib/pages/landing/home_page.dart index 18c1e4cd..17b24a64 100644 --- a/lib/pages/landing/home_page.dart +++ b/lib/pages/landing/home_page.dart @@ -12,12 +12,12 @@ import 'package:diplomaticquarterapp/pages/Covid-DriveThru/covid-drivethru-locat import 'package:diplomaticquarterapp/pages/ErService/ErOptions.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/livecare/livecare_home.dart'; -import 'package:diplomaticquarterapp/pages/packages_offers/OfferAndPackagesPage.dart'; import 'package:diplomaticquarterapp/pages/packages_offers/packages_offers_tab_pager.dart'; import 'package:diplomaticquarterapp/pages/paymentService/payment_service.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; @@ -128,28 +128,21 @@ class _HomePageState extends State { ), minWidth: MediaQuery.of(context).size.width * 0.15, height: 25.0, - child: RaisedButton( - color: Colors.red[800], + child: CustomTextButton( + backgroundColor: Colors.red[800], elevation: 0, - textColor: Colors.white, - disabledTextColor: Colors.white, - disabledColor: new Color(0xFFbcc2c4), + disabledForegroundColor: new Color(0xFFbcc2c4).withOpacity(0.38), + disabledBackgroundColor: new Color(0xFFbcc2c4).withOpacity(0.12), onPressed: (model.user != null && model.user.outSA == 1) ? () {} : () { navigateToCovidDriveThru(); }, child: Center( - child: Center( - child: Center( - child: Center( - child: Texts( - TranslationBase.of(context).bookNow, - fontWeight: FontWeight.w700, - color: Colors.white, - ), - ), - ), + child: Texts( + TranslationBase.of(context).bookNow, + fontWeight: FontWeight.w700, + color: Colors.white, ), ), ), diff --git a/lib/pages/landing/widgets/slider_view.dart b/lib/pages/landing/widgets/slider_view.dart index c6e0a284..d73cb7c5 100644 --- a/lib/pages/landing/widgets/slider_view.dart +++ b/lib/pages/landing/widgets/slider_view.dart @@ -4,6 +4,7 @@ import 'package:auto_size_text/auto_size_text.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -21,7 +22,7 @@ class SliderView extends StatelessWidget { decoration: cardRadius(20), margin: EdgeInsets.all(0), child: Container( - decoration: cardRadius(20,color: Color(0xFFF2B353E)), + decoration: cardRadius(20, color: Color(0xFFF2B353E)), clipBehavior: Clip.antiAlias, margin: EdgeInsets.zero, @@ -89,11 +90,10 @@ class SliderView extends StatelessWidget { child: Container( height: MediaQuery.of(context).size.width / 14, width: MediaQuery.of(context).size.width / (projectViewModel.isArabic ? 4 : 6), - child: RaisedButton( + child: CustomTextButton( shape: cardRadiusNew(8), - color: Color(0xFFFBF2E31), + backgroundColor: Color(0xFFFBF2E31), elevation: 0, - padding: EdgeInsets.zero, onPressed: () { onLoginClick(); }, diff --git a/lib/pages/livecare/widgets/clinic_list.dart b/lib/pages/livecare/widgets/clinic_list.dart index e01522c5..05dd19b1 100644 --- a/lib/pages/livecare/widgets/clinic_list.dart +++ b/lib/pages/livecare/widgets/clinic_list.dart @@ -25,6 +25,7 @@ import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart'; import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart'; @@ -613,14 +614,13 @@ class _clinic_listState extends State { ), minWidth: MediaQuery.of(context).size.width * 0.7, height: 45.0, - child: RaisedButton( - color: CustomColors.accentColor, - textColor: Colors.white, + child: CustomTextButton( + backgroundColor: CustomColors.accentColor, + disabledForegroundColor: Color(0xFFbcc2c4).withOpacity(0.38), + disabledBackgroundColor: Color(0xFFbcc2c4).withOpacity(0.12), elevation: 0, - disabledTextColor: Colors.white, - disabledColor: new Color(0xFFbcc2c4), onPressed: startScheduleLiveCare, - child: Text(TranslationBase.of(context).start, style: TextStyle(fontSize: 18.0)), + child: Text(TranslationBase.of(context).start, style: TextStyle(fontSize: 18.0, color: Colors.white)), ), ), ) diff --git a/lib/pages/login/forgot-password.dart b/lib/pages/login/forgot-password.dart index 62fc1bfe..10b3dc48 100644 --- a/lib/pages/login/forgot-password.dart +++ b/lib/pages/login/forgot-password.dart @@ -72,7 +72,7 @@ class _ForgotPassword extends State { SizedBox( height: 43, width: double.infinity, - child: FlatButton( + child: TextButton( onPressed: () { sendPatientIDBySMS(); locator().loginRegistration.recover_file_number(); @@ -81,10 +81,11 @@ class _ForgotPassword extends State { TranslationBase.of(context).submit, style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Colors.white, letterSpacing: -0.48), ), - // color: Color(0xffD02127), - color: (mobileNo.length >= 9) == true ? Color(0xffD02127) : Color(0xff575757), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(6), + style: TextButton.styleFrom( + backgroundColor: (mobileNo.length >= 9) == true ? Color(0xffD02127) : Color(0xff575757), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(6), + ), ), ), ), diff --git a/lib/pages/login/login-type.dart b/lib/pages/login/login-type.dart index 61756ac8..a9e309bc 100644 --- a/lib/pages/login/login-type.dart +++ b/lib/pages/login/login-type.dart @@ -1,16 +1,11 @@ import 'package:diplomaticquarterapp/analytics/flows/login_registration.dart'; import 'package:diplomaticquarterapp/analytics/google-analytics.dart'; -import 'package:diplomaticquarterapp/config/size_config.dart'; import 'package:diplomaticquarterapp/locator.dart'; import 'package:diplomaticquarterapp/pages/login/forgot-password.dart'; import 'package:diplomaticquarterapp/pages/login/login.dart'; import 'package:diplomaticquarterapp/pages/login/register_new.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; -import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; -import 'package:diplomaticquarterapp/widgets/card/rounded_container.dart'; import 'package:diplomaticquarterapp/widgets/habib_logo_widget.dart'; -import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; -import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/gestures.dart'; @@ -63,10 +58,11 @@ class LoginType extends StatelessWidget { text: TextSpan( text: TranslationBase.of(context).forgotPassword, style: TextStyle(decoration: TextDecoration.underline, fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xffC9272B), letterSpacing: -0.48, height: 18 / 12), - recognizer: TapGestureRecognizer()..onTap = () { - Navigator.of(context).push(FadePage(page: ForgotPassword())); - locator().loginRegistration.forget_file_number(); - }, + recognizer: TapGestureRecognizer() + ..onTap = () { + Navigator.of(context).push(FadePage(page: ForgotPassword())); + locator().loginRegistration.forget_file_number(); + }, ), ), ], @@ -75,7 +71,7 @@ class LoginType extends StatelessWidget { SizedBox( height: 43, width: double.infinity, - child: FlatButton( + child: TextButton( onPressed: () { Navigator.of(context).push(FadePage(page: RegisterNew())); locator().loginRegistration.register_now(); @@ -84,9 +80,11 @@ class LoginType extends StatelessWidget { TranslationBase.of(context).registerNow, style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Colors.white, letterSpacing: -0.48), ), - color: Color(0xffD02127), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(6), + style: TextButton.styleFrom( + backgroundColor: Color(0xffD02127), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(6), + ), ), ), ), @@ -232,11 +230,9 @@ class LoginType extends StatelessWidget { } Widget getButton(BuildContext _context, String _title, String _icon, int _flag) { - var type = ''; - if(_flag == 1) - type = 'national id'; - if(_flag == 2) - type = 'file number'; + var type = ''; + if (_flag == 1) type = 'national id'; + if (_flag == 2) type = 'file number'; return InkWell( onTap: () { diff --git a/lib/pages/medical/eye/EyeHomePage.dart b/lib/pages/medical/eye/EyeHomePage.dart index 6a62af5d..901ce187 100644 --- a/lib/pages/medical/eye/EyeHomePage.dart +++ b/lib/pages/medical/eye/EyeHomePage.dart @@ -12,6 +12,7 @@ import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_send_email_dialog.dart'; import 'package:diplomaticquarterapp/widgets/new_design/doctor_header.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; @@ -356,18 +357,19 @@ class _EyeHomePageState extends State with SingleTickerProviderStat ), minWidth: MediaQuery.of(context).size.width, height: 40.0, - child: RaisedButton( + child: CustomTextButton( elevation: 0.0, - color: Colors.white, - textColor: Colors.red, - hoverColor: Colors.transparent, - focusColor: Colors.transparent, - highlightColor: Colors.transparent, - disabledColor: new Color(0xFFbcc2c4), + backgroundColor: Colors.white, + disabledForegroundColor: Color(0xFFbcc2c4).withOpacity(0.38), + disabledBackgroundColor: Color(0xFFbcc2c4).withOpacity(0.12), onPressed: () { Navigator.of(context).pop(); }, - child: Text(TranslationBase.of(context).cancel, style: TextStyle(fontSize: 18.0)), + child: Text(TranslationBase.of(context).cancel, + style: TextStyle( + fontSize: 18.0, + color: Colors.red, + )), ), ), ), diff --git a/lib/pages/medical/labs/passport_update_page.dart b/lib/pages/medical/labs/passport_update_page.dart index 7cfdd374..0f512982 100644 --- a/lib/pages/medical/labs/passport_update_page.dart +++ b/lib/pages/medical/labs/passport_update_page.dart @@ -5,7 +5,7 @@ import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; -import 'package:diplomaticquarterapp/widgets/input/text_field.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; @@ -35,7 +35,8 @@ class _PassportUpdatePageState extends State { isShowAppBar: true, isBottomBar: true, showNewAppBar: true, - showNewAppBarTitle: true,backgroundColor: CustomColors.appBackgroudGrey2Color, + showNewAppBarTitle: true, + backgroundColor: CustomColors.appBackgroudGrey2Color, body: Container( child: Column( children: [ @@ -142,12 +143,11 @@ class _PassportUpdatePageState extends State { ), minWidth: MediaQuery.of(context).size.width, height: 45.0, - child: RaisedButton( - color: new Color(0xFFc5272d), - textColor: Colors.white, - disabledTextColor: Colors.white, + child: CustomTextButton( + backgroundColor: Color(0xFFc5272d), + disabledForegroundColor: Colors.red[300].withOpacity(0.38), + disabledBackgroundColor: Colors.red[300].withOpacity(0.12), elevation: 0, - disabledColor: Colors.red[300], onPressed: () { if (_isButtonDisabled == false) updatePassportNumber(); @@ -159,6 +159,7 @@ class _PassportUpdatePageState extends State { style: TextStyle( fontSize: 16.0, letterSpacing: -0.64, + color: Colors.white, ), ), ), @@ -283,7 +284,7 @@ class _PassportUpdatePageState extends State { service.getCovidPassportNumber().then((res) { GifLoaderDialogUtils.hideDialog(context); - if(res['Covid19_Certificate_GetPassportList'].length != 0) { + if (res['Covid19_Certificate_GetPassportList'].length != 0) { passportNumber.text = res['Covid19_Certificate_GetPassportList'][0]['PassportNo']; if (res['Covid19_Certificate_GetPassportList'][0]['PassportNo'] != "") { _isButtonDisabled = false; diff --git a/lib/pages/packages_offers/PackageOrderCompletedPage.dart b/lib/pages/packages_offers/PackageOrderCompletedPage.dart index 73baca4b..6fe099a5 100644 --- a/lib/pages/packages_offers/PackageOrderCompletedPage.dart +++ b/lib/pages/packages_offers/PackageOrderCompletedPage.dart @@ -1,6 +1,7 @@ import 'package:diplomaticquarterapp/core/viewModels/packages_offers/PackagesOffersViewModel.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; @@ -9,7 +10,7 @@ import 'package:flutter_svg/svg.dart'; dynamic languageID; -class PackageOrderCompletedPage extends StatelessWidget{ +class PackageOrderCompletedPage extends StatelessWidget { double buttonHeight; double buttonWidth; Widget icon; @@ -18,20 +19,20 @@ class PackageOrderCompletedPage extends StatelessWidget{ String subTitle; String actionTitle; - PackageOrderCompletedPage({this.buttonWidth, this.buttonHeight, @required this.heading, @required this.title, @required this.subTitle, this.actionTitle }); + PackageOrderCompletedPage({this.buttonWidth, this.buttonHeight, @required this.heading, @required this.title, @required this.subTitle, this.actionTitle}); @override Widget build(BuildContext context) { - assert((heading != null || title != null || subTitle != null), "Data missing in properties"); + assert((heading != null || title != null || subTitle != null), "Data missing in properties"); - buttonWidth = buttonWidth ?? MediaQuery.of(context).size.width/2; + buttonWidth = buttonWidth ?? MediaQuery.of(context).size.width / 2; buttonHeight = buttonHeight ?? 40; actionTitle = actionTitle ?? TranslationBase.of(context).done; return BaseView( allowAny: true, - onModelReady: (model){}, - builder: (_, model, wi){ + onModelReady: (model) {}, + builder: (_, model, wi) { return Container( color: Colors.white, child: Padding( @@ -39,98 +40,87 @@ class PackageOrderCompletedPage extends StatelessWidget{ child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ - AspectRatio( - aspectRatio: 1.2/1, - child: - iconWidget(context), + aspectRatio: 1.2 / 1, + child: iconWidget(context), ), - headingWidget(context), - - AspectRatio( - aspectRatio: 1/1, + aspectRatio: 1 / 1, child: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ titleWidget(context), - SizedBox(height: 20,), + SizedBox( + height: 20, + ), subTitleWidget(context), - SizedBox(height: 50,), + SizedBox( + height: 50, + ), actionWidget(context) ], ), ), ) - ], ), ), ); - } - ); + }); } - Widget iconWidget(BuildContext context){ + Widget iconWidget(BuildContext context) { return Padding( padding: const EdgeInsets.all(50), - child: icon ?? SvgPicture.asset( - "assets/images/svg/success.svg", - semanticsLabel: 'icon' - ), + child: icon ?? SvgPicture.asset("assets/images/svg/success.svg", semanticsLabel: 'icon'), ); } Widget headingWidget(BuildContext context) => Texts( - heading, - textAlign: TextAlign.center, - maxLines: 1, - color: Theme.of(context).primaryColor, - fontSize: 35.0, - fontWeight: FontWeight.bold, - ); + heading, + textAlign: TextAlign.center, + maxLines: 1, + color: Theme.of(context).primaryColor, + fontSize: 35.0, + fontWeight: FontWeight.bold, + ); Widget titleWidget(BuildContext context) => Texts( - title, - textAlign: TextAlign.center, - maxLines: 2, - color: Theme.of(context).primaryColor, - fontSize: 25.0, - fontWeight: FontWeight.w200, - ); + title, + textAlign: TextAlign.center, + maxLines: 2, + color: Theme.of(context).primaryColor, + fontSize: 25.0, + fontWeight: FontWeight.w200, + ); Widget subTitleWidget(BuildContext context) => Texts( - subTitle, - textAlign: TextAlign.center, - maxLines: 2, - color: Theme.of(context).primaryColor, - fontSize: 15.0, - fontWeight: FontWeight.normal, - ); - + subTitle, + textAlign: TextAlign.center, + maxLines: 2, + color: Theme.of(context).primaryColor, + fontSize: 15.0, + fontWeight: FontWeight.normal, + ); Widget actionWidget(BuildContext context) => Container( - height: buttonHeight, - width: buttonWidth, - child: ElevatedButton( - style: ElevatedButton.styleFrom( - - shape:RoundedRectangleBorder( - borderRadius: new BorderRadius.circular(buttonHeight/2), - ) - ), - child: Texts( - actionTitle, + height: buttonHeight, + width: buttonWidth, + child: CustomTextButton( + shape: RoundedRectangleBorder( + borderRadius: new BorderRadius.circular(buttonHeight / 2), + ), + child: Texts( + actionTitle, color: Colors.white, fontSize: 18.0, fontWeight: FontWeight.normal, - ), - onPressed: (){ - Navigator.of(context).pop(); - }, - ), - ); - + ), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + ); } diff --git a/lib/pages/pharmacies/screens/address-select-page.dart b/lib/pages/pharmacies/screens/address-select-page.dart index 9378fb3b..6b0b1140 100644 --- a/lib/pages/pharmacies/screens/address-select-page.dart +++ b/lib/pages/pharmacies/screens/address-select-page.dart @@ -1,4 +1,5 @@ import 'package:diplomaticquarterapp/core/model/pharmacies/Addresses.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/material.dart'; @@ -16,15 +17,16 @@ class AddressSelectPageTest extends StatelessWidget { body: Column( children: [ Container( - child: RaisedButton( + child: CustomTextButton( onPressed: () => {Navigator.pop(context, addresses[0])}, child: new Text( "Set address", style: new TextStyle(color: Colors.white, fontSize: 14), ), elevation: 0, - color: Colors.blueAccent, - disabledColor: Colors.blueAccent, + backgroundColor: Colors.blueAccent, + disabledForegroundColor: Colors.blueAccent.withOpacity(0.38), + disabledBackgroundColor: Colors.blueAccent.withOpacity(0.12), ), ), ], diff --git a/lib/pages/pharmacies/screens/cart-page/cart-order-page.dart b/lib/pages/pharmacies/screens/cart-page/cart-order-page.dart index 654db47d..499f5415 100644 --- a/lib/pages/pharmacies/screens/cart-page/cart-order-page.dart +++ b/lib/pages/pharmacies/screens/cart-page/cart-order-page.dart @@ -12,6 +12,7 @@ import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/widgets/buttons/GestureIconButton.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; @@ -406,7 +407,10 @@ class _OrderBottomWidgetState extends State { ], ), ), - RaisedButton( + CustomTextButton( + backgroundColor: Color(0xFF4CAF50), + disabledForegroundColor: Color(0xFF848484).withOpacity(0.38), + disabledBackgroundColor: Color(0xFF848484).withOpacity(0.12), onPressed: isAgree ? () => { if (widget.model.isCartItemsOutOfStock()) @@ -419,8 +423,7 @@ class _OrderBottomWidgetState extends State { "${TranslationBase.of(context).checkOut}", style: new TextStyle(color: isAgree ? Colors.white : Colors.grey.shade300, fontSize: 14), ), - color: Color(0xFF4CAF50), - disabledColor: Color(0xFF848484), + // disabledColor: Color(0xff005aff), ) ], @@ -437,7 +440,7 @@ class _OrderBottomWidgetState extends State { FadePage( page: PharmacyAddressesPage( orderPreviewViewModel: widget.model, - isShippingAddress: true, + isShippingAddress: true, ))).then((result) async { if (result != null) { GifLoaderDialogUtils.showMyDialog(context); diff --git a/lib/pages/pharmacies/screens/cart-page/payment_bottom_widget.dart b/lib/pages/pharmacies/screens/cart-page/payment_bottom_widget.dart index 0d68b329..fdcd3ca8 100644 --- a/lib/pages/pharmacies/screens/cart-page/payment_bottom_widget.dart +++ b/lib/pages/pharmacies/screens/cart-page/payment_bottom_widget.dart @@ -10,6 +10,7 @@ import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/navigation_service.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart'; import 'package:flutter/material.dart'; @@ -44,18 +45,19 @@ class PaymentBottomWidget extends StatelessWidget { margin: EdgeInsets.symmetric(horizontal: 0, vertical: 4), child: Row( children: [ - isChecked ? Texts( - "${TranslationBase.of(context).sar} ${model.cartResponse.totalAmount}", - fontSize: 14, - fontWeight: FontWeight.bold, - color: Color(0xff929295), - ): - Texts( - "${TranslationBase.of(context).sar} ${(model.cartResponse.totalAmount).toStringAsFixed(2)}", - fontSize: 14, - fontWeight: FontWeight.bold, - color: Color(0xff929295), - ), + isChecked + ? Texts( + "${TranslationBase.of(context).sar} ${model.cartResponse.totalAmount}", + fontSize: 14, + fontWeight: FontWeight.bold, + color: Color(0xff929295), + ) + : Texts( + "${TranslationBase.of(context).sar} ${(model.cartResponse.totalAmount).toStringAsFixed(2)}", + fontSize: 14, + fontWeight: FontWeight.bold, + color: Color(0xff929295), + ), Padding( padding: const EdgeInsets.symmetric(horizontal: 4), child: Texts( @@ -77,15 +79,23 @@ class PaymentBottomWidget extends StatelessWidget { ], ), Container( - child: RaisedButton( - elevation: 0, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(8), - side: BorderSide( - color: Color(0xff929295), - width: 1, + child: CustomTextButton( + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + side: BorderSide( + color: Color(0xff929295), + width: 1, + ), ), - ), + disabledForegroundColor: (orderPreviewViewModel.paymentCheckoutData.address != null && orderPreviewViewModel.paymentCheckoutData.paymentOption != null) + ? Colors.green + : Color(0xff929295).withOpacity(0.38), + disabledBackgroundColor: (orderPreviewViewModel.paymentCheckoutData.address != null && orderPreviewViewModel.paymentCheckoutData.paymentOption != null) + ? Colors.green + : Color(0xff929295).withOpacity(0.12), + backgroundColor: + (orderPreviewViewModel.paymentCheckoutData.address != null && orderPreviewViewModel.paymentCheckoutData.paymentOption != null) ? Colors.green : Color(0xff929295), onPressed: (orderPreviewViewModel.paymentCheckoutData.address != null && orderPreviewViewModel.paymentCheckoutData.paymentOption != null) ? () async { GifLoaderDialogUtils.showMyDialog(context); @@ -115,8 +125,6 @@ class PaymentBottomWidget extends StatelessWidget { fontSize: 12), ), ), - color: (orderPreviewViewModel.paymentCheckoutData.address != null && orderPreviewViewModel.paymentCheckoutData.paymentOption != null) ? Colors.green : Color(0xff929295), - disabledColor: (orderPreviewViewModel.paymentCheckoutData.address != null && orderPreviewViewModel.paymentCheckoutData.paymentOption != null) ? Colors.green : Color(0xff929295), ), ), ], @@ -163,9 +171,9 @@ class PaymentBottomWidget extends StatelessWidget { onBrowserExit(AppoitmentAllHistoryResultList appo, bool isPaymentMade) { print("onBrowserExit Called!!!!"); - AppToast.showSuccessToast(message: "شكراً\nPayment status for your order is Paid"); - // Navigator.pop(context); - // Navigator.pop(context); + AppToast.showSuccessToast(message: "شكراً\nPayment status for your order is Paid"); + // Navigator.pop(context); + // Navigator.pop(context); // } else { // AppToast.showErrorToast(message: "Transaction Failed!\Your transaction is field to some reason please try again or contact to the administration"); // // Navigator.pop(context); diff --git a/lib/pages/pharmacies/screens/product-details/footor/footer-widget.dart b/lib/pages/pharmacies/screens/product-details/footor/footer-widget.dart index b0f6db78..947a24f3 100644 --- a/lib/pages/pharmacies/screens/product-details/footor/footer-widget.dart +++ b/lib/pages/pharmacies/screens/product-details/footor/footer-widget.dart @@ -177,7 +177,7 @@ class _FooterWidgetState extends State { children: [ Container( height: 60, - child: FlatButton( + child: TextButton( child: Row( children: [ Column( diff --git a/lib/pages/pharmacies/screens/product-details/product-detail.dart b/lib/pages/pharmacies/screens/product-details/product-detail.dart index 6799f30e..6d9d39f0 100644 --- a/lib/pages/pharmacies/screens/product-details/product-detail.dart +++ b/lib/pages/pharmacies/screens/product-details/product-detail.dart @@ -227,7 +227,7 @@ class __ProductDetailPageState extends State { children: [ Column( children: [ - FlatButton( + TextButton( onPressed: () { setState(() { isDetails = true; @@ -239,7 +239,9 @@ class __ProductDetailPageState extends State { TranslationBase.of(context).details, style: TextStyle(fontWeight: FontWeight.w600, fontSize: 14, letterSpacing: -0.84), ), - color: Colors.white, + style: TextButton.styleFrom( + backgroundColor: Colors.white, + ), ), CustomDivider( color: isDetails ? Colors.green : Colors.transparent, @@ -251,7 +253,7 @@ class __ProductDetailPageState extends State { ), Column( children: [ - FlatButton( + TextButton( onPressed: () async { if (widget.product.approvedTotalReviews > 0) { GifLoaderDialogUtils.showMyDialog(context); @@ -270,7 +272,9 @@ class __ProductDetailPageState extends State { TranslationBase.of(context).reviews, style: TextStyle(fontWeight: FontWeight.w600, fontSize: 14, letterSpacing: -0.84), ), - color: Colors.white, + style: TextButton.styleFrom( + backgroundColor: Colors.white, + ), ), CustomDivider( color: isReviews ? Colors.green : Colors.transparent, @@ -282,7 +286,7 @@ class __ProductDetailPageState extends State { ), Column( children: [ - FlatButton( + TextButton( onPressed: model.isStockAvailable != null && model.isStockAvailable ? () async { GifLoaderDialogUtils.showMyDialog(context); @@ -300,8 +304,9 @@ class __ProductDetailPageState extends State { TranslationBase.of(context).availability, style: TextStyle(fontWeight: FontWeight.w600, fontSize: 14, letterSpacing: -0.84), ), - color: Colors.white, - ), + style: TextButton.styleFrom( + backgroundColor: Colors.white, + ), ), CustomDivider( color: isAvailability ? Colors.green : Colors.transparent, ), diff --git a/lib/theme/theme_value.dart b/lib/theme/theme_value.dart index 1c01d990..bcb460b7 100644 --- a/lib/theme/theme_value.dart +++ b/lib/theme/theme_value.dart @@ -1,7 +1,7 @@ -import 'dart:ui'; import 'package:diplomaticquarterapp/Constants.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; /// ---- Default Theme ---- /// @@ -28,19 +28,14 @@ defaultTheme({fontName}) { disabledColor: Colors.grey[300], errorColor: Color.fromRGBO(235, 80, 60, 1.0), scaffoldBackgroundColor: Color(0xffF8F8F8), - // Colors.grey[100], - textSelectionColor: Color.fromRGBO(80, 100, 253, 0.5), - textSelectionHandleColor: Colors.grey, canvasColor: Colors.white, backgroundColor: Color.fromRGBO(255, 255, 255, 1), highlightColor: Colors.grey[100].withOpacity(0.4), splashColor: Colors.transparent, primaryColor: Color(0xff515A5D), - buttonColor: Colors.black, toggleableActiveColor: secondaryColor, indicatorColor: secondaryColor, bottomSheetTheme: BottomSheetThemeData(backgroundColor: Color(0xFFE0E0E0)), - cursorColor: Colors.grey, primaryTextTheme: TextTheme(bodyText2: TextStyle(color: Colors.white)), iconTheme: IconThemeData(), textTheme: TextTheme( @@ -52,12 +47,11 @@ defaultTheme({fontName}) { appBarTheme: AppBarTheme( color: Color(0xff515A5D), - brightness: Brightness.light, elevation: 0.0, actionsIconTheme: IconThemeData( color: Colors.grey[800], - ), - ), + ), systemOverlayStyle: SystemUiOverlayStyle.dark, + ), textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.grey, selectionColor: Color.fromRGBO(80, 100, 253, 0.5), selectionHandleColor: Colors.grey,), ); } @@ -80,28 +74,22 @@ invertThemes({fontName}) { disabledColor: Colors.grey[800], errorColor: Color.fromRGBO(235, 80, 60, 1.0), scaffoldBackgroundColor: Color(0xff000000), - // Colors.grey[100], - textSelectionColor: Color.fromRGBO(80, 100, 253, 0.5), - textSelectionHandleColor: Colors.grey, canvasColor: Colors.black, backgroundColor: Color.fromRGBO(255, 255, 255, 1), highlightColor: Colors.grey[100].withOpacity(0.4), splashColor: Colors.transparent, primaryColor: Color(0xff515A5D), - buttonColor: Colors.black, toggleableActiveColor: secondaryColor, indicatorColor: secondaryColor, bottomSheetTheme: BottomSheetThemeData(backgroundColor: Color(0xFFE0E0E0)), - cursorColor: Colors.black, iconTheme: IconThemeData(), appBarTheme: AppBarTheme( color: Color(0xff000000), - brightness: Brightness.dark, elevation: 0.0, actionsIconTheme: IconThemeData( color: Colors.grey[800], - ), - ), + ), systemOverlayStyle: SystemUiOverlayStyle.light, + ), textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.black, selectionColor: Color.fromRGBO(80, 100, 253, 0.5), selectionHandleColor: Colors.grey,), ); } @@ -136,9 +124,6 @@ bwThemes({fontName}) { disabledColor: Colors.grey[800], errorColor: Color.fromRGBO(235, 80, 60, 1.0), scaffoldBackgroundColor: Color(0xffffffe4), - // Colors.grey[100], - textSelectionColor: Color.fromRGBO(80, 100, 253, 0.5), - textSelectionHandleColor: Colors.grey, canvasColor: Colors.black, backgroundColor: Color(0xffffffe4), highlightColor: Colors.grey[100].withOpacity(0.4), @@ -147,16 +132,14 @@ bwThemes({fontName}) { toggleableActiveColor: secondaryColor, indicatorColor: secondaryColor, bottomSheetTheme: BottomSheetThemeData(backgroundColor: Color(0xFFE0E0E0)), - cursorColor: Colors.black, iconTheme: IconThemeData(), appBarTheme: AppBarTheme( color: Color(0xffffffe4), - brightness: Brightness.dark, elevation: 0.0, actionsIconTheme: IconThemeData( color: Colors.grey[800], - ), - ), + ), systemOverlayStyle: SystemUiOverlayStyle.light, + ), textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.black, selectionColor: Color.fromRGBO(80, 100, 253, 0.5), selectionHandleColor: Colors.grey,), ); } @@ -178,23 +161,19 @@ dimTheme({fontName}) { disabledColor: Colors.grey[300], errorColor: Color.fromRGBO(235, 80, 60, 1.0), scaffoldBackgroundColor: Color(0xffEEEEEE), - textSelectionColor: Color.fromRGBO(80, 100, 253, 0.5), - textSelectionHandleColor: Colors.grey, canvasColor: Colors.white, backgroundColor: Color.fromRGBO(255, 255, 255, 1), highlightColor: Colors.grey[100].withOpacity(0.4), splashColor: Colors.transparent, primaryColor: Color(0xff40ACC9), bottomSheetTheme: BottomSheetThemeData(backgroundColor: Color(0xffE0E0E0)), - cursorColor: Colors.grey, iconTheme: IconThemeData(), appBarTheme: AppBarTheme( color: Color(0xff40ACC9), - brightness: Brightness.dark, elevation: 10.0, actionsIconTheme: IconThemeData( color: Color(0xff40ACC9), - ), - ), + ), systemOverlayStyle: SystemUiOverlayStyle.light, + ), textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.grey, selectionColor: Color.fromRGBO(80, 100, 253, 0.5), selectionHandleColor: Colors.grey,), ); } diff --git a/lib/uitl/push-notification-handler.dart b/lib/uitl/push-notification-handler.dart index 9fc5a7c7..2cea20f3 100644 --- a/lib/uitl/push-notification-handler.dart +++ b/lib/uitl/push-notification-handler.dart @@ -244,7 +244,7 @@ class PushNotificationHandler { // 'Android GMS or iOS' (Handle Firebase Messaging Streams FirebaseMessaging.instance.getInitialMessage().then((RemoteMessage message) async { - print("Firebase getInitialMessage!!!"); + print("Firebase getInitialMessage with message : ${message.data.toString()}"); subscribeFCMTopic(); if (Platform.isIOS) await Future.delayed(Duration(milliseconds: 3000)).then((value) { @@ -323,6 +323,9 @@ class PushNotificationHandler { newMessage(RemoteMessage remoteMessage) async { print("Remote Message: " + remoteMessage.data.toString()); + if (remoteMessage.data.isEmpty) { + return; + } if (remoteMessage.data['is_call'] == 'true' || remoteMessage.data['is_call'] == true) { _incomingCall(remoteMessage.data); } else { diff --git a/lib/widgets/buttons/custom_text_button.dart b/lib/widgets/buttons/custom_text_button.dart new file mode 100644 index 00000000..814acc64 --- /dev/null +++ b/lib/widgets/buttons/custom_text_button.dart @@ -0,0 +1,46 @@ +import 'package:flutter/material.dart'; + +class CustomTextButton extends StatelessWidget { + final Color backgroundColor; + final Color disabledColor; + final void Function() onPressed; + final void Function() onLongPress; + final void Function(bool) onHover; + final Widget child; + final OutlinedBorder shape; + final double elevation; + final BorderSide side; + final Color disabledForegroundColor; + final Color disabledBackgroundColor; + + const CustomTextButton({ + Key key, + this.backgroundColor, + this.disabledColor, + this.onPressed, + this.onLongPress, + this.onHover, + this.child, + this.shape, + this.elevation, + this.side, + this.disabledForegroundColor = const Color(0x61bcc2c4), + this.disabledBackgroundColor = const Color(0x1Fbcc2c4), + }) : super(key: key); + + @override + Widget build(BuildContext context) { + return TextButton( + style: TextButton.styleFrom( + backgroundColor: backgroundColor, + shape: shape ?? RoundedRectangleBorder(borderRadius: BorderRadius.circular(6)), + disabledForegroundColor: disabledForegroundColor, + disabledBackgroundColor: disabledBackgroundColor, + elevation: elevation, + side: side, + ), + onPressed: onPressed, + child: child, + ); + } +} diff --git a/lib/widgets/buttons/defaultButton.dart b/lib/widgets/buttons/defaultButton.dart index cb9ebbdd..f7283d1c 100644 --- a/lib/widgets/buttons/defaultButton.dart +++ b/lib/widgets/buttons/defaultButton.dart @@ -3,7 +3,9 @@ import 'package:flutter_svg/svg.dart'; extension WithContainer on Widget { Widget get insideContainer => Container(color: Colors.white, padding: EdgeInsets.only(top: 16, bottom: 16, right: 21, left: 21), child: this); + Widget get expand => Expanded(child: this); + Widget get insideContainerTableRow => Container(color: Colors.white, padding: EdgeInsets.only(right: 5, left: 5), child: this); } @@ -26,13 +28,13 @@ class DefaultButton extends StatelessWidget { return SizedBox( height: 43, width: double.infinity, - child: FlatButton( + child: TextButton( onPressed: onPress, child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ if (iconData != null) Icon(iconData, color: textColor), - if (svgIcon != null) SvgPicture.asset(svgIcon,color: textColor), + if (svgIcon != null) SvgPicture.asset(svgIcon, color: textColor), if (!isTextExpanded) Padding( padding: EdgeInsets.only(left: (iconData ?? svgIcon) != null ? 6 : 0), @@ -68,11 +70,12 @@ class DefaultButton extends StatelessWidget { ) ], ), - // color: Color(0xffD02127), - color: color ?? const Color(0xffD02127), - disabledColor: disabledColor, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(6), + style: TextButton.styleFrom( + backgroundColor: color ?? const Color(0xffD02127), + disabledForegroundColor: disabledColor, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(6), + ), ), ), ); diff --git a/lib/widgets/data_display/medical/LabResult/LabResultWidget.dart b/lib/widgets/data_display/medical/LabResult/LabResultWidget.dart index 275b6373..f2d8a693 100644 --- a/lib/widgets/data_display/medical/LabResult/LabResultWidget.dart +++ b/lib/widgets/data_display/medical/LabResult/LabResultWidget.dart @@ -8,6 +8,7 @@ import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_send_email_dialog.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; @@ -65,16 +66,15 @@ class LabResultWidget extends StatelessWidget { ), minWidth: MediaQuery.of(context).size.width * 0.91, height: 45.0, - child: RaisedButton( - color: new Color(0xFFc5272d), - textColor: Colors.white, + child: CustomTextButton( + backgroundColor: Color(0xFFc5272d), + disabledForegroundColor: Colors.red[300].withOpacity(0.38), + disabledBackgroundColor: Colors.red[300].withOpacity(0.12), elevation: 0, - disabledTextColor: Colors.white, - disabledColor: Colors.red[300], onPressed: () { showKSADialog(context); }, - child: Text(TranslationBase.of(context).generateCovidCertificate, style: TextStyle(fontSize: 18.0)), + child: Text(TranslationBase.of(context).generateCovidCertificate, style: TextStyle(fontSize: 18.0, color: Colors.white)), ), ), ) diff --git a/lib/widgets/data_display/medical/time_line_new_widget.dart b/lib/widgets/data_display/medical/time_line_new_widget.dart index 3df1bb48..0f5f9195 100644 --- a/lib/widgets/data_display/medical/time_line_new_widget.dart +++ b/lib/widgets/data_display/medical/time_line_new_widget.dart @@ -15,6 +15,7 @@ import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/widgets/avatar/large_avatar.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:equatable/equatable.dart'; import 'package:flutter/material.dart'; @@ -242,11 +243,10 @@ class _TimeLineViewState extends State { ? Container( height: MediaQuery.of(context).size.width / 14, width: MediaQuery.of(context).size.width / (widget.isArabic ? 4 : 6), - child: RaisedButton( - shape: cardRadiusNew(8), - elevation: 0, - color: Color(0xFFFBF2E31), - padding: EdgeInsets.zero, + child: CustomTextButton( + shape: cardRadiusNew(8), + elevation: 0, + backgroundColor: Color(0xFFFBF2E31), onPressed: () { // onLoginClick(); login(); diff --git a/lib/widgets/dialogs/alert_dialog.dart b/lib/widgets/dialogs/alert_dialog.dart index 24bbefb4..8515e466 100644 --- a/lib/widgets/dialogs/alert_dialog.dart +++ b/lib/widgets/dialogs/alert_dialog.dart @@ -19,7 +19,7 @@ class AlertDialogBox { showAlertDialog(BuildContext context) { Widget continueButton = - FlatButton(child: Text(this.okText), onPressed: (){ + TextButton(child: Text(this.okText), onPressed: (){ this.okFunction(); }); diff --git a/lib/widgets/dialogs/radio-group-dialog.dart b/lib/widgets/dialogs/radio-group-dialog.dart index 5eff11bd..7b4c3750 100644 --- a/lib/widgets/dialogs/radio-group-dialog.dart +++ b/lib/widgets/dialogs/radio-group-dialog.dart @@ -43,13 +43,13 @@ class RadioGroupState extends State { showAlertDialog(BuildContext context) { // set up the buttons - Widget cancelButton = FlatButton( + Widget cancelButton = TextButton( child: Text(this.widget.cancelText), onPressed: () { Navigator.of(context).pop(); }); Widget continueButton = - FlatButton(child: Text(this.widget.okText), onPressed: () { + TextButton(child: Text(this.widget.okText), onPressed: () { this.widget.okFunction(widget.selectedValue); Navigator.of(context).pop(); }); diff --git a/lib/widgets/hospital_location.dart b/lib/widgets/hospital_location.dart index 0e898ee1..056aa218 100644 --- a/lib/widgets/hospital_location.dart +++ b/lib/widgets/hospital_location.dart @@ -86,7 +86,7 @@ class HospitalLocation extends StatelessWidget { ), SizedBox(height: 10), contactButton(Icons.call, TranslationBase.of(context).callNow, () { - launch("tel://" + location.phoneNumber); + launchUrl(Uri.parse("tel://" + location.phoneNumber)); }), ], ), @@ -99,9 +99,12 @@ class HospitalLocation extends StatelessWidget { return SizedBox( height: 32, width: 100.0, - child: FlatButton.icon( - color: Color(0xffF5F5F5), - shape: StadiumBorder(side: BorderSide(color: Color(0xffF0F0F0), width: 1)), + child: TextButton.icon( + style: TextButton.styleFrom( + backgroundColor: Color(0xffF5F5F5), + shape: StadiumBorder(side: BorderSide(color: Color(0xffF0F0F0), width: 1)), + ), + onPressed: callback, icon: Icon( _iconData, diff --git a/lib/widgets/in_app_browser/InAppBrowser.dart b/lib/widgets/in_app_browser/InAppBrowser.dart index 47fc885b..bd7c67af 100644 --- a/lib/widgets/in_app_browser/InAppBrowser.dart +++ b/lib/widgets/in_app_browser/InAppBrowser.dart @@ -37,13 +37,13 @@ class MyInAppBrowser extends InAppBrowser { // static String APPLE_PAY_PAYFORT_URL = 'https://hmgwebservices.com/PayFortWebLive/PayFortApi/MakeApplePayRequest'; // Payfort Payment Gateway URL LIVE static String APPLE_PAY_PAYFORT_URL = 'https://hmgwebservices.com/PayFortWebLive/PayFortApi/MakeApplePayRequest'; // Payfort Payment Gateway URL UAT - // static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWeb/pages/SendPayFortRequest.aspx'; // Payfort Payment Gateway URL UAT + static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWeb/pages/SendPayFortRequest.aspx'; // Payfort Payment Gateway URL UAT - static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort Payment Gateway URL LIVE + // static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort Payment Gateway URL LIVE - // static String PREAUTH_SERVICE_URL = 'https://hmgwebservices.com/PayFortWeb/pages/SendPayFortRequest.aspx'; // Payfort PreAuth Payment Gateway URL UAT + static String PREAUTH_SERVICE_URL = 'https://hmgwebservices.com/PayFortWeb/pages/SendPayFortRequest.aspx'; // Payfort PreAuth Payment Gateway URL UAT - static String PREAUTH_SERVICE_URL = 'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort PreAuth Payment Gateway URL Live Store + // static String PREAUTH_SERVICE_URL = 'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort PreAuth Payment Gateway URL Live Store // static String PRESCRIPTION_PAYMENT_WITH_ORDERID = // 'https://uat.hmgwebservices.com/epharmacy/checkout/OpcCompleteRedirectionPaymentClientbyOrder?orderID='; diff --git a/lib/widgets/nfc/nfc_reader_sheet.dart b/lib/widgets/nfc/nfc_reader_sheet.dart index 347317ac..4257501f 100644 --- a/lib/widgets/nfc/nfc_reader_sheet.dart +++ b/lib/widgets/nfc/nfc_reader_sheet.dart @@ -1,5 +1,6 @@ import 'dart:io'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:flutter/material.dart'; import 'package:flutter_nfc_kit/flutter_nfc_kit.dart'; import 'package:flutter_svg/flutter_svg.dart'; @@ -106,13 +107,12 @@ class _NfcLayoutState extends State { shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(6), ), - child: RaisedButton( + child: CustomTextButton( + elevation: 0, onPressed: () { - // _stream?.cancel(); widget.onCancel(); Navigator.pop(context); }, - elevation: 0, child: Text("CANCEL"), ), ), @@ -166,16 +166,11 @@ class _NfcLayoutState extends State { shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(6), ), - child: RaisedButton( - // onPressed: () { - // _stream?.cancel(); - // widget.onNcfScan(nfcId); - // Navigator.pop(context); - // }, + child: CustomTextButton( + elevation: 0, onPressed: () { Navigator.pop(context); }, - elevation: 0, child: Text("DONE"), ), ), diff --git a/lib/widgets/others/floating_button_search.dart b/lib/widgets/others/floating_button_search.dart index c0609420..10f30b71 100644 --- a/lib/widgets/others/floating_button_search.dart +++ b/lib/widgets/others/floating_button_search.dart @@ -56,6 +56,7 @@ import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; @@ -1003,9 +1004,9 @@ class _MyStatefulBuilderState extends State { Expanded(flex: 1, child: Center(child: AppText(searchText != null && searchText != 'null' ? searchText : TranslationBase.of(context).trySaying))), searchText == 'null' ? Center( - child: RaisedButton( - child: AppText('Retry'), + child: CustomTextButton( elevation: 0, + child: AppText('Retry'), onPressed: () { RoboSearch.closeAlertDialog(context); event.setValue({'startPopUp': 'true'}); diff --git a/lib/widgets/others/not_auh_page.dart b/lib/widgets/others/not_auh_page.dart index 5e957904..2a0a3b87 100644 --- a/lib/widgets/others/not_auh_page.dart +++ b/lib/widgets/others/not_auh_page.dart @@ -33,6 +33,7 @@ class NotAutPage extends StatefulWidget { class _NotAutPageState extends State { final authService = new auth.AuthProvider(); + @override Widget build(BuildContext context) { ProjectViewModel projectViewModel = Provider.of(context); @@ -104,7 +105,7 @@ class _NotAutPageState extends State { SizedBox( height: 43, width: double.infinity, - child: FlatButton( + child: TextButton( onPressed: () { loginCheck(context); }, @@ -112,10 +113,11 @@ class _NotAutPageState extends State { TranslationBase.of(context).loginregister, style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Colors.white, letterSpacing: -0.48), ), - // color: Color(0xffD02127), - color: Color(0xffD02127), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(6), + style: TextButton.styleFrom( + backgroundColor: Color(0xffD02127), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(6), + ), ), ), ), @@ -195,20 +197,20 @@ class _NotAutPageState extends State { SizedBox( height: 43, width: double.infinity, - child: FlatButton( - onPressed: () { - loginCheck(context); - }, - child: Text( - TranslationBase.of(context).loginregister, - style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Colors.white, letterSpacing: -0.48), - ), - // color: Color(0xffD02127), - color: Color(0xffD02127), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(6), - ), - ), + child: TextButton( + onPressed: () { + loginCheck(context); + }, + child: Text( + TranslationBase.of(context).loginregister, + style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Colors.white, letterSpacing: -0.48), + ), + style: TextButton.styleFrom( + backgroundColor: Color(0xffD02127), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(6), + ), + )), ), ]), ), diff --git a/pubspec.yaml b/pubspec.yaml index c7ce510c..7acc49ed 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -55,8 +55,8 @@ dependencies: shared_preferences: ^2.0.0 # flutter_flexible_toast: ^0.1.4 fluttertoast: ^8.0.8 - firebase_messaging: ^11.1.0 - firebase_analytics: ^8.3.4 + firebase_messaging: ^14.1.0 + firebase_analytics: ^10.0.5 # Progress bar @@ -161,8 +161,9 @@ dependencies: after_layout: ^1.1.0 # twilio_programmable_video: ^0.11.0+1 cached_network_image: ^3.1.0+1 - flutter_tts: - path: flutter_tts-voice_enhancement +# flutter_tts: +# path: flutter_tts-voice_enhancement + flutter_tts: ^3.6.1 wifi: ^0.1.5 vibration: ^1.7.3 @@ -172,7 +173,7 @@ dependencies: speech_to_text: path: speech_to_text - in_app_update: ^2.0.0 + in_app_update: ^3.0.0 in_app_review: ^2.0.3 @@ -190,7 +191,7 @@ dependencies: flutter_staggered_grid_view: ^0.4.1 # flutter_hms_gms_availability: ^2.0.0 huawei_hmsavailability: ^6.6.0+300 - huawei_location: ^6.0.0+302 + huawei_location: 6.0.0+302 # Marker Animation flutter_animarker: ^3.2.0 @@ -198,7 +199,7 @@ dependencies: equatable: ^2.0.3 signalr_core: ^1.1.1 wave: ^0.2.0 - sms_retriever: ^1.0.0 +# sms_retriever: ^1.0.0 sms_otp_auto_verify: ^2.1.0 flutter_ios_voip_kit: ^0.0.5 # firebase_core: 1.12.0 @@ -207,7 +208,7 @@ dependency_overrides: provider : ^5.0.0 permission_handler : ^6.0.1+1 flutter_svg: ^1.0.0 - firebase_messaging_platform_interface: 3.1.6 +# firebase_messaging_platform_interface: any flutter_inappwebview: git: url: https://github.com/CodeEagle/flutter_inappwebview diff --git a/speech_to_text/android/src/main/kotlin/com/csdcorp/speech_to_text/SpeechToTextPlugin.kt b/speech_to_text/android/src/main/kotlin/com/csdcorp/speech_to_text/SpeechToTextPlugin.kt index 7954add3..34562cdb 100644 --- a/speech_to_text/android/src/main/kotlin/com/csdcorp/speech_to_text/SpeechToTextPlugin.kt +++ b/speech_to_text/android/src/main/kotlin/com/csdcorp/speech_to_text/SpeechToTextPlugin.kt @@ -27,6 +27,7 @@ import android.content.BroadcastReceiver import android.os.Handler import android.os.Looper import android.util.Log +import androidx.annotation.RequiresApi import io.flutter.embedding.engine.plugins.activity.ActivityAware import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding import io.flutter.plugin.common.BinaryMessenger @@ -91,6 +92,7 @@ public class SpeechToTextPlugin : private var previousListenMode: ListenMode = ListenMode.deviceDefault private var lastFinalTime: Long = 0 private val handler: Handler = Handler(Looper.getMainLooper()) + @RequiresApi(Build.VERSION_CODES.LOLLIPOP) private val defaultLanguageTag: String = Locale.getDefault().toLanguageTag() override fun onAttachedToEngine(@NonNull flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) { @@ -147,6 +149,7 @@ public class SpeechToTextPlugin : currentActivity = null } + @RequiresApi(Build.VERSION_CODES.LOLLIPOP) override fun onMethodCall(@NonNull call: MethodCall, @NonNull rawrResult: Result) { val result = ChannelResultWrapper(rawrResult) try { @@ -201,6 +204,7 @@ public class SpeechToTextPlugin : } } + @RequiresApi(Build.VERSION_CODES.LOLLIPOP) private fun initialize(result: Result) { if (sdkVersionTooLow(result)) { return @@ -239,6 +243,7 @@ public class SpeechToTextPlugin : return !listening } + @RequiresApi(Build.VERSION_CODES.LOLLIPOP) private fun startListening(result: Result, languageTag: String, partialResults: Boolean, listenModeIndex: Int) { if (sdkVersionTooLow(result) || isNotInitialized(result) || isListening()) { @@ -357,6 +362,7 @@ public class SpeechToTextPlugin : return delta >= 0 && delta < 100 } + @RequiresApi(Build.VERSION_CODES.LOLLIPOP) private fun initializeIfPermitted(context: Context?) { val localContext = context if (null == localContext) { @@ -383,6 +389,7 @@ public class SpeechToTextPlugin : debugLog("leaving initializeIfPermitted") } + @RequiresApi(Build.VERSION_CODES.LOLLIPOP) private fun completeInitialize() { debugLog("completeInitialize") @@ -421,6 +428,7 @@ public class SpeechToTextPlugin : activeResult = null } + @RequiresApi(Build.VERSION_CODES.LOLLIPOP) private fun setupRecognizerIntent(languageTag: String, partialResults: Boolean, listenMode: ListenMode) { debugLog("setupRecognizerIntent") if (previousRecognizerLang == null || @@ -453,8 +461,8 @@ public class SpeechToTextPlugin : } } - override fun onRequestPermissionsResult(requestCode: Int, permissions: Array?, - grantResults: IntArray?): Boolean { + @RequiresApi(Build.VERSION_CODES.LOLLIPOP) + override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray): Boolean { when (requestCode) { speechToTextPermissionCode -> { if (null != grantResults) { @@ -527,6 +535,7 @@ class LanguageDetailsChecker(flutterResult: Result) : BroadcastReceiver() { private var languagePreference: String? = null + @RequiresApi(Build.VERSION_CODES.LOLLIPOP) override fun onReceive(context: Context, intent: Intent) { val results = getResultExtras(true) if (results.containsKey(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE)) { @@ -539,6 +548,7 @@ class LanguageDetailsChecker(flutterResult: Result) : BroadcastReceiver() { } } + @RequiresApi(Build.VERSION_CODES.LOLLIPOP) private fun createResponse(supportedLanguages: List?) { val currentLocale = Locale.getDefault() val localeNames = ArrayList() @@ -577,7 +587,7 @@ private class ChannelResultWrapper(result: Result) : Result { } } - override fun error(errorCode: String?, errorMessage: String?, data: Any?) { + override fun error(errorCode: String, errorMessage: String?, data: Any?) { handler.post { run { result.error(errorCode, errorMessage, data); diff --git a/speech_to_text/example/lib/main.dart b/speech_to_text/example/lib/main.dart index 0115b828..c7471184 100644 --- a/speech_to_text/example/lib/main.dart +++ b/speech_to_text/example/lib/main.dart @@ -75,7 +75,7 @@ class _MyAppState extends State { Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ - FlatButton( + TextButton( child: Text('Initialize'), onPressed: _hasSpeech ? null : initSpeechState, ), @@ -84,17 +84,17 @@ class _MyAppState extends State { Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ - FlatButton( + TextButton( child: Text('Start'), onPressed: !_hasSpeech || speech.isListening ? null : startListening, ), - FlatButton( + TextButton( child: Text('Stop'), onPressed: speech.isListening ? stopListening : null, ), - FlatButton( + TextButton( child: Text('Cancel'), onPressed: speech.isListening ? cancelListening : null, ),