Merge branch 'development' of https://gitlab.com/Cloud_Solution/diplomatic-quarter into bug_fix_mirza

merge-requests/325/head
Mirza.Shafique 3 years ago
commit f7b1e7f573

@ -1,36 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CLIENT_ID</key>
<string>864393916058-ekeb4s8tgfo58dutv0l54399t7ivr06r.apps.googleusercontent.com</string>
<key>REVERSED_CLIENT_ID</key>
<string>com.googleusercontent.apps.864393916058-ekeb4s8tgfo58dutv0l54399t7ivr06r</string>
<key>API_KEY</key>
<string>AIzaSyA_6ayGCk4fly7o7eTVBrj9kuHBYHMAOfs</string>
<key>GCM_SENDER_ID</key>
<string>864393916058</string>
<key>PLIST_VERSION</key>
<string>1</string>
<key>BUNDLE_ID</key>
<string>com.cloud.diplomaticquarterapp</string>
<key>PROJECT_ID</key>
<string>diplomaticquarter-d2385</string>
<key>STORAGE_BUCKET</key>
<string>diplomaticquarter-d2385.appspot.com</string>
<key>IS_ADS_ENABLED</key>
<false></false>
<key>IS_ANALYTICS_ENABLED</key>
<false></false>
<key>IS_APPINVITE_ENABLED</key>
<true></true>
<key>IS_GCM_ENABLED</key>
<true></true>
<key>IS_SIGNIN_ENABLED</key>
<true></true>
<key>GOOGLE_APP_ID</key>
<string>1:864393916058:ios:13f787bbfe6051f8b97923</string>
<key>DATABASE_URL</key>
<string>https://diplomaticquarter-d2385.firebaseio.com</string>
</dict>
</plist>

