Compare commits

...

8 Commits

@ -60,6 +60,10 @@ android {
release {
// TODO: Add your own signing config for the release build.
signingConfig signingConfigs.release
debuggable false
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {

@ -33,6 +33,13 @@
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION" tools:node="remove"/>
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID" tools:node="remove"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" tools:node="remove"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE" tools:node="remove"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" tools:node="remove"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_PHONE_CALL" tools:node="remove"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" tools:node="remove"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" tools:node="remove"/>
<application
android:name=".AppApplication"
android:icon="@mipmap/ic_launcher"

@ -0,0 +1,11 @@
-----BEGIN PUBLIC KEY-----
MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAs37LQiA2JcDGdX0cXrOn
Eoi4qpZcozsvY8wHdAEbqHLL8V2xi//ofX1futVyqgYD/GoBDKvrP3A8sxmkVxoS
jWS1AmenHCdjDJkZamjG3v49/8DHmNX0iTMh7oObAvdvbPgXSQXz52V4A8/LGsQK
ZsS2RlsCWxstP2tc8A7Ngi/7QvNqcaAvC2sgxj0elL8DpfMOYcrxHaRGym9nnUK6
kMesLSEQyInaxWPQncMY/Hp9GdwqUYGE7PVww9GHnvl7xp6iajyc22dNMGoyPjvJ
U1MAyDGCDH2ffgJylAASpQv4vvuVemhrp7uptF4n5uFxSUi3ceyuYr3y5JKyqjTX
QSqN1oasA6MWKOekBadMpIq/riVPpn5xH3iJuOXIYUs4rHEjDQIT2h1R51MQ/t2r
kn140uCBtm5Ub5jac4zlYpYjWujd6x0/W1JePF0YEmoC27Yadvf4KbysFelHqkou
0kS4rZdBff3U0//d66ti2bKR5eQmVPKOFdl9Q6vv3RS9AgMBAAE=
-----END PUBLIC KEY-----

@ -212,7 +212,7 @@
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = YES;
LastUpgradeCheck = 1500;
LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "The Chromium Authors";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
@ -355,19 +355,23 @@
"${BUILT_PRODUCTS_DIR}/Try/Try.framework",
"${BUILT_PRODUCTS_DIR}/barcode_scan2/barcode_scan2.framework",
"${BUILT_PRODUCTS_DIR}/connectivity/connectivity.framework",
"${BUILT_PRODUCTS_DIR}/device_info/device_info.framework",
"${BUILT_PRODUCTS_DIR}/file_picker/file_picker.framework",
"${BUILT_PRODUCTS_DIR}/flutter_inappwebview/flutter_inappwebview.framework",
"${BUILT_PRODUCTS_DIR}/flutter_inappwebview_ios/flutter_inappwebview_ios.framework",
"${BUILT_PRODUCTS_DIR}/flutter_keyboard_visibility/flutter_keyboard_visibility.framework",
"${BUILT_PRODUCTS_DIR}/fluttertoast/fluttertoast.framework",
"${BUILT_PRODUCTS_DIR}/local_auth_ios/local_auth_ios.framework",
"${BUILT_PRODUCTS_DIR}/maps_launcher/maps_launcher.framework",
"${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework",
"${BUILT_PRODUCTS_DIR}/path_provider_foundation/path_provider_foundation.framework",
"${BUILT_PRODUCTS_DIR}/pointer_interceptor_ios/pointer_interceptor_ios.framework",
"${BUILT_PRODUCTS_DIR}/shared_preferences_foundation/shared_preferences_foundation.framework",
"${BUILT_PRODUCTS_DIR}/speech_to_text/speech_to_text.framework",
"${BUILT_PRODUCTS_DIR}/sqflite/sqflite.framework",
"${BUILT_PRODUCTS_DIR}/url_launcher_ios/url_launcher_ios.framework",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/ZoomVideoSDK/CptShare/CptShare.framework/CptShare",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/ZoomVideoSDK/ZoomVideoSDK/ZoomVideoSDK.framework/ZoomVideoSDK",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/ZoomVideoSDK/zm_annoter_dynamic/zm_annoter_dynamic.framework/zm_annoter_dynamic",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/ZoomVideoSDK/zoomcml/zoomcml.framework/zoomcml",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
@ -392,19 +396,23 @@
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Try.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/barcode_scan2.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/connectivity.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/device_info.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/file_picker.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_inappwebview.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_inappwebview_ios.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_keyboard_visibility.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/fluttertoast.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/local_auth_ios.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/maps_launcher.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_foundation.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/pointer_interceptor_ios.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences_foundation.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/speech_to_text.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqflite.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher_ios.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CptShare.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ZoomVideoSDK.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/zm_annoter_dynamic.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/zoomcml.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@ -453,6 +461,7 @@
/* Begin XCBuildConfiguration section */
249021D3217E4FDB00AE95B9 /* Profile */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
@ -505,13 +514,15 @@
};
249021D4217E4FDB00AE95B9 /* Profile */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = E333B59AA5538E0304102FD2 /* Pods-Runner.profile.xcconfig */;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = 4;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 3A359E86ZF;
ENABLE_BITCODE = NO;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
@ -526,7 +537,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
MARKETING_VERSION = 1.3.99;
MARKETING_VERSION = 1.4.19;
PRODUCT_BUNDLE_IDENTIFIER = com.hmg.hmgDr;
PRODUCT_NAME = Runner;
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
@ -537,7 +548,7 @@
};
97C147031CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 9740EEB31CF90195004384FC /* Generated.xcconfig */;
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
@ -595,6 +606,7 @@
};
97C147041CF9000F007C117D /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
@ -649,13 +661,15 @@
};
97C147061CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = C55D4AE245B71956447BA22F /* Pods-Runner.debug.xcconfig */;
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = 4;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 3A359E86ZF;
ENABLE_BITCODE = NO;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
@ -670,7 +684,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
MARKETING_VERSION = 1.3.99;
MARKETING_VERSION = 1.4.19;
PRODUCT_BUNDLE_IDENTIFIER = com.hmg.hmgDr;
PRODUCT_NAME = Runner;
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
@ -682,14 +696,16 @@
};
97C147071CF9000F007C117D /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = C8801C5E6B82B6CB497CA5C7 /* Pods-Runner.release.xcconfig */;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/RunnerRelease.entitlements;
CURRENT_PROJECT_VERSION = 4;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 3A359E86ZF;
ENABLE_BITCODE = NO;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
@ -704,7 +720,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
MARKETING_VERSION = 1.3.99;
MARKETING_VERSION = 1.4.19;
PRODUCT_BUNDLE_IDENTIFIER = com.hmg.hmgDr;
PRODUCT_NAME = Runner;
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1500"
LastUpgradeVersion = "1510"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