@ -39,7 +39,8 @@ android {
defaultConfig { defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.cloud.diplomaticquarterapp" // applicationId "com.cloud.diplomaticquarterapp"
applicationId "com.ejada.hmg"
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 30 targetSdkVersion 30
versionCode flutterVersionCode.toInteger() versionCode flutterVersionCode.toInteger()

@ -1,37 +1,39 @@
{ {
"project_info": { "project_info": {
"project_number": "864393916058", "project_number": "815750722565",
"firebase_url": "https://diplomaticquarter-d2385.firebaseio.com", "firebase_url": "https://api-project-815750722565.firebaseio.com",
"project_id": "diplomaticquarter-d2385", "project_id": "api-project-815750722565",
"storage_bucket": "diplomaticquarter-d2385.appspot.com" "storage_bucket": "api-project-815750722565.appspot.com"
}, },
"client": [ "client": [
{ {
"client_info": { "client_info": {
"mobilesdk_app_id": "1:864393916058:android:5b5a65cd6d8c18b4b97923", "mobilesdk_app_id": "1:815750722565:android:62281cd3e5df4063",
"android_client_info": { "android_client_info": {
"package_name": "com.cloud.diplomaticquarterapp" "package_name": "com.ejada.hmg"
} }
}, },
"oauth_client": [ "oauth_client": [
{ {
"client_id": "864393916058-tphjrn8j39ntevt32ekcvmll8aue7qql.apps.googleusercontent.com", "client_id": "815750722565-3a0gc7neins0eoahdrimrfksk0sqice8.apps.googleusercontent.com",
"client_type": 3 "client_type": 3
} }
], ],
"api_key": [ "api_key": [
{ {
"current_key": "AIzaSyBdV3mos1BPhUzNKCj2KANJtiO3o2zh9IM" "current_key": "AIzaSyDUfg6AKM1-00WyzpvLImUBC46wFrq9-qw"
} }
], ],
"services": { "services": {
"analytics_service": {
"status": 1
},
"appinvite_service": { "appinvite_service": {
"other_platform_oauth_client": [ "status": 1,
{ "other_platform_oauth_client": []
"client_id": "864393916058-tphjrn8j39ntevt32ekcvmll8aue7qql.apps.googleusercontent.com", },
"client_type": 3 "ads_service": {
} "status": 2
]
} }
} }
} }

@ -3,4 +3,5 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
#distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip

@ -34,7 +34,7 @@
android:name="io.flutter.app.FlutterApplication" android:name="io.flutter.app.FlutterApplication"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:usesCleartextTraffic="true" android:usesCleartextTraffic="true"
android:label="diplomaticquarterapp"> android:label="Dr. Alhabib">
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 544 B

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 442 B

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 721 B

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

@ -9,16 +9,17 @@ buildscript {
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:4.0.1' classpath 'com.android.tools.build:gradle:3.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.4' classpath 'com.google.gms:google-services:4.3.8'
} }
} }
allprojects { allprojects {
repositories { repositories {
google() google()
jcenter() // jcenter()
mavenCentral()
} }
} }

@ -1,37 +1,39 @@
{ {
"project_info": { "project_info": {
"project_number": "864393916058", "project_number": "815750722565",
"firebase_url": "https://diplomaticquarter-d2385.firebaseio.com", "firebase_url": "https://api-project-815750722565.firebaseio.com",
"project_id": "diplomaticquarter-d2385", "project_id": "api-project-815750722565",
"storage_bucket": "diplomaticquarter-d2385.appspot.com" "storage_bucket": "api-project-815750722565.appspot.com"
}, },
"client": [ "client": [
{ {
"client_info": { "client_info": {
"mobilesdk_app_id": "1:864393916058:android:5b5a65cd6d8c18b4b97923", "mobilesdk_app_id": "1:815750722565:android:62281cd3e5df4063",
"android_client_info": { "android_client_info": {
"package_name": "com.cloud.diplomaticquarterapp" "package_name": "com.ejada.hmg"
} }
}, },
"oauth_client": [ "oauth_client": [
{ {
"client_id": "864393916058-tphjrn8j39ntevt32ekcvmll8aue7qql.apps.googleusercontent.com", "client_id": "815750722565-3a0gc7neins0eoahdrimrfksk0sqice8.apps.googleusercontent.com",
"client_type": 3 "client_type": 3
} }
], ],
"api_key": [ "api_key": [
{ {
"current_key": "AIzaSyBdV3mos1BPhUzNKCj2KANJtiO3o2zh9IM" "current_key": "AIzaSyDUfg6AKM1-00WyzpvLImUBC46wFrq9-qw"
} }
], ],
"services": { "services": {
"analytics_service": {
"status": 1
},
"appinvite_service": { "appinvite_service": {
"other_platform_oauth_client": [ "status": 1,
{ "other_platform_oauth_client": []
"client_id": "864393916058-tphjrn8j39ntevt32ekcvmll8aue7qql.apps.googleusercontent.com", },
"client_type": 3 "ads_service": {
} "status": 2
]
} }
} }
} }

@ -1,6 +1,6 @@
#Thu Sep 03 16:26:30 EEST 2020 #Wed Jul 14 15:55:18 AST 2021
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip

@ -0,0 +1,8 @@
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
<g id="Group_1261" data-name="Group 1261" transform="translate(-148.52 -172.52)">
<path id="Path_1724" data-name="Path 1724" d="M9,0a9,9,0,0,1,9,9,9.18,9.18,0,0,1-1.863,5.483A8.844,8.844,0,0,1,9,18,9,9,0,0,1,9,0Z" transform="translate(148.52 172.52)" fill="#5ab145"/>
<g id="check_4_" data-name="check (4)" transform="translate(151.64 177.596)">
<path id="Path_1722" data-name="Path 1722" d="M10.35,68.552l-5.79,5.79L1.411,71.193,0,72.6l4.56,4.56,7.2-7.2Z" transform="translate(0 -68.552)" fill="#fff"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 627 B

@ -0,0 +1,42 @@
{
"project_info": {
"project_number": "815750722565",
"firebase_url": "https://api-project-815750722565.firebaseio.com",
"project_id": "api-project-815750722565",
"storage_bucket": "api-project-815750722565.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:815750722565:android:62281cd3e5df4063",
"android_client_info": {
"package_name": "com.ejada.hmg"
}
},
"oauth_client": [
{
"client_id": "815750722565-3a0gc7neins0eoahdrimrfksk0sqice8.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyDUfg6AKM1-00WyzpvLImUBC46wFrq9-qw"
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 1,
"other_platform_oauth_client": []
},
"ads_service": {
"status": 2
}
}
}
],
"configuration_version": "1"
}

@ -0,0 +1,25 @@
package io.flutter.plugins;
import io.flutter.plugin.common.PluginRegistry;
import com.huawei.hms.flutter.location.LocationPlugin;
/**
* Generated file. Do not edit.
*/
public final class GeneratedPluginRegistrant {
public static void registerWith(PluginRegistry registry) {
if (alreadyRegisteredWith(registry)) {
return;
}
LocationPlugin.registerWith(registry.registrarFor("com.huawei.hms.flutter.location.LocationPlugin"));
}
private static boolean alreadyRegisteredWith(PluginRegistry registry) {
final String key = GeneratedPluginRegistrant.class.getCanonicalName();
if (registry.hasPlugin(key)) {
return true;
}
registry.registrarFor(key);
return false;
}
}

@ -0,0 +1,2 @@
sdk.dir=C:\\Users\\sultan.khan\\AppData\\Local\\Android\\Sdk
flutter.sdk=C:\\Program Files\\flutter

@ -0,0 +1,14 @@
// This is a generated file; do not edit or check into version control.
FLUTTER_ROOT=C:\Program Files\flutter
FLUTTER_APPLICATION_PATH=C:\Projects\DQ\hms-plugins\flutter-hms-location
FLUTTER_TARGET=lib\main.dart
FLUTTER_BUILD_DIR=build
SYMROOT=${SOURCE_ROOT}/../build\ios
OTHER_LDFLAGS=$(inherited) -framework Flutter
FLUTTER_FRAMEWORK_DIR=C:\Program Files\flutter\bin\cache\artifacts\engine\ios
FLUTTER_BUILD_NAME=5.0.0
FLUTTER_BUILD_NUMBER=301
DART_OBFUSCATION=false
TRACK_WIDGET_CREATION=false
TREE_SHAKE_ICONS=false
PACKAGE_CONFIG=.packages

@ -0,0 +1,15 @@
#!/bin/sh
# This is a generated file; do not edit or check into version control.
export "FLUTTER_ROOT=C:\Program Files\flutter"
export "FLUTTER_APPLICATION_PATH=C:\Projects\DQ\hms-plugins\flutter-hms-location"
export "FLUTTER_TARGET=lib\main.dart"
export "FLUTTER_BUILD_DIR=build"
export "SYMROOT=${SOURCE_ROOT}/../build\ios"
export "OTHER_LDFLAGS=$(inherited) -framework Flutter"
export "FLUTTER_FRAMEWORK_DIR=C:\Program Files\flutter\bin\cache\artifacts\engine\ios"
export "FLUTTER_BUILD_NAME=5.0.0"
export "FLUTTER_BUILD_NUMBER=301"
export "DART_OBFUSCATION=false"
export "TRACK_WIDGET_CREATION=false"
export "TREE_SHAKE_ICONS=false"
export "PACKAGE_CONFIG=.packages"

@ -0,0 +1,17 @@
//
// Generated file. Do not edit.
//
#ifndef GeneratedPluginRegistrant_h
#define GeneratedPluginRegistrant_h
#import <Flutter/Flutter.h>
NS_ASSUME_NONNULL_BEGIN
@interface GeneratedPluginRegistrant : NSObject
+ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry;
@end
NS_ASSUME_NONNULL_END
#endif /* GeneratedPluginRegistrant_h */

@ -0,0 +1,12 @@
//
// Generated file. Do not edit.
//
#import "GeneratedPluginRegistrant.h"
@implementation GeneratedPluginRegistrant
+ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry {
}
@end

@ -1,122 +1,128 @@
{ {
"images" : [ "images":[
{ {
"size" : "20x20", "idiom":"iphone",
"idiom" : "iphone", "size":"20x20",
"filename" : "Icon-App-20x20@2x.png", "scale":"2x",
"scale" : "2x" "filename":"Icon-App-20x20@2x.png"
}, },
{ {
"size" : "20x20", "idiom":"iphone",
"idiom" : "iphone", "size":"20x20",
"filename" : "Icon-App-20x20@3x.png", "scale":"3x",
"scale" : "3x" "filename":"Icon-App-20x20@3x.png"
}, },
{ {
"size" : "29x29", "idiom":"iphone",
"idiom" : "iphone", "size":"29x29",
"filename" : "Icon-App-29x29@1x.png", "scale":"1x",
"scale" : "1x" "filename":"Icon-App-29x29@1x.png"
}, },
{ {
"size" : "29x29", "idiom":"iphone",
"idiom" : "iphone", "size":"29x29",
"filename" : "Icon-App-29x29@2x.png", "scale":"2x",
"scale" : "2x" "filename":"Icon-App-29x29@2x.png"
}, },
{ {
"size" : "29x29", "idiom":"iphone",
"idiom" : "iphone", "size":"29x29",
"filename" : "Icon-App-29x29@3x.png", "scale":"3x",
"scale" : "3x" "filename":"Icon-App-29x29@3x.png"
}, },
{ {
"size" : "40x40", "idiom":"iphone",
"idiom" : "iphone", "size":"40x40",
"filename" : "Icon-App-40x40@2x.png", "scale":"2x",
"scale" : "2x" "filename":"Icon-App-40x40@2x.png"
}, },
{ {
"size" : "40x40", "idiom":"iphone",
"idiom" : "iphone", "size":"40x40",
"filename" : "Icon-App-40x40@3x.png", "scale":"3x",
"scale" : "3x" "filename":"Icon-App-40x40@3x.png"
}, },
{ {
"size" : "60x60", "idiom":"iphone",
"idiom" : "iphone", "size":"60x60",
"filename" : "Icon-App-60x60@2x.png", "scale":"2x",
"scale" : "2x" "filename":"Icon-App-60x60@2x.png"
}, },
{ {
"size" : "60x60", "idiom":"iphone",
"idiom" : "iphone", "size":"60x60",
"filename" : "Icon-App-60x60@3x.png", "scale":"3x",
"scale" : "3x" "filename":"Icon-App-60x60@3x.png"
}, },
{ {
"size" : "20x20", "idiom":"iphone",
"idiom" : "ipad", "size":"76x76",
"filename" : "Icon-App-20x20@1x.png", "scale":"2x",
"scale" : "1x" "filename":"Icon-App-76x76@2x.png"
}, },
{ {
"size" : "20x20", "idiom":"ipad",
"idiom" : "ipad", "size":"20x20",
"filename" : "Icon-App-20x20@2x.png", "scale":"1x",
"scale" : "2x" "filename":"Icon-App-20x20@1x.png"
}, },
{ {
"size" : "29x29", "idiom":"ipad",
"idiom" : "ipad", "size":"20x20",
"filename" : "Icon-App-29x29@1x.png", "scale":"2x",
"scale" : "1x" "filename":"Icon-App-20x20@2x.png"
}, },
{ {
"size" : "29x29", "idiom":"ipad",
"idiom" : "ipad", "size":"29x29",
"filename" : "Icon-App-29x29@2x.png", "scale":"1x",
"scale" : "2x" "filename":"Icon-App-29x29@1x.png"
}, },
{ {
"size" : "40x40", "idiom":"ipad",
"idiom" : "ipad", "size":"29x29",
"filename" : "Icon-App-40x40@1x.png", "scale":"2x",
"scale" : "1x" "filename":"Icon-App-29x29@2x.png"
}, },
{ {
"size" : "40x40", "idiom":"ipad",
"idiom" : "ipad", "size":"40x40",
"filename" : "Icon-App-40x40@2x.png", "scale":"1x",
"scale" : "2x" "filename":"Icon-App-40x40@1x.png"
}, },
{ {
"size" : "76x76", "idiom":"ipad",
"idiom" : "ipad", "size":"40x40",
"filename" : "Icon-App-76x76@1x.png", "scale":"2x",
"scale" : "1x" "filename":"Icon-App-40x40@2x.png"
}, },
{ {
"size" : "76x76", "idiom":"ipad",
"idiom" : "ipad", "size":"76x76",
"filename" : "Icon-App-76x76@2x.png", "scale":"1x",
"scale" : "2x" "filename":"Icon-App-76x76@1x.png"
}, },
{ {
"size" : "83.5x83.5", "idiom":"ipad",
"idiom" : "ipad", "size":"76x76",
"filename" : "Icon-App-83.5x83.5@2x.png", "scale":"2x",
"scale" : "2x" "filename":"Icon-App-76x76@2x.png"
}, },
{ {
"size" : "1024x1024", "idiom":"ipad",
"idiom" : "ios-marketing", "size":"83.5x83.5",
"filename" : "Icon-App-1024x1024@1x.png", "scale":"2x",
"scale" : "1x" "filename":"Icon-App-83.5x83.5@2x.png"
},
{
"size" : "1024x1024",
"idiom" : "ios-marketing",
"scale" : "1x",
"filename" : "ItunesArtwork@2x.png"
}
],
"info":{
"version":1,
"author":"easyappicon"
} }
],
"info" : {
"version" : 1,
"author" : "xcode"
}
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 564 B

After

Width:  |  Height:  |  Size: 815 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 16 KiB

@ -3,21 +3,23 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>CLIENT_ID</key> <key>CLIENT_ID</key>
<string>864393916058-ekeb4s8tgfo58dutv0l54399t7ivr06r.apps.googleusercontent.com</string> <string>815750722565-da8p56le8bd6apsbm9eft0jjl1rtpgkt.apps.googleusercontent.com</string>
<key>REVERSED_CLIENT_ID</key> <key>REVERSED_CLIENT_ID</key>
<string>com.googleusercontent.apps.864393916058-ekeb4s8tgfo58dutv0l54399t7ivr06r</string> <string>com.googleusercontent.apps.815750722565-da8p56le8bd6apsbm9eft0jjl1rtpgkt</string>
<key>ANDROID_CLIENT_ID</key>
<string>815750722565-m14h8mkosm7cnq6uh6rhqr54dn02d705.apps.googleusercontent.com</string>
<key>API_KEY</key> <key>API_KEY</key>
<string>AIzaSyA_6ayGCk4fly7o7eTVBrj9kuHBYHMAOfs</string> <string>AIzaSyDiXnCO00li4V7Ioa2YZ_M4ECxRsu_P9tA</string>
<key>GCM_SENDER_ID</key> <key>GCM_SENDER_ID</key>
<string>864393916058</string> <string>815750722565</string>
<key>PLIST_VERSION</key> <key>PLIST_VERSION</key>
<string>1</string> <string>1</string>
<key>BUNDLE_ID</key> <key>BUNDLE_ID</key>
<string>com.cloud.diplomaticquarterapp</string> <string>com.HMG.HMG-Smartphone</string>
<key>PROJECT_ID</key> <key>PROJECT_ID</key>
<string>diplomaticquarter-d2385</string> <string>api-project-815750722565</string>
<key>STORAGE_BUCKET</key> <key>STORAGE_BUCKET</key>
<string>diplomaticquarter-d2385.appspot.com</string> <string>api-project-815750722565.appspot.com</string>
<key>IS_ADS_ENABLED</key> <key>IS_ADS_ENABLED</key>
<false></false> <false></false>
<key>IS_ANALYTICS_ENABLED</key> <key>IS_ANALYTICS_ENABLED</key>
@ -29,8 +31,8 @@
<key>IS_SIGNIN_ENABLED</key> <key>IS_SIGNIN_ENABLED</key>
<true></true> <true></true>
<key>GOOGLE_APP_ID</key> <key>GOOGLE_APP_ID</key>
<string>1:864393916058:ios:13f787bbfe6051f8b97923</string> <string>1:815750722565:ios:328ec247a81a2ca23c186c</string>
<key>DATABASE_URL</key> <key>DATABASE_URL</key>
<string>https://diplomaticquarter-d2385.firebaseio.com</string> <string>https://api-project-815750722565.firebaseio.com</string>
</dict> </dict>
</plist> </plist>

@ -11,7 +11,7 @@
<key>CFBundleInfoDictionaryVersion</key> <key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string> <string>6.0</string>
<key>CFBundleName</key> <key>CFBundleName</key>
<string>diplomaticquarterapp</string> <string>Dr. Alhabib</string>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>

@ -13,16 +13,16 @@ const PACKAGES_CUSTOMER = '/api/customers';
const PACKAGES_SHOPPING_CART = '/api/shopping_cart_items'; const PACKAGES_SHOPPING_CART = '/api/shopping_cart_items';
const PACKAGES_ORDERS = '/api/orders'; const PACKAGES_ORDERS = '/api/orders';
const BASE_URL = 'https://uat.hmgwebservices.com/'; //const BASE_URL = 'https://uat.hmgwebservices.com/';
//const BASE_URL = 'https://hmgwebservices.com/'; const BASE_URL = 'https://hmgwebservices.com/';
// Pharmacy UAT URLs // Pharmacy UAT URLs
const BASE_PHARMACY_URL = 'https://uat.hmgwebservices.com/epharmacy/api/'; //const BASE_PHARMACY_URL = 'https://uat.hmgwebservices.com/epharmacy/api/';
const PHARMACY_BASE_URL = 'https://uat.hmgwebservices.com/epharmacy/api/'; //const PHARMACY_BASE_URL = 'https://uat.hmgwebservices.com/epharmacy/api/';
// Pharmacy Production URLs // Pharmacy Production URLs
// const BASE_PHARMACY_URL = 'https://mdlaboratories.com/exacartapi/api/'; const BASE_PHARMACY_URL = 'https://mdlaboratories.com/exacartapi/api/';
// const PHARMACY_BASE_URL = 'https://mdlaboratories.com/exacartapi/api/'; const PHARMACY_BASE_URL = 'https://mdlaboratories.com/exacartapi/api/';
const PING_SERVICE = 'Services/Weather.svc/REST/CheckConnectivity'; const PING_SERVICE = 'Services/Weather.svc/REST/CheckConnectivity';

@ -1143,6 +1143,12 @@ const Map localizedValues = {
"YouCanFind": {"en": "You Can Find ", "ar": "باستطاعتك العثور على "}, "YouCanFind": {"en": "You Can Find ", "ar": "باستطاعتك العثور على "},
"ItemInSearch": {"en": " Item In Search", "ar": " عنصر في البحث "}, "ItemInSearch": {"en": " Item In Search", "ar": " عنصر في البحث "},
"blood-donation": {"en": "Blood Donation", "ar": "التبرع بالدم"}, "blood-donation": {"en": "Blood Donation", "ar": "التبرع بالدم"},
"blood-donation-info": {
"en":
"Through this service, you can register your name as a blood donor where the blood bank in the Habib Medical Group will communicate you in case of need for blood type.",
"ar":
"عن طريق هذه الخدمة تستطيع تسجيل اسمك كمتبرع بالدم حيث سيتم التواصل معك عن طريق بنك الدم في مجموعة الحبيب الطبية في حال الحاجة الى فصيلة الدم ."
},
"blood-instruction": { "blood-instruction": {
"en": "en":
"Enter the required information, In order to register for Blood Donation Service", "Enter the required information, In order to register for Blood Donation Service",
@ -1995,6 +2001,8 @@ const Map localizedValues = {
"en": "Please enter the mobile number and the medical file number", "en": "Please enter the mobile number and the medical file number",
"ar": "الرجاء إدخال رقم الجوال ورقم الملف الطبي" "ar": "الرجاء إدخال رقم الجوال ورقم الملف الطبي"
}, },
"allow": {"en": "Allow", "ar": "السماح"},
"reject": {"en": "Reject", "ar": "رفض"},
"referralRequesterInformation": { "referralRequesterInformation": {
"en": "Referral requester information", "en": "Referral requester information",
"ar": "معلومات طالب الإحالة" "ar": "معلومات طالب الإحالة"
@ -2003,20 +2011,11 @@ const Map localizedValues = {
"en": "Enter Referral Requester Name*", "en": "Enter Referral Requester Name*",
"ar": "أدخل اسم مقدم طلب الإحالة *" "ar": "أدخل اسم مقدم طلب الإحالة *"
}, },
"selectRelationship": { "selectRelationship": {"en": "Select Relationship", "ar": "حدد العلاقة"},
"en": "Select Relationship",
"ar": "حدد العلاقة"
},
"requesterRelationship": { "requesterRelationship": {
"en": "Requester Relationship", "en": "Requester Relationship",
"ar": "علاقة الطالب" "ar": "علاقة الطالب"
}, },
"newReferral": { "newReferral": {"en": "New Referral", "ar": "إحالة جديدة"},
"en": "New Referral", "searchForReferrals": {"en": "Search For Referrals", "ar": "ابحث عن الإحالات"}
"ar": "إحالة جديدة"
},
"searchForReferrals": {
"en": "Search For Referrals",
"ar": "ابحث عن الإحالات"
}
}; };

@ -39,6 +39,9 @@ class BloodSugarViewMode extends BaseViewModel {
element.dailyAverageResult.toDouble(), element.dailyAverageResult.toDouble(),
)); ));
}); });
if (bloodWeekTimeSeriesData.isEmpty) {
bloodWeekTimeSeriesData.add(TimeSeriesSales2(DateTime.now(), 0));
}
for (int index = 0; for (int index = 0;
index < bloodSugarService.monthDiabtectResultAverageList.length; index < bloodSugarService.monthDiabtectResultAverageList.length;

@ -14,6 +14,10 @@ class ReportsMonthlyViewModel extends BaseViewModel {
ReportsService _reportsService = locator<ReportsService>(); ReportsService _reportsService = locator<ReportsService>();
String get userAgreementContent => _reportsService.userAgreementContent; String get userAgreementContent => _reportsService.userAgreementContent;
bool get receiveHealthSummaryReport => _reportsService?.user?.receiveHealthSummaryReport ?? false;
set receiveHealthSummaryReport(bool val) {
_reportsService?.user?.receiveHealthSummaryReport = val;
}
getUserTermsAndConditions() async { getUserTermsAndConditions() async {
setState(ViewState.Busy); setState(ViewState.Busy);
@ -26,14 +30,9 @@ class ReportsMonthlyViewModel extends BaseViewModel {
} }
} }
updatePatientHealthSummaryReport( updatePatientHealthSummaryReport({String message, bool isSummary, bool isUpdateEmail = false, String email}) async {
{String message,
bool isSummary,
bool isUpdateEmail = false,
String email}) async {
setState(ViewState.BusyLocal); setState(ViewState.BusyLocal);
await _reportsService.updatePatientHealthSummaryReport( await _reportsService.updatePatientHealthSummaryReport(isSummary: isSummary);
isSummary: isSummary);
if (_reportsService.hasError) { if (_reportsService.hasError) {
error = _reportsService.error; error = _reportsService.error;
AppToast.showErrorToast(message: error); AppToast.showErrorToast(message: error);

@ -1,12 +1,18 @@
import 'dart:ui'; import 'dart:ui';
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/H2O_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/H2O_view_model.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/h2o/h20_setting.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/h2o/h20_setting.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/h2o/month_page.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/h2o/month_page.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/h2o/today_page.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/h2o/today_page.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/h2o/week_page.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/h2o/week_page.dart';
import 'package:diplomaticquarterapp/pages/DrawerPages/family/my-family.dart';
import 'package:diplomaticquarterapp/pages/ToDoList/ToDo.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/medical/medical_profile_page.dart';
import 'package:diplomaticquarterapp/routes.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/bottom_navigation/bottom_nav_bar.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
@ -18,14 +24,16 @@ class H2OPage extends StatefulWidget {
_H2OPageState createState() => _H2OPageState(); _H2OPageState createState() => _H2OPageState();
} }
class _H2OPageState extends State<H2OPage> class _H2OPageState extends State<H2OPage> with SingleTickerProviderStateMixin {
with SingleTickerProviderStateMixin {
TabController _tabController; TabController _tabController;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
_tabController = TabController(length: 3, vsync: this,); _tabController = TabController(
length: 3,
vsync: this,
);
} }
@override @override
@ -43,6 +51,7 @@ class _H2OPageState extends State<H2OPage>
appBarTitle: TranslationBase.of(context).waterTracker, appBarTitle: TranslationBase.of(context).waterTracker,
showHomeAppBarIcon: false, showHomeAppBarIcon: false,
baseViewModel: model, baseViewModel: model,
isHelp: true,
appBarIcons: [ appBarIcons: [
IconButton( IconButton(
icon: Image.asset("assets/images/new-design/setting_gear_icon.png"), icon: Image.asset("assets/images/new-design/setting_gear_icon.png"),
@ -129,6 +138,39 @@ class _H2OPageState extends State<H2OPage>
) )
], ],
), ),
bottomNavigationBar: BottomNavBar(
changeIndex: (index) {
if (index == 0) {
IS_VOICE_COMMAND_CLOSED = false;
} else if (index == 1) {
Navigator.push(
context,
FadePage(
page: AppScaffold(
appBarTitle: TranslationBase.of(context).medicalProfile,
isShowAppBar: true,
showHomeAppBarIcon: false,
appBarIcons: [
IconButton(
icon: Image.asset("assets/images/new-design/setting_gear_icon.png"),
color: Colors.white,
onPressed: () => Navigator.of(context).pushNamed(
SETTINGS,
),
),
],
body: MedicalProfilePage())));
} else if (index == 2) {
Navigator.of(context).pushNamedAndRemoveUntil(HOME, (Route<dynamic> route) => false);
} else if (index == 3) {
Navigator.of(context).pushNamed(MY_FAMILIY);
} else if (index == 4) {
Navigator.push(context, FadePage(page: ToDo(isShowAppBar: false)));
}
},
showHomeIcon: true,
index: 0,
),
), ),
), ),
); );

@ -1,5 +1,6 @@
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/ImagesInfo.dart';
import 'package:diplomaticquarterapp/core/model/blooddonation/blood_groub_details.dart'; import 'package:diplomaticquarterapp/core/model/blooddonation/blood_groub_details.dart';
import 'package:diplomaticquarterapp/core/model/blooddonation/get_all_cities.dart'; import 'package:diplomaticquarterapp/core/model/blooddonation/get_all_cities.dart';
@ -60,7 +61,7 @@ class _BloodDonationPageState extends State<BloodDonationPage> {
AppSharedPreferences sharedPref = AppSharedPreferences(); AppSharedPreferences sharedPref = AppSharedPreferences();
AuthenticatedUser authUser; AuthenticatedUser authUser;
var checkedValue = false; var checkedValue = false;
List<ImagesInfo> imagesInfo = List();
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@ -69,6 +70,13 @@ class _BloodDonationPageState extends State<BloodDonationPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
imagesInfo.add(
ImagesInfo(
imageEn:
'https://hmgwebservices.com/Images/MobileApp/images-info-home/blood/en/0.png',
imageAr:
'https://hmgwebservices.com/Images/MobileApp/images-info-home/blood/ar/0.png'),
);
ProjectViewModel projectProvider = Provider.of(context); ProjectViewModel projectProvider = Provider.of(context);
return BaseView<MyBalanceViewModel>( return BaseView<MyBalanceViewModel>(
@ -76,6 +84,8 @@ class _BloodDonationPageState extends State<BloodDonationPage> {
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
isShowAppBar: true, isShowAppBar: true,
baseViewModel: model, baseViewModel: model,
imagesInfo: imagesInfo,
description: TranslationBase.of(context).bloodDonationInfo,
appBarTitle: TranslationBase.of(context).bloodD, appBarTitle: TranslationBase.of(context).bloodD,
body: SingleChildScrollView( body: SingleChildScrollView(
physics: ScrollPhysics(), physics: ScrollPhysics(),

@ -75,7 +75,7 @@ class AddFamilyMemberType extends StatelessWidget {
), ),
AppText( AppText(
TranslationBase.of(context) TranslationBase.of(context)
.nationalID, .idNo,
fontSize: SizeConfig fontSize: SizeConfig
.textMultiplier * .textMultiplier *
2, 2,

@ -395,12 +395,20 @@ class _MyFamily extends State<MyFamily> with TickerProviderStateMixin {
left: 10, right: 10), left: 10, right: 10),
child: Row(children: [ child: Row(children: [
Expanded( Expanded(
flex: 3, child: AppText('Name')), flex: 3,
child: AppText(
TranslationBase.of(context)
.name)),
Expanded( Expanded(
flex: 1, child: AppText('Allow')), flex: 1,
child: AppText(
TranslationBase.of(context)
.allow)),
Expanded( Expanded(
flex: 1, flex: 1,
child: AppText('Reject')), child: AppText(
TranslationBase.of(context)
.reject)),
])), ])),
Column( Column(
children: familyFileProvider children: familyFileProvider
@ -577,9 +585,15 @@ class _MyFamily extends State<MyFamily> with TickerProviderStateMixin {
EdgeInsets.only(left: 10, right: 10), EdgeInsets.only(left: 10, right: 10),
child: Row(children: [ child: Row(children: [
Expanded( Expanded(
flex: 3, child: AppText('Name')), flex: 3,
child: AppText(
TranslationBase.of(context)
.name)),
Expanded( Expanded(
flex: 1, child: AppText('Delete')), flex: 1,
child: AppText(
TranslationBase.of(context)
.delete)),
])), ])),
Column( Column(
children: familyFileProvider children: familyFileProvider

@ -278,44 +278,46 @@ class _RegisterInfo extends State<RegisterInfo> {
registerNow() { registerNow() {
dynamic request = getTempUserRequest(); dynamic request = getTempUserRequest();
GifLoaderDialogUtils.showMyDialog(context); GifLoaderDialogUtils.showMyDialog(context);
this.authService.registerUser(request).then((result) => { this
GifLoaderDialogUtils.hideDialog(context), .authService
// userData = result.list; .registerUser(request)
//AuthenticatedUser.fromJson(result['List'][0]), .then((result) => {
if(result is String){ GifLoaderDialogUtils.hideDialog(context),
new ConfirmDialog( // userData = result.list;
context: context, //AuthenticatedUser.fromJson(result['List'][0]),
confirmMessage: result, if (result is String)
okText: TranslationBase.of(context).ok, {
cancelText: TranslationBase.of(context).cancel_nocaps, new ConfirmDialog(
okFunction: () => { context: context,
ConfirmDialog.closeAlertDialog(context) confirmMessage: result,
}, okText: TranslationBase.of(context).ok,
cancelFunction: () => {ConfirmDialog.closeAlertDialog(context)}) cancelText: TranslationBase.of(context).cancel_nocaps,
.showAlertDialog(context) okFunction: () =>
{ConfirmDialog.closeAlertDialog(context)},
}else cancelFunction: () => {
{ ConfirmDialog.closeAlertDialog(context)
result.list.isFamily = false, }).showAlertDialog(context)
sharedPref.setObject(USER_PROFILE, result.list), }
this.sharedPref.setObject(MAIN_USER, result.list), else
sharedPref.setObject(LOGIN_TOKEN_ID, result.logInTokenID), {
sharedPref.setString(TOKEN, result.authenticationTokenID), result.list.isFamily = false,
Navigator.of(context).pushNamed(HOME) sharedPref.setObject(USER_PROFILE, result.list),
} this.sharedPref.setObject(MAIN_USER, result.list),
}).catchError((err) { sharedPref.setObject(LOGIN_TOKEN_ID, result.logInTokenID),
GifLoaderDialogUtils.hideDialog(context); sharedPref.setString(TOKEN, result.authenticationTokenID),
Navigator.of(context).pushNamed(HOME)
}
})
.catchError((err) {
GifLoaderDialogUtils.hideDialog(context);
ConfirmDialog dialog = new ConfirmDialog( ConfirmDialog dialog = new ConfirmDialog(
context: context, context: context,
confirmMessage: err, confirmMessage: err,
okText: TranslationBase.of(context).confirm, okText: TranslationBase.of(context).confirm,
cancelText: TranslationBase.of(context).cancel_nocaps, cancelText: TranslationBase.of(context).cancel_nocaps,
okFunction: () => { okFunction: () => {ConfirmDialog.closeAlertDialog(context)},
ConfirmDialog.closeAlertDialog(context)
},
cancelFunction: () => {ConfirmDialog.closeAlertDialog(context)}); cancelFunction: () => {ConfirmDialog.closeAlertDialog(context)});
dialog.showAlertDialog(context); dialog.showAlertDialog(context);
}); });
} }
@ -347,12 +349,12 @@ class _RegisterInfo extends State<RegisterInfo> {
"PatientIdentificationNo": registerInfo.idNumber, "PatientIdentificationNo": registerInfo.idNumber,
"MobileNumber": registerd_data.patientMobileNumber, "MobileNumber": registerd_data.patientMobileNumber,
"PatientOutSA": registerd_data.zipCode == '966' ? 0 : 1, "PatientOutSA": registerd_data.zipCode == '966' ? 0 : 1,
"FirstNameN":registerInfo.firstNameAr =='-' ?"": registerInfo.firstNameAr, "FirstNameN": registerInfo.firstNameAr,
"FirstName": registerInfo.firstNameEn =='-' ?"":registerInfo.firstNameEn, "FirstName": registerInfo.firstNameEn,
"MiddleNameN":registerInfo.secondNameAr =='-' ? "" : registerInfo.secondNameAr, "MiddleNameN": registerInfo.secondNameAr,
"MiddleName":registerInfo.secondNameEn == '-' ? "": registerInfo.secondNameEn, "MiddleName": registerInfo.secondNameEn,
"LastNameN": registerInfo.lastNameAr =='-'? "" : registerInfo.lastNameAr, "LastNameN": registerInfo.lastNameAr,
"LastName": registerInfo.lastNameEn =='-' ? "": registerInfo.lastNameEn, "LastName": registerInfo.lastNameEn,
"StrDateofBirth": registerInfo.dateOfBirth, "StrDateofBirth": registerInfo.dateOfBirth,
"DateofBirth": DateUtil.convertISODateToJsonDate( "DateofBirth": DateUtil.convertISODateToJsonDate(
registerInfo.dateOfBirth.replaceAll('/', '-')), registerInfo.dateOfBirth.replaceAll('/', '-')),

@ -21,6 +21,7 @@ import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
class Register extends StatefulWidget { class Register extends StatefulWidget {
@override @override
@ -294,12 +295,12 @@ class _Register extends State<Register> {
// DOB: this.dateOption === '1' ? this.dateOfBirth : moment(this.dateOfBirth).format('DD/MM/YYYY'), // DOB: this.dateOption === '1' ? this.dateOfBirth : moment(this.dateOfBirth).format('DD/MM/YYYY'),
// IsHijri: Number(this.dateOption) // IsHijri: Number(this.dateOption)
// } // }
final DateFormat dateFormat = DateFormat('dd/MM/yyyy');
GifLoaderDialogUtils.showMyDialog(context); GifLoaderDialogUtils.showMyDialog(context);
var request = CheckUserStatusRequest(); var request = CheckUserStatusRequest();
request.patientIdentificationID = nationalIDorFile.text; request.patientIdentificationID = nationalIDorFile.text;
request.dOB = isHijri == 1 request.dOB = isHijri == 1 ? dob : dateFormat.format(selectedDate);
? dob
: "${selectedDate.toLocal()}".split(' ')[0].replaceAll('-', '/');
request.isHijri = isHijri; request.isHijri = isHijri;
request.patientOutSA = countryCode == '966' ? 0 : 1; request.patientOutSA = countryCode == '966' ? 0 : 1;
this.authService.checkUserStatus(request).then((result) => { this.authService.checkUserStatus(request).then((result) => {
@ -311,7 +312,12 @@ class _Register extends State<Register> {
Navigator.of(context).push(FadePage(page: ConfirmLogin())), Navigator.of(context).push(FadePage(page: ConfirmLogin())),
} }
else else
{AppToast.showErrorToast(message: result)} {
AppToast.showErrorToast(
message: result
? result
: TranslationBase.of(context).somethingWentWrong)
}
}); });
} }

@ -31,42 +31,47 @@ class BloodSugarWeeklyPage extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context); ProjectViewModel projectViewModel = Provider.of(context);
return AppScaffold( return AppScaffold(
body:timeSeriesData.isEmpty?Container(child: Center(child: Texts(TranslationBase.of(context).noDataAvailable),),): ListView( body: timeSeriesData.isEmpty
children: [ ? Container(
Container( child: Center(
margin: EdgeInsets.only(top: 12, left: 8, right: 8), child: Texts(TranslationBase.of(context).noDataAvailable),
color: Colors.white, ),
child: LineChartCurved( )
title: 'Sugar', : ListView(
timeSeries: timeSeriesData, children: [
indexes: timeSeriesData.length ~/ 5.5, Container(
), margin: EdgeInsets.only(top: 12, left: 8, right: 8),
), color: Colors.white,
SizedBox( child: LineChartCurved(
height: 12, title: 'Sugar',
), timeSeries: timeSeriesData,
Padding( indexes: timeSeriesData.length ~/ 5.5,
padding: const EdgeInsets.all(8.0),
child: Texts(TranslationBase.of(context).details),
),
Container(
padding: EdgeInsets.all(10),
color: Colors.transparent,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Table(
border: TableBorder.symmetric(
inside: BorderSide(width: 2.0, color: Colors.grey[300]),
), ),
children:
fullData(context, projectViewModel, bloodSugarViewMode),
), ),
SizedBox(
height: 12,
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Texts(TranslationBase.of(context).details),
),
Container(
padding: EdgeInsets.all(10),
color: Colors.transparent,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Table(
border: TableBorder.symmetric(
inside: BorderSide(width: 2.0, color: Colors.grey[300]),
),
children: fullData(context, projectViewModel, bloodSugarViewMode),
),
],
),
)
], ],
), ),
)
],
),
); );
} }