@ -4,15 +4,16 @@ const MAX_SMALL_SCREEN = 660;
const ONLY_NUMBERS = "[0-9]";
const ONLY_LETTERS = "[a-zA-Z &'\"]";
const ONLY_DATE = "[0-9/]";
// const BASE_URL_LIVE_CARE = 'https://livecare.hmg.com/';
const DOCTOR_ROTATION = 'https://doctorrota.hmg.com/';
const BASE_URL_LIVE_CARE = 'https://livecare.hmg.com/';
// const BASE_URL_LIVE_CARE = 'https://livecareuat.hmg.com/';
const BASE_URL_LIVE_CARE = 'https://uat.hmgwebservices.com/';
const DOCTOR_ROTATION = 'https://doctorrota.hmg.com/';
// const BASE_URL = 'https://hmgwebservices.com/';
// const BASE_URL = 'http://10.20.200.111:1010/';
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/';
// const BASE_URL = 'https://uat.hmgwebservices.com/';
@ -412,7 +413,7 @@ const TRANSACTION_NO = 0;
const LANGUAGE_ID = 2;
const STAMP = '2020-04-27T12:17:17.721Z';
const IP_ADDRESS = '9.9.9.9';
const VERSION_ID = 9.4;
const VERSION_ID = 9.6;
const CHANNEL = 9;
const SESSION_ID = 'BlUSkYymTt';
const IS_LOGIN_FOR_DOCTOR_APP = true;

@ -40,13 +40,13 @@ class AuthenticationService extends BaseService {
try {
await baseAppClient.post(SELECT_DEVICE_IMEI, onSuccess: (dynamic response, int statusCode) {
_imeiDetails = [];
response['List_DoctorDeviceDetails'].forEach((v) {
response['List_DoctorDeviceDetails']?.forEach((v) {
_imeiDetails.add(GetIMEIDetailsModel.fromJson(v));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: {"IMEI": imei, "TokenID": "@dm!n"});
}, body: {"IMEI": imei, });
} catch (error) {
hasError = true;
super.error = error.toString();

@ -1,4 +1,6 @@
import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/config/shared_pref_kay.dart';
import 'package:doctor_app_flutter/core/model/doctor/doctor_profile_model.dart';
import 'package:doctor_app_flutter/core/model/referral/ReferralRequest.dart';
import 'package:doctor_app_flutter/core/service/base/base_service.dart';
@ -14,8 +16,10 @@ class ReferralService extends BaseService {
int? frequency,
String? referringDoctorRemarks,
String? extension}) async {
await getDoctorProfile();
// await getDoctorProfile();
ReferralRequest referralRequest = ReferralRequest();
Map<String, dynamic>? profile = await sharedPref.getObj(DOCTOR_PROFILE);
DoctorProfileModel doctorProfile = DoctorProfileModel.fromJson(profile!);
referralRequest.admissionNo = admissionNo;
referralRequest.roomID = roomID;
referralRequest.referralClinic = referralClinic.toString();

@ -80,9 +80,7 @@ class _HomeScreenState extends State<HomeScreen> {
return BaseView<DashboardViewModel>(
onModelReady: (model) async {
model
.startHomeScreenServices(projectsProvider, authenticationViewModel)
.then((value) {
model.startHomeScreenServices(projectsProvider, authenticationViewModel).then((value) {
WidgetsBinding.instance.addPostFrameCallback((_) async {
if (model.radiologyCriticalFindingModel != null) {
print("onModelReady radiologyCriticalFindingModel!!!");
@ -113,12 +111,9 @@ class _HomeScreenState extends State<HomeScreen> {
//TODO Elham* make it componet
Container(
width: 40,
margin: EdgeInsets.only(
left: projectsProvider.isArabic ? 0 : 32,
right: projectsProvider.isArabic ? 23 : 0),
margin: EdgeInsets.only(left: projectsProvider.isArabic ? 0 : 32, right: projectsProvider.isArabic ? 23 : 0),
child: IconButton(
icon: SvgPicture.asset('assets/images/svgs/menu.svg',
height: 25, width: 10),
icon: SvgPicture.asset('assets/images/svgs/menu.svg', height: 25, width: 10),
iconSize: 15,
color: Colors.black,
onPressed: () => Scaffold.of(context).openDrawer(),
@ -126,8 +121,6 @@ class _HomeScreenState extends State<HomeScreen> {
),
Column(children: <Widget>[
//
// InkWell(onTap: (){
// AppPermissionsUtils.requestVideoCallPermission(
@ -322,14 +315,10 @@ class _HomeScreenState extends State<HomeScreen> {
);
}
showRadiologyFindingDialog(DashboardViewModel model) async{
await Utils.showConfirmationDialog(
context, model.radiologyCriticalFindingModel?.notificationMesssage ??'test radiology',
() async {
showRadiologyFindingDialog(DashboardViewModel model) async {
await Utils.showConfirmationDialog(context, model.radiologyCriticalFindingModel?.notificationMesssage ?? 'test radiology', () async {
GifLoaderDialogUtils.showMyDialog(context);
await model.acknowledgeRadiologyCriticalFinding(
model.radiologyCriticalFindingModel?.invoiceNo?.toString() ?? '',
model.radiologyCriticalFindingModel?.invoiceLineItemNo?.toString() ?? '');
await model.acknowledgeRadiologyCriticalFinding(model.radiologyCriticalFindingModel?.invoiceNo?.toString() ?? '', model.radiologyCriticalFindingModel?.invoiceLineItemNo?.toString() ?? '');
GifLoaderDialogUtils.hideDialog(context);
Navigator.of(context).pop();
}, isShowCancelButton: false);
@ -351,27 +340,19 @@ class _HomeScreenState extends State<HomeScreen> {
_showErrorBottomSheet(context, TranslationBase.of(context).youHavePendingInterventions);
}
List<Widget> homePatientsCardsWidget(
DashboardViewModel model, projectsProvider) {
List<Widget> homePatientsCardsWidget(DashboardViewModel model, projectsProvider) {
colorIndex = 0;
List<LinearGradient> backgroundColors = [];
backgroundColors.add(LinearGradient(
begin: Alignment(-1.0, -2.0),
end: Alignment(1.0, 2.0),
colors: [
AppGlobal.appRedColor,
Color(0xFFAD3B3B),
])); //AppGlobal.appRedColor;
backgroundColors.add(
LinearGradient(begin: Alignment.center, end: Alignment.center, colors: [
backgroundColors.add(LinearGradient(begin: Alignment(-1.0, -2.0), end: Alignment(1.0, 2.0), colors: [
AppGlobal.appRedColor,
Color(0xFFAD3B3B),
])); //AppGlobal.appRedColor;
backgroundColors.add(LinearGradient(begin: Alignment.center, end: Alignment.center, colors: [
Color(0xFFC9C9C9),
Color(0xFFC9C9C9),
]));
backgroundColors.add(LinearGradient(
begin: Alignment.center,
end: Alignment.center,
colors: [Color(0xFF71787E), AppGlobal.appTextColor]));
backgroundColors.add(LinearGradient(begin: Alignment.center, end: Alignment.center, colors: [Color(0xFF71787E), AppGlobal.appTextColor]));
List<Color> backgroundIconColors = [];
backgroundIconColors.add(Colors.white12);
backgroundIconColors.add(Colors.white38);
@ -390,8 +371,7 @@ class _HomeScreenState extends State<HomeScreen> {
cardIcon: DoctorApp.livecare,
textColor: textColors[colorIndex],
iconSize: 21,
text:
"${TranslationBase.of(context).liveCare}\n${TranslationBase.of(context).patients}",
text: "${TranslationBase.of(context).liveCare}\n${TranslationBase.of(context).patients}",
onTap: () {
// TODO MOSA TEST
// PatiantInformtion patient = PatiantInformtion(
@ -438,22 +418,19 @@ class _HomeScreenState extends State<HomeScreen> {
));
changeColorIndex();
if (!Utils.isVidaPlusInPatientProject(projectsProvider, model.doctorProfile!.projectID!)) {
if (model.doctorProfile != null && !Utils.isVidaPlusInPatientProject(projectsProvider, model.doctorProfile!.projectID!)) {
patientCards.add(HomePatientCard(
gradient: backgroundColors[colorIndex],
backgroundIconColor: backgroundIconColors[colorIndex],
cardIcon: DoctorApp.inpatient,
textColor: textColors[colorIndex],
text: TranslationBase
.of(context)
.myInPatient,
text: TranslationBase.of(context).myInPatient,
onTap: () {
Navigator.push(
context,
FadePage(
page: InPatientScreen(
specialClinic: model.getSpecialClinic(
clinicId ?? projectsProvider.doctorClinicsList[0].clinicID),
specialClinic: model.getSpecialClinic(clinicId ?? projectsProvider.doctorClinicsList[0].clinicID),
),
),
);
@ -469,12 +446,10 @@ class _HomeScreenState extends State<HomeScreen> {
cardIcon: DoctorApp.search_medicines,
textColor: textColors[2],
text: TranslationBase.of(context).interventionPharmacyApproval,
fontSize: SizeConfig.getTextMultiplierBasedOnWidth(width: width) *
(SizeConfig.isHeightVeryShort ? 10 : 9),
fontSize: SizeConfig.getTextMultiplierBasedOnWidth(width: width) * (SizeConfig.isHeightVeryShort ? 10 : 9),
onTap: () {
if (!model.isInfectiousDiseaseConsultant) {
DrAppToastMsg.showErrorToast(
TranslationBase.of(context).unableToPerformTheAction);
DrAppToastMsg.showErrorToast(TranslationBase.of(context).unableToPerformTheAction);
}
Navigator.push(
context,
@ -511,19 +486,13 @@ class _HomeScreenState extends State<HomeScreen> {
textColor: textColors[colorIndex],
text: TranslationBase.of(context).myOutPatient_2lines,
onTap: () {
String date = AppDateUtils.convertDateToFormat(
DateTime(
DateTime.now().year, DateTime.now().month, DateTime.now().day),
'yyyy-MM-dd');
String date = AppDateUtils.convertDateToFormat(DateTime(DateTime.now().year, DateTime.now().month, DateTime.now().day), 'yyyy-MM-dd');
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => OutPatientsScreen(
patientSearchRequestModel: PatientSearchRequestModel(
from: date,
to: date,
doctorID: authenticationViewModel.doctorProfile!.doctorID),
patientSearchRequestModel: PatientSearchRequestModel(from: date, to: date, doctorID: authenticationViewModel.doctorProfile!.doctorID),
),
settings: RouteSettings(name: 'OutPatientsScreen'),
));
@ -583,10 +552,7 @@ class _HomeScreenState extends State<HomeScreen> {
));
changeColorIndex();
return [
...List.generate(patientCards.length, (index) => patientCards[index])
.toList()
];
return [...List.generate(patientCards.length, (index) => patientCards[index]).toList()];
}
changeColorIndex() {
@ -595,20 +561,41 @@ class _HomeScreenState extends State<HomeScreen> {
colorIndex = 0;
}
}
void _showErrorBottomSheet(BuildContext context, String errorMessage) {
showModalBottomSheet(
isDismissible: true,
enableDrag: false,
context: context,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.vertical(top: Radius.circular(20)),
),
backgroundColor: Colors.red[50], // Light red background
backgroundColor: Colors.red[50],
// Light red background
builder: (context) {
return Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Icon(Icons.error_outline, color: Colors.red, size: 40),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Icon(Icons.error_outline, color: Colors.red, size: 40),
InkWell(
onTap: () {
Navigator.pop(context);
},
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Icon(
Icons.close,
color: Colors.red,
),
),
)
],
),
const SizedBox(height: 10),
Text(
TranslationBase.of(context).pharmacyIntervention,
@ -622,26 +609,28 @@ class _HomeScreenState extends State<HomeScreen> {
),
const SizedBox(height: 15),
SizedBox(
width: SizeConfig.realScreenWidth! * .4,
child:AppButton(
width: SizeConfig.realScreenWidth! * .4,
child: AppButton(
color: Colors.green,
onPressed: () => { // Navigator.pop(context);
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => PharmacyIntervention(),
settings: RouteSettings(name: 'PharmacyIntervention'),
))},
title: TranslationBase.of(context).open,
)),
onPressed: () => {
// Navigator.pop(context);
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => PharmacyIntervention(),
settings: RouteSettings(name: 'PharmacyIntervention'),
))
},
title: TranslationBase.of(context).open,
)),
],
),
);
},
);
}
void startZoom(){
void startZoom() {
var zoom = ZoomVideoSdk();
InitConfig initConfig = InitConfig(
domain: "zoom.us",

@ -74,11 +74,10 @@ class PharmacyInterventionService extends BaseService {
var success = false;
await baseAppClient.post(IS_INFECTIOUS_DISEASE_CONSULTANT,
onSuccess: (dynamic response, int statusCode) {
success = response['IsInfectiousDiseases'];
success = response['IsInfectiousDiseases'];
}, onFailure: (String error, int statusCode) {
hasError = true;
DrAppToastMsg.showErrorToast(error);
super.error = super.error ?? "" + "\n" + error;
}, body: {});
return success;
@ -97,8 +96,6 @@ class PharmacyInterventionService extends BaseService {
}, onFailure: (String error, int statusCode) {
hasError = true;
DrAppToastMsg.showErrorToast(error);
super.error = super.error! + "\n" + error;
}, body: {});
return success;
}
@ -125,9 +122,6 @@ class PharmacyInterventionService extends BaseService {
}, onFailure: (String error, int statusCode) {
hasError = true;
DrAppToastMsg.showErrorToast(error);
super.error = super.error! + "\n" + error;
}, body: request);
return result;
}
@ -139,11 +133,10 @@ class PharmacyInterventionService extends BaseService {
var result = false;
await baseAppClient.post(UPDATE_INFECTIOUS_STATUS,
onSuccess: (dynamic response, int statusCode) {
result = response['IsAccepted'];
result = response['IsAccepted'] ?? false;
}, onFailure: (String error, int statusCode) {
hasError = true;
DrAppToastMsg.showErrorToast(error);
super.error = super.error! + "\n" + error;
}, body: request);
return result;
}
@ -158,8 +151,6 @@ class PharmacyInterventionService extends BaseService {
}, onFailure: (String error, int statusCode) {
hasError = true;
DrAppToastMsg.showErrorToast(error);
super.error = super.error! + "\n" + error;
}, body: {});
return station;
}

@ -42,7 +42,7 @@ class Utils {
),
actions: [
AppButton(
onPressed:() => okFunction(),
onPressed: () => okFunction(),
title: TranslationBase.of(context).noteConfirm,
fontColor: Colors.white,
color: AppGlobal.appGreenColor,

@ -8,7 +8,7 @@ import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/material.dart';
import '../../config/config.dart';
import 'package:cloudflare_turnstile/cloudflare_turnstile.dart';
// import 'package:cloudflare_turnstile/cloudflare_turnstile.dart';
class SMSOTP {
final AuthMethodTypes type;
@ -48,14 +48,14 @@ class SMSOTP {
late ProjectViewModel projectProvider;
String displayTime = '';
bool isClosed = false;
final TurnstileController _controller = TurnstileController();
final TurnstileOptions _options = TurnstileOptions(
size: TurnstileSize.normal,
theme: TurnstileTheme.light,
refreshExpired: TurnstileRefreshExpired.manual,
language: 'en',
retryAutomatically: false,
);
// final TurnstileController _controller = TurnstileController();
// final TurnstileOptions _options = TurnstileOptions(
// size: TurnstileSize.normal,
// theme: TurnstileTheme.light,
// refreshExpired: TurnstileRefreshExpired.manual,
// language: 'en',
// retryAutomatically: false,
// );
String? _token;
displayDialog(BuildContext context) async {
@ -266,31 +266,31 @@ class SMSOTP {
]),
SizedBox(height: 10,),
Column(children: [
CloudflareTurnstile(
siteKey: '0x4AAAAAAAkmbvEy63pcxBBt',
baseUrl: BASE_URL,
options: _options,
controller: _controller,
onTokenReceived: (token) {
setState(() {
print("Cloudflare token: $token");
//todo pass this token to checkActivcationCode
_token = token;
checkValue();
});
},
// onTokenRecived: (token) {
// setState(() {
// print("Cloudflare token: $token");
// _token = token;
// });
// },
onTokenExpired: () {},
// mode: TurnstileMode.managed,
// errorBuilder: (context, error) {
// return Text(error.message);
// },
),
// CloudflareTurnstile(
// siteKey: '0x4AAAAAAAkmbvEy63pcxBBt',
// baseUrl: BASE_URL,
// options: _options,
// controller: _controller,
// onTokenReceived: (token) {
// setState(() {
// print("Cloudflare token: $token");
// //todo pass this token to checkActivcationCode
// _token = token;
// checkValue();
// });
// },
// // onTokenRecived: (token) {
// // setState(() {
// // print("Cloudflare token: $token");
// // _token = token;
// // });
// // },
// onTokenExpired: () {},
// // mode: TurnstileMode.managed,
// // errorBuilder: (context, error) {
// // return Text(error.message);
// // },
// ),
],),
],
),

Binary file not shown.

Binary file not shown.

@ -11,7 +11,7 @@ description: A new Flutter project.
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.4.17+1
version: 1.4.22+33
environment:
@ -40,6 +40,7 @@ dependencies:
connectivity: ^3.0.6
maps_launcher: ^2.2.0
url_launcher: ^6.2.1
url_launcher_ios: ^6.3.2
charts_flutter: ^0.12.0
#flutter_charts: ^0.5.2
#gelin: ^0.1.6
@ -129,9 +130,9 @@ dependencies:
# flutter_math_fork: ^0.6.0
flutter_math_fork: ^0.7.2
cloudflare_turnstile: ^3.0.1
# flutter_zoom_videosdk: ^1.10.11
# dart_jsonwebtoken: ^2.14.0
# cloudflare_turnstile: ^3.0.1
flutter_zoom_videosdk: 1.12.10
dart_jsonwebtoken: ^2.14.0
two_dimensional_scrollables: ^0.3.3
@ -162,6 +163,7 @@ flutter:
# To add assets to your application, add an assets section, like this:
assets:
- assets/images/
- assets/images/zoom/
- assets/images/dashboard/
- assets/images/login/
- assets/images/svgs/

Loading…
Cancel
Save