@ -184,7 +184,7 @@ class LineChartCurved extends StatelessWidget {
} }
double getMinY() { double getMinY() {
double min = timeSeries[0].sales; double min = timeSeries.isEmpty ? 0 : timeSeries.first.sales;
timeSeries.forEach((element) { timeSeries.forEach((element) {
double resultValueDouble = element.sales; double resultValueDouble = element.sales;
if (resultValueDouble < min) min = resultValueDouble; if (resultValueDouble < min) min = resultValueDouble;

@ -19,15 +19,24 @@ class MonthlyReportsPage extends StatefulWidget {
} }
class _MonthlyReportsPageState extends State<MonthlyReportsPage> { class _MonthlyReportsPageState extends State<MonthlyReportsPage> {
bool isAgree = false; bool isAgree;
bool isSummary = false; bool isSummary;
String email = ""; String email;
final formKey = GlobalKey<FormState>(); final formKey = GlobalKey<FormState>();
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return BaseView<ReportsMonthlyViewModel>( return BaseView<ReportsMonthlyViewModel>(builder: (_, model, w) {
builder: (_, model, w) => AppScaffold( if (isSummary == null) {
isSummary = model.receiveHealthSummaryReport;
}
if (isAgree == null) {
isAgree = model.receiveHealthSummaryReport;
}
if (email == null) {
email = model?.user?.emailAddress ?? "";
}
return AppScaffold(
isShowAppBar: true, isShowAppBar: true,
appBarTitle: TranslationBase.of(context).monthlyReports, appBarTitle: TranslationBase.of(context).monthlyReports,
body: SingleChildScrollView( body: SingleChildScrollView(
@ -41,15 +50,10 @@ class _MonthlyReportsPageState extends State<MonthlyReportsPage> {
Container( Container(
padding: EdgeInsets.all(9), padding: EdgeInsets.all(9),
height: 55, height: 55,
decoration: BoxDecoration( decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.all(Radius.circular(8)), shape: BoxShape.rectangle, border: Border.all(color: Colors.grey)),
color: Colors.white,
borderRadius: BorderRadius.all(Radius.circular(8)),
shape: BoxShape.rectangle,
border: Border.all(color: Colors.grey)),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Texts( Texts(
TranslationBase.of(context).patientHealthSummaryReport, TranslationBase.of(context).patientHealthSummaryReport,
bold: true, bold: true,
@ -62,12 +66,12 @@ class _MonthlyReportsPageState extends State<MonthlyReportsPage> {
setState(() { setState(() {
isSummary = !isSummary; isSummary = !isSummary;
}); });
if(!isSummary) { if (!isSummary) {
GifLoaderDialogUtils.showMyDialog(context); GifLoaderDialogUtils.showMyDialog(context);
await model.updatePatientHealthSummaryReport( await model.updatePatientHealthSummaryReport(message: TranslationBase.of(context).updateSuccessfully, isSummary: isSummary);
message: TranslationBase model.receiveHealthSummaryReport = isSummary;
.of(context) isAgree = isSummary;
.updateSuccessfully, isSummary: isSummary); model.user.emailAddress = "";
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
} }
}, },
@ -80,11 +84,11 @@ class _MonthlyReportsPageState extends State<MonthlyReportsPage> {
), ),
Container( Container(
margin: EdgeInsets.all(8), margin: EdgeInsets.all(8),
child: TextFields( child: TextFields(
fillColor: Colors.red, fillColor: Colors.red,
hintText: 'email@email.com', hintText: 'email@email.com',
fontSize: 20, fontSize: 20,
initialValue: model.user.emailAddress, initialValue: email,
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
onChanged: (text) { onChanged: (text) {
email = text; email = text;
@ -111,8 +115,7 @@ class _MonthlyReportsPageState extends State<MonthlyReportsPage> {
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
Expanded( Expanded(
child: Texts(TranslationBase.of(context) child: Texts(TranslationBase.of(context).toViewTheTermsAndConditions),
.toViewTheTermsAndConditions),
), ),
InkWell( InkWell(
onTap: () { onTap: () {
@ -156,19 +159,15 @@ class _MonthlyReportsPageState extends State<MonthlyReportsPage> {
child: SecondaryButton( child: SecondaryButton(
textColor: Colors.white, textColor: Colors.white,
label: TranslationBase.of(context).save, label: TranslationBase.of(context).save,
disabled: (!isAgree || !isSummary ), disabled: (!isAgree || !isSummary),
onTap: () async { onTap: () async {
final form = formKey.currentState; final form = formKey.currentState;
if (form.validate()) { if (form.validate()) {
GifLoaderDialogUtils.showMyDialog(context); GifLoaderDialogUtils.showMyDialog(context);
await model.updatePatientHealthSummaryReport( await model.updatePatientHealthSummaryReport(
message: TranslationBase message: TranslationBase.of(context).updateSuccessfully, isSummary: isSummary, isUpdateEmail: true, email: email.isNotEmpty ? email : model.user.emailAddress);
.of(context) model.receiveHealthSummaryReport = isSummary;
.updateSuccessfully, model.user.emailAddress = email.isNotEmpty ? email : model.user.emailAddress;
isSummary: isSummary,
isUpdateEmail: true,
email: email.isNotEmpty ? email : model.user
.emailAddress);
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
} }
}, },
@ -177,8 +176,7 @@ class _MonthlyReportsPageState extends State<MonthlyReportsPage> {
Padding( Padding(
padding: const EdgeInsets.all(5.0), padding: const EdgeInsets.all(5.0),
child: Texts( child: Texts(
TranslationBase.of(context) TranslationBase.of(context).instructionAgree,
.instructionAgree,
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
), ),
), ),
@ -191,7 +189,7 @@ class _MonthlyReportsPageState extends State<MonthlyReportsPage> {
), ),
), ),
), ),
), );
); });
} }
} }

@ -9,6 +9,7 @@ import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart'; import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:screen/screen.dart'; import 'package:screen/screen.dart';
@ -27,10 +28,11 @@ class _GeneralSettings extends State<GeneralSettings>
bool location = false; bool location = false;
var sharedPref = new AppSharedPreferences(); var sharedPref = new AppSharedPreferences();
var permission = new PermissionService(); var permission = new PermissionService();
LocationPermission locationPermission;
var mediaQueryData; var mediaQueryData;
@override @override
void initState() { void initState() {
getValues(); this.getValues();
super.initState(); super.initState();
} }
@ -80,7 +82,6 @@ class _GeneralSettings extends State<GeneralSettings>
setState(() { setState(() {
accsibility = value; accsibility = value;
}); });
//setAccisibility(value);
}, },
activeTrackColor: Colors.lightGreenAccent, activeTrackColor: Colors.lightGreenAccent,
activeColor: Colors.green, activeColor: Colors.green,
@ -199,6 +200,7 @@ class _GeneralSettings extends State<GeneralSettings>
setState(() { setState(() {
camera = value; camera = value;
}); });
this.permission.openSettings();
}, },
activeTrackColor: Colors.lightGreenAccent, activeTrackColor: Colors.lightGreenAccent,
activeColor: Colors.green, activeColor: Colors.green,
@ -215,9 +217,12 @@ class _GeneralSettings extends State<GeneralSettings>
Switch( Switch(
value: location, value: location,
onChanged: (value) { onChanged: (value) {
setState(() { if (value == true) {
location = value; Navigator.pop(context);
}); this.setLocationPermission();
} else {
Geolocator.openLocationSettings();
}
}, },
activeTrackColor: Colors.lightGreenAccent, activeTrackColor: Colors.lightGreenAccent,
activeColor: Colors.green, activeColor: Colors.green,
@ -227,6 +232,23 @@ class _GeneralSettings extends State<GeneralSettings>
])); ]));
} }
setLocationPermission() async {
locationPermission = await Geolocator.checkPermission();
if (locationPermission == LocationPermission.denied) {
locationPermission = await Geolocator.requestPermission();
if (locationPermission != LocationPermission.denied) {
setState(() {
location = true;
});
} else {
this.location = false;
}
} else {
Geolocator.openLocationSettings();
this.location = true;
}
}
setTheme(value) async { setTheme(value) async {
switch (value) { switch (value) {
case 0: case 0:
@ -277,20 +299,30 @@ class _GeneralSettings extends State<GeneralSettings>
vibration = permission.isVibrationEnabled() == null vibration = permission.isVibrationEnabled() == null
? false ? false
: permission.isVibrationEnabled(); : permission.isVibrationEnabled();
accsibility = mediaQueryData.accessibleNavigation; // accsibility = mediaQueryData.accessibleNavigation;
setTheme(blindValue); //setTheme(blindValue);
} }
var camera = await this.permission.isCameraEnabled();
var location = await this.permission.isLocationEnabled();
setState(() {
this.camera = camera;
this.location = location;
});
} }
getTheme(value) async { getTheme(value) async {
if (value == 1) { if (value == 1) {
return invertThemes( return invertThemes(
fontName: Provider.of<ProjectViewModel>(context, listen: false).isArabic ? 'Cairo' : 'WorkSans' fontName:
); Provider.of<ProjectViewModel>(context, listen: false).isArabic
? 'Cairo'
: 'WorkSans');
} else if (value == 3) { } else if (value == 3) {
return bwThemes( return bwThemes(
fontName: Provider.of<ProjectViewModel>(context, listen: false).isArabic ? 'Cairo' : 'WorkSans' fontName:
); Provider.of<ProjectViewModel>(context, listen: false).isArabic
? 'Cairo'
: 'WorkSans');
} else { } else {
return defaultTheme( return defaultTheme(
fontName: fontName:

@ -44,7 +44,7 @@ class _ProfileSettings extends State<ProfileSettings>
child: model.user != null child: model.user != null
? ListView(scrollDirection: Axis.vertical, children: <Widget>[ ? ListView(scrollDirection: Axis.vertical, children: <Widget>[
Container( Container(
color: Theme.of(context).primaryColor, color: Theme.of(context).textTheme.headline2.color,
padding: EdgeInsets.all(15), padding: EdgeInsets.all(15),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
@ -74,7 +74,7 @@ class _ProfileSettings extends State<ProfileSettings>
padding: EdgeInsets.all(10), padding: EdgeInsets.all(10),
), ),
Container( Container(
color: Theme.of(context).primaryColor, color: Theme.of(context).textTheme.headline2.color,
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 0, left: 10, right: 10, bottom: 0), top: 0, left: 10, right: 10, bottom: 0),
child: Row( child: Row(
@ -93,7 +93,7 @@ class _ProfileSettings extends State<ProfileSettings>
], ],
)), )),
Container( Container(
color: Theme.of(context).primaryColor, color: Theme.of(context).textTheme.headline2.color,
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 0, left: 10, right: 10, bottom: 0), top: 0, left: 10, right: 10, bottom: 0),
child: Row( child: Row(
@ -116,7 +116,7 @@ class _ProfileSettings extends State<ProfileSettings>
padding: EdgeInsets.all(10), padding: EdgeInsets.all(10),
), ),
Container( Container(
color: Theme.of(context).primaryColor, color: Theme.of(context).textTheme.headline2.color,
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 0, left: 10, right: 10, bottom: 0), top: 0, left: 10, right: 10, bottom: 0),
child: Row( child: Row(
@ -136,7 +136,7 @@ class _ProfileSettings extends State<ProfileSettings>
], ],
)), )),
Container( Container(
color: Theme.of(context).primaryColor, color: Theme.of(context).textTheme.headline2.color,
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 0, left: 10, right: 10, bottom: 0), top: 0, left: 10, right: 10, bottom: 0),
child: Row( child: Row(
@ -160,7 +160,7 @@ class _ProfileSettings extends State<ProfileSettings>
padding: EdgeInsets.all(10), padding: EdgeInsets.all(10),
), ),
Container( Container(
color: Theme.of(context).primaryColor, color: Theme.of(context).textTheme.headline2.color,
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 0, left: 10, right: 10, bottom: 0), top: 0, left: 10, right: 10, bottom: 0),
child: Column( child: Column(
@ -175,7 +175,7 @@ class _ProfileSettings extends State<ProfileSettings>
], ],
)), )),
Container( Container(
color: Theme.of(context).primaryColor, color: Theme.of(context).textTheme.headline2.color,
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 0, left: 10, right: 10, bottom: 0), top: 0, left: 10, right: 10, bottom: 0),
child: Column( child: Column(
@ -190,7 +190,7 @@ class _ProfileSettings extends State<ProfileSettings>
], ],
)), )),
Container( Container(
color: Theme.of(context).primaryColor, color: Theme.of(context).textTheme.headline2.color,
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 0, left: 10, right: 10, bottom: 0), top: 0, left: 10, right: 10, bottom: 0),
child: Column( child: Column(

@ -259,7 +259,7 @@ class FamilyFilesProvider with ChangeNotifier {
var currentUser = var currentUser =
AuthenticatedUser.fromJson(await sharedPref.getObject(MAIN_USER)); AuthenticatedUser.fromJson(await sharedPref.getObject(MAIN_USER));
//const request = new SwitchUserRequest(); //const request = new SwitchUserRequest();
request['LogInTokenID'] = ''; // request['LogInTokenID'] = '';
request['PatientOutSA'] = currentUser.outSA; //? 1 : 0; request['PatientOutSA'] = currentUser.outSA; //? 1 : 0;
request['PatientMobileNumber'] = request['PatientMobileNumber'] =
currentUser.mobileNumber; //['MobileNumber']; currentUser.mobileNumber; //['MobileNumber'];
@ -276,7 +276,7 @@ class FamilyFilesProvider with ChangeNotifier {
AuthenticatedUser.fromJson(await sharedPref.getObject(USER_PROFILE)); AuthenticatedUser.fromJson(await sharedPref.getObject(USER_PROFILE));
//const request = new SwitchUserRequest(); //const request = new SwitchUserRequest();
request['LogInTokenID'] = ''; // request['LogInTokenID'] = '';
request['PatientOutSA'] = currentUser.outSA; //? 1 : 0; request['PatientOutSA'] = currentUser.outSA; //? 1 : 0;
request['PatientMobileNumber'] = request['PatientMobileNumber'] =
switchUser.mobileNumber; //['MobileNumber']; switchUser.mobileNumber; //['MobileNumber'];

@ -10,9 +10,12 @@ import 'package:flutter/services.dart';
import 'package:localstorage/localstorage.dart'; import 'package:localstorage/localstorage.dart';
import 'package:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
import 'package:vibration/vibration.dart'; import 'package:vibration/vibration.dart';
import 'package:geolocator/geolocator.dart' as geo;
// import 'package:open_settings/open_settings.dart';
class PermissionService extends BaseService { class PermissionService extends BaseService {
final LocalStorage storage = new LocalStorage("permission"); final LocalStorage storage = new LocalStorage("permission");
geo.LocationPermission locationPermission;
AppGlobal appGlobal = new AppGlobal(); AppGlobal appGlobal = new AppGlobal();
setVibrationPermission(flag) async { setVibrationPermission(flag) async {
@ -20,23 +23,24 @@ class PermissionService extends BaseService {
} }
isVibrationEnabled() { isVibrationEnabled() {
return (storage.getItem('isVibration') ==null) || (storage.getItem('isVibration')) ==false ? false :true; return (storage.getItem('isVibration') == null) ||
(storage.getItem('isVibration')) == false
? false
: true;
} }
vibrate(callback, context) async{
if (callback == null) vibrate(callback, context) async {
return null; if (callback == null) return null;
if(isVibrationEnabled() ==true){ if (isVibrationEnabled() == true) {
if (await Vibration.hasVibrator()) { if (await Vibration.hasVibrator()) {
Vibration.vibrate(duration: 100); Vibration.vibrate(duration: 100);
callback(); callback();
} }
}else{ } else {
callback(); callback();
} }
} }
setTheme(flag) async { setTheme(flag) async {
storage.setItem('isTheme', flag); storage.setItem('isTheme', flag);
} }
@ -44,23 +48,36 @@ class PermissionService extends BaseService {
isThemeEnabled() { isThemeEnabled() {
return storage.getItem('isTheme'); return storage.getItem('isTheme');
} }
cameraPermission() async{
Map<Permission, PermissionStatus> statuses = await [ cameraPermission() async {
Permission.camera, Map<Permission, PermissionStatus> statuses = await [
].request(); Permission.camera,
} ].request();
isCameraEnabled() async{ }
print(await Permission.camera.status);
return await Permission.camera.status == PermissionStatus.granted ? true : false; isCameraEnabled() async {
return await Permission.camera.isGranted;
} }
setCameraLocationPermission(context) async{
setCameraLocationPermission(context) async {
Navigator.pop(context); Navigator.pop(context);
openAppSettings(); openAppSettings();
} }
isLocationEnabled() async{
return await Permission.location.status == PermissionStatus.granted ? true : false; isLocationEnabled() async {
var permission = await geo.Geolocator.checkPermission();
if (permission == geo.LocationPermission.denied) {
return false;
} else {
return true;
}
} }
openSettings() async{
openSettings() async {
openAppSettings(); openAppSettings();
} }
openAccessbility() {
// OpenSettings.openAppSetting();
}
} }

@ -754,8 +754,10 @@ class TranslationBase {
String get shippedMethod => String get shippedMethod =>
localizedValues['shippedMethod'][locale.languageCode]; localizedValues['shippedMethod'][locale.languageCode];
String get orderDetail => localizedValues['orderDetail'][locale.languageCode]; String get orderDetail => localizedValues['orderDetail'][locale.languageCode];
String get deliveryDriverTrack => localizedValues['DeliveryDriverTrack'][locale.languageCode]; String get deliveryDriverTrack =>
String get deliveryLocation => localizedValues['DeliveryLocation'][locale.languageCode]; localizedValues['DeliveryDriverTrack'][locale.languageCode];
String get deliveryLocation =>
localizedValues['DeliveryLocation'][locale.languageCode];
String get driver => localizedValues['Driver'][locale.languageCode]; String get driver => localizedValues['Driver'][locale.languageCode];
String get subtotal => localizedValues['subtotal'][locale.languageCode]; String get subtotal => localizedValues['subtotal'][locale.languageCode];
String get shipping => localizedValues['shipping'][locale.languageCode]; String get shipping => localizedValues['shipping'][locale.languageCode];
@ -1038,6 +1040,9 @@ class TranslationBase {
localizedValues['ItemInSearch'][locale.languageCode]; localizedValues['ItemInSearch'][locale.languageCode];
String get bloodDonation => String get bloodDonation =>
localizedValues['blood-donation'][locale.languageCode]; localizedValues['blood-donation'][locale.languageCode];
String get bloodDonationInfo =>
localizedValues['blood-donation-info'][locale.languageCode];
String get bloodInstruction => String get bloodInstruction =>
localizedValues['blood-instruction'][locale.languageCode]; localizedValues['blood-instruction'][locale.languageCode];
String get bloodTermsNcondition => String get bloodTermsNcondition =>
@ -1562,14 +1567,17 @@ class TranslationBase {
localizedValues["submitncontinue"][locale.languageCode]; localizedValues["submitncontinue"][locale.languageCode];
String get areyousure => localizedValues["areyousure"][locale.languageCode]; String get areyousure => localizedValues["areyousure"][locale.languageCode];
// Offer And Packahes // Offer And Packahes
String get subT=> localizedValues['OffersAndPackages'][locale.languageCode]; String get subT => localizedValues['OffersAndPackages'][locale.languageCode];
String get totalWithColonRight => localizedValues['totalWithColonRight'][locale.languageCode]; String get totalWithColonRight =>
localizedValues['totalWithColonRight'][locale.languageCode];
String get preferredunit => String get preferredunit =>
localizedValues["preferredunit"][locale.languageCode]; localizedValues["preferredunit"][locale.languageCode];
String get trySaying => localizedValues["try-saying"][locale.languageCode]; String get trySaying => localizedValues["try-saying"][locale.languageCode];
String get somethingWentWrong =>
localizedValues["somethingWentWrong"][locale.languageCode];
String get enterIdentificationNumber => String get enterIdentificationNumber =>
localizedValues["enterIdentificationNumber"][locale.languageCode]; localizedValues["enterIdentificationNumber"][locale.languageCode];
String get accountActivationDesc => String get accountActivationDesc =>
@ -1609,11 +1617,17 @@ class TranslationBase {
String get insuranceID => String get insuranceID =>
localizedValues["insurance-id"][locale.languageCode]; localizedValues["insurance-id"][locale.languageCode];
String get enterFile => localizedValues["enter-file"][locale.languageCode]; String get enterFile => localizedValues["enter-file"][locale.languageCode];
String get enterReferralRequesterName => localizedValues["enterReferralRequesterName"][locale.languageCode]; String get allow => localizedValues["allow"][locale.languageCode];
String get selectRelationship => localizedValues["selectRelationship"][locale.languageCode]; String get reject => localizedValues["reject"][locale.languageCode];
String get requesterRelationship => localizedValues["requesterRelationship"][locale.languageCode]; String get enterReferralRequesterName =>
localizedValues["enterReferralRequesterName"][locale.languageCode];
String get selectRelationship =>
localizedValues["selectRelationship"][locale.languageCode];
String get requesterRelationship =>
localizedValues["requesterRelationship"][locale.languageCode];
String get newReferral => localizedValues["newReferral"][locale.languageCode]; String get newReferral => localizedValues["newReferral"][locale.languageCode];
String get searchForReferrals => localizedValues["searchForReferrals"][locale.languageCode]; String get searchForReferrals =>
localizedValues["searchForReferrals"][locale.languageCode];
} }
class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> { class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> {

@ -21,7 +21,8 @@ import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
class BottomNavBar extends StatefulWidget { class BottomNavBar extends StatefulWidget {
final ValueChanged<int> changeIndex; final ValueChanged<int> changeIndex;
final int index; final int index;
BottomNavBar({Key key, this.changeIndex, this.index}) : super(key: key); final bool showHomeIcon;
BottomNavBar({Key key, this.changeIndex, this.index, this.showHomeIcon = false}) : super(key: key);
@override @override
_BottomNavBarState createState() => _BottomNavBarState(); _BottomNavBarState createState() => _BottomNavBarState();
@ -33,7 +34,7 @@ class _BottomNavBarState extends State<BottomNavBar> {
var event = RobotProvider(); var event = RobotProvider();
_changeIndex(int index) async { _changeIndex(int index) async {
widget.changeIndex(index); widget.changeIndex(index);
if (_index == 0) { if (index == 0) {
event.setValue({'isRobotVisible': 'true'}); event.setValue({'isRobotVisible': 'true'});
} }
} }
@ -72,16 +73,27 @@ class _BottomNavBarState extends State<BottomNavBar> {
), ),
if (widget.index == 0) if (widget.index == 0)
Expanded( Expanded(
child: SizedBox( child: (widget.showHomeIcon)
height: 50, ? SizedBox(
child: Column( child: BottomNavigationItem(
mainAxisSize: MainAxisSize.min, icon: Icons.home_outlined,
mainAxisAlignment: MainAxisAlignment.center, activeIcon: Icons.home_outlined,
children: <Widget>[ changeIndex: _changeIndex,
SizedBox(height: 22), index: widget.index,
], currentIndex: 2,
), name: TranslationBase.of(context).home,
), ),
)
: SizedBox(
height: 50,
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
SizedBox(height: 22),
],
),
),
), ),
if (widget.index != 0 && projectViewModel.havePrivilege(34)) if (widget.index != 0 && projectViewModel.havePrivilege(34))
BottomNavigationItem( BottomNavigationItem(

@ -309,7 +309,7 @@ class _AppDrawerState extends State<AppDrawer> {
padding: EdgeInsets.only(left: 5, right: 5), padding: EdgeInsets.only(left: 5, right: 5),
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[
AppText(result.patientName, color: result.responseID == user.patientID ? Color(0xFF40ACC9) : Colors.black), AppText(result.patientName, color: result.responseID == user.patientID ? Color(0xFF40ACC9) : Colors.black),
AppText(TranslationBase.of(context).fileno + ": " + result.patientID.toString(), color: result.responseID == user.patientID ? Color(0xFF40ACC9) : Colors.black), AppText(TranslationBase.of(context).fileno + ": " + result.responseID.toString(), color: result.responseID == user.patientID ? Color(0xFF40ACC9) : Colors.black),
]))), ]))),
], ],
))) )))

@ -162,7 +162,7 @@ dependencies:
# recase: ^3.0.0 # recase: ^3.0.0
wakelock: ^0.1.4 wakelock: ^0.1.4
after_layout: ^1.0.7 after_layout: ^1.0.7
twilio_programmable_video: ^0.5.0+3 twilio_programmable_video: ^0.6.2
cached_network_image: ^2.4.1 cached_network_image: ^2.4.1
flutter_tts: flutter_tts:
path: flutter_tts-voice_enhancement path: flutter_tts-voice_enhancement
@ -176,7 +176,7 @@ dependencies:
path: speech_to_text path: speech_to_text
badges: ^1.1.4 badges: ^1.1.4
# open_settings: ^2.0.1
# Dep by Zohaib # Dep by Zohaib
shimmer: ^1.1.2 shimmer: ^1.1.2
carousel_slider: ^2.3.1 carousel_slider: ^2.3.1

Loading…
Cancel
Save