Merge branch 'sultan' into 'diplomatic-quarter-live'

bug fixes

See merge request Cloud_Solution/diplomatic-quarter!168
dq_and_master
Mohammad Aljammal 4 years ago
commit 9cec304712

@ -157,9 +157,13 @@ class BaseAppClient {
onFailure('Please Check The Internet Connection', -1);
}
} catch (e) {
print(e);
onFailure('Failed to connect to the server', -1);
// onFailure(e.toString(), -1);
//print(e);
//
if (e is String) {
onFailure(e.toString(), -1);
} else {
onFailure('Failed to connect to the server', -1);
}
}
}

@ -27,7 +27,7 @@ import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
import '../../locator.dart';
class HomePage extends StatefulWidget {
@ -49,8 +49,8 @@ class _HomePageState extends State<HomePage> {
// });
// super.initState();
// }
AuthenticatedUserObject authenticatedUserObject = locator<AuthenticatedUserObject>();
AuthenticatedUserObject authenticatedUserObject =
locator<AuthenticatedUserObject>();
@override
Widget build(BuildContext context) {
@ -93,9 +93,10 @@ class _HomePageState extends State<HomePage> {
)
],
),
),
Container(width: double.infinity, height:projectViewModel.isArabic ? 120:110),
Container(
width: double.infinity,
height: projectViewModel.isArabic ? 120 : 110),
],
),
Positioned(
@ -110,7 +111,7 @@ class _HomePageState extends State<HomePage> {
Orientation.landscape
? 0.02
: 0.03),
child: (!model.isLogin )
child: (!model.isLogin)
? Container(
width: double.infinity,
height: 160,
@ -179,7 +180,6 @@ class _HomePageState extends State<HomePage> {
color: Theme.of(context)
.primaryColor,
fontSize: 14,
),
),
),
@ -307,7 +307,9 @@ class _HomePageState extends State<HomePage> {
bold: true,
),
Texts(
TranslationBase.of(context).height,
TranslationBase.of(
context)
.height,
color: Colors.white,
fontSize: 10,
),
@ -339,7 +341,9 @@ class _HomePageState extends State<HomePage> {
bold: true,
),
Texts(
TranslationBase.of(context).weight,
TranslationBase.of(
context)
.weight,
color: Colors.white,
fontSize: 10,
)
@ -353,8 +357,10 @@ class _HomePageState extends State<HomePage> {
),
Expanded(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment:
MainAxisAlignment.start,
crossAxisAlignment:
CrossAxisAlignment.center,
children: <Widget>[
Image.asset(
'assets/images/blood-drop.png',
@ -368,7 +374,9 @@ class _HomePageState extends State<HomePage> {
color: Colors.white,
),
Texts(
TranslationBase.of(context).bloodType,
TranslationBase.of(
context)
.bloodType,
color: Colors.white,
fontSize: 10,
)
@ -407,28 +415,35 @@ class _HomePageState extends State<HomePage> {
padding: const EdgeInsets.all(15.0),
child: Column(
children: <Widget>[
SizedBox(height: 15,),
SizedBox(
height: 15,
),
Container(
width: 60,
decoration: BoxDecoration(
color: Colors.white,
shape: BoxShape.rectangle,
borderRadius: BorderRadius.circular(12)
),
child: Center(child: Image.asset('assets/images/vital_sign_icon.png',
borderRadius:
BorderRadius.circular(12)),
child: Center(
child: Image.asset(
'assets/images/vital_sign_icon.png',
width: 80,
height: 50,
fit: BoxFit.contain,)),
fit: BoxFit.contain,
)),
),
SizedBox(
height: 20,
),
SizedBox(height: 20,),
Texts(
TranslationBase.of(context)
.vitalSigns,
TranslationBase.of(context).vitalSigns,
textAlign: TextAlign.center,
color: Colors.white,
bold: true,
fontSize: projectViewModel.isArabic? SizeConfig.textMultiplier * 1.5 :SizeConfig.textMultiplier * 1.7,
fontSize: projectViewModel.isArabic
? SizeConfig.textMultiplier * 1.5
: SizeConfig.textMultiplier * 1.7,
)
],
),
@ -456,26 +471,35 @@ class _HomePageState extends State<HomePage> {
padding: const EdgeInsets.all(15.0),
child: Column(
children: <Widget>[
SizedBox(height: 15,),
SizedBox(
height: 15,
),
Container(
width: 50,
decoration: BoxDecoration(
color: Colors.white,
shape: BoxShape.rectangle,
borderRadius: BorderRadius.circular(12)
),
child: Center(child: Image.asset('assets/images/search_medicine_icon.png',
borderRadius:
BorderRadius.circular(12)),
child: Center(
child: Image.asset(
'assets/images/search_medicine_icon.png',
width: 50,
height: 50,
fit: BoxFit.contain,)),
fit: BoxFit.contain,
)),
),
SizedBox(
height: 20,
),
SizedBox(height: 20,),
Texts(
TranslationBase.of(context).searchMedicine,
textAlign: TextAlign.center,
color: Colors.white,
bold: true,
fontSize: projectViewModel.isArabic? SizeConfig.textMultiplier * 1.5 :SizeConfig.textMultiplier * 1.7,
fontSize: projectViewModel.isArabic
? SizeConfig.textMultiplier * 1.5
: SizeConfig.textMultiplier * 1.7,
)
],
),
@ -487,8 +511,9 @@ class _HomePageState extends State<HomePage> {
),
),
Expanded(
child: DashboardItem(opacity: 1.0,
onTap: (){
child: DashboardItem(
opacity: 1.0,
onTap: () {
Navigator.push(
context,
FadePage(
@ -501,25 +526,35 @@ class _HomePageState extends State<HomePage> {
padding: const EdgeInsets.all(15.0),
child: Column(
children: <Widget>[
SizedBox(height: 15,),
SizedBox(
height: 15,
),
Container(
decoration: BoxDecoration(
color: Colors.white,
shape: BoxShape.rectangle,
borderRadius: BorderRadius.circular(12)
),
child: Center(child: Image.asset('assets/images/online_payment_icon.png',
borderRadius:
BorderRadius.circular(12)),
child: Center(
child: Image.asset(
'assets/images/online_payment_icon.png',
width: 80,
height: 50,
fit: BoxFit.contain,)),
fit: BoxFit.contain,
)),
),
SizedBox(
height: 15,
),
SizedBox(height: 15,),
Texts(
TranslationBase.of(context).onlinePaymentService,
TranslationBase.of(context)
.onlinePaymentService,
textAlign: TextAlign.center,
color: Colors.white,
bold: true,
fontSize: projectViewModel.isArabic? SizeConfig.textMultiplier * 1.5 :SizeConfig.textMultiplier * 1.7,
fontSize: projectViewModel.isArabic
? SizeConfig.textMultiplier * 1.5
: SizeConfig.textMultiplier * 1.7,
)
],
),
@ -555,34 +590,33 @@ class _HomePageState extends State<HomePage> {
);
},
child: MedicalProfileItem(
title: TranslationBase.of(context)
.myAppointments,
title:
TranslationBase.of(context).myAppointments,
imagePath: 'my_appointment_icon.png',
subTitle: TranslationBase.of(context).myAppointmentsList,
subTitle: TranslationBase.of(context)
.myAppointmentsList,
),
),
),
Expanded(
flex: 1,
child: InkWell(
onTap: () => Navigator.push(context,
FadePage(page: LabsHomePage())),
onTap: () => Navigator.push(
context, FadePage(page: LabsHomePage())),
child: MedicalProfileItem(
title: TranslationBase.of(context).lab,
imagePath: 'lab_result_icon.png',
subTitle:
TranslationBase.of(context).lab,
subTitle: TranslationBase.of(context).lab,
),
),
),
Expanded(
flex: 1,
child: InkWell(
onTap: () => Navigator.push(context,
FadePage(page: RadiologyHomePage())),
onTap: () => Navigator.push(
context, FadePage(page: RadiologyHomePage())),
child: MedicalProfileItem(
title: TranslationBase.of(context)
.radiology,
title: TranslationBase.of(context).radiology,
imagePath: 'radiology_icon.png',
subTitle: TranslationBase.of(context)
.radiologySubtitle,
@ -605,8 +639,7 @@ class _HomePageState extends State<HomePage> {
);
},
child: MedicalProfileItem(
title: TranslationBase.of(context)
.medicines,
title: TranslationBase.of(context).medicines,
imagePath: 'prescription_icon.png',
subTitle: TranslationBase.of(context)
.medicinesSubtitle,
@ -625,8 +658,7 @@ class _HomePageState extends State<HomePage> {
);
},
child: MedicalProfileItem(
title: TranslationBase.of(context)
.myDoctor,
title: TranslationBase.of(context).myDoctor,
imagePath: 'doctor_icon.png',
subTitle: TranslationBase.of(context)
.myDoctorSubtitle,
@ -637,12 +669,11 @@ class _HomePageState extends State<HomePage> {
flex: 1,
child: InkWell(
onTap: () {
Navigator.push(context,
FadePage(page: InsuranceCard()));
Navigator.push(
context, FadePage(page: InsuranceCard()));
},
child: MedicalProfileItem(
title: TranslationBase.of(context)
.insurance,
title: TranslationBase.of(context).insurance,
imagePath: 'insurance_card_icon.png',
subTitle: TranslationBase.of(context)
.insuranceSubtitle,
@ -651,7 +682,6 @@ class _HomePageState extends State<HomePage> {
),
],
),
],
),
),
@ -664,7 +694,7 @@ class _HomePageState extends State<HomePage> {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
DashboardItem(
opacity:1.0,
opacity: 1.0,
child: Container(
width: double.infinity,
padding: EdgeInsets.all(10),
@ -677,31 +707,38 @@ class _HomePageState extends State<HomePage> {
bold: true,
),
Texts(
TranslationBase.of(context).viewAllHabibMedicalService,
TranslationBase.of(context)
.viewAllHabibMedicalService,
color: Colors.white,
fontWeight: FontWeight.normal,
fontSize: 10,
),
Expanded(
child: Container(),
),
Texts(
// Expanded(
// child: Container(),
// ),
Text(
TranslationBase.of(context).viewAll,
color: Colors.white,
bold: true,
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold),
overflow: TextOverflow.ellipsis,
)
],
),
),
height: 100,
height: 106,
imageName: 'ask_doctor_bg.png',
//color: Colors.grey[700],
//color: Colors.grey[700],
width: MediaQuery.of(context).size.width * 0.45,
onTap: () => Navigator.push(
context, FadePage(page: AllHabibMedicalService(goToMyProfile: widget.goToMyProfile,))),
context,
FadePage(
page: AllHabibMedicalService(
goToMyProfile: widget.goToMyProfile,
))),
),
DashboardItem(
opacity:1.0,
opacity: 1.0,
onTap: () {
Navigator.push(
context, FadePage(page: ContactUsPage()));
@ -721,7 +758,7 @@ class _HomePageState extends State<HomePage> {
TranslationBase.of(context).viewAllWaysReachUs,
color: Colors.white,
fontWeight: FontWeight.normal,
fontSize: SizeConfig.textMultiplier * 1.0 ,
fontSize: SizeConfig.textMultiplier * 1.0,
),
Expanded(
child: Container(),
@ -786,7 +823,9 @@ class DashboardItem extends StatelessWidget {
this.width,
this.height,
this.color,
this.opacity = 1.0,this.icon,this.margin=0})
this.opacity = 1.0,
this.icon,
this.margin = 0})
: super(key: key);
final bool hasBorder;
final String imageName;

@ -14,159 +14,168 @@ class LoginType extends StatelessWidget {
@override
Widget build(BuildContext context) {
return AppScaffold(
appBarTitle: TranslationBase.of(context).login,
appBarTitle: TranslationBase.of(context).login,
isShowAppBar: true,
isShowDecPage: false,
body: Padding(
padding: EdgeInsets.all(20),
child: Column(
children: <Widget>[
Expanded(
flex: 4,
child: Column(
// mainAxisAlignment: MainAxisAlignment.spaceEvenly,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Image.asset(
'assets/images/DQ/dq_logo_icon.png',
height: 90,
width: 90,
),
AppText(
TranslationBase.of(context).logintypeRadio,
fontSize: SizeConfig.textMultiplier * 3.5,
textAlign: TextAlign.start,
marginBottom: 20.0,
marginTop: 20.0,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
body: SingleChildScrollView(
child: Container(
padding:
EdgeInsets.only(top: 10, left: 20, right: 20, bottom: 30),
height: SizeConfig.realScreenHeight * .9,
width: SizeConfig.realScreenWidth,
child: Column(
children: <Widget>[
Expanded(
flex: 4,
child: Column(
// mainAxisAlignment: MainAxisAlignment.spaceEvenly,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Expanded(
child: InkWell(
onTap: () => {
LoginType.loginType = 1,
Navigator.of(context)
.pushNamed(LOGIN_PAGE)
},
child: RoundedContainer(
borderColor: Colors.grey,
showBorder: true,
child: Padding(
padding: EdgeInsets.fromLTRB(
20, 10, 20, 10),
child: Column(
mainAxisAlignment:
MainAxisAlignment.center,
children: <Widget>[
Image.asset(
'assets/images/id_card_icon.png',
height: SizeConfig
.imageSizeMultiplier *
12,
width: SizeConfig
.imageSizeMultiplier *
15,
),
SizedBox(
height: 20,
Image.asset(
'assets/images/DQ/dq_logo_icon.png',
height: 90,
width: 90,
),
AppText(
TranslationBase.of(context).logintypeRadio,
fontSize: SizeConfig.textMultiplier * 3.5,
textAlign: TextAlign.start,
marginBottom: 20.0,
marginTop: 20.0,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Expanded(
child: InkWell(
onTap: () => {
LoginType.loginType = 1,
Navigator.of(context)
.pushNamed(LOGIN_PAGE)
},
child: RoundedContainer(
borderColor: Colors.grey,
showBorder: true,
child: Padding(
padding: EdgeInsets.fromLTRB(
20, 10, 20, 10),
child: Column(
mainAxisAlignment:
MainAxisAlignment.center,
children: <Widget>[
Image.asset(
'assets/images/id_card_icon.png',
height: SizeConfig
.imageSizeMultiplier *
12,
width: SizeConfig
.imageSizeMultiplier *
15,
),
SizedBox(
height: 20,
),
AppText(
TranslationBase.of(context)
.idNo,
fontSize: SizeConfig
.textMultiplier *
2,
fontWeight: FontWeight.bold,
)
],
),
AppText(
TranslationBase.of(context)
.idNo,
fontSize:
SizeConfig.textMultiplier *
)))),
Expanded(
child: InkWell(
onTap: () => {
LoginType.loginType = 2,
Navigator.of(context)
.pushNamed(LOGIN_PAGE)
},
child: RoundedContainer(
borderColor: Colors.grey,
showBorder: true,
child: Padding(
padding: EdgeInsets.fromLTRB(
25, 10, 25, 10),
child: Column(
children: <Widget>[
Image.asset(
'assets/images/my_file_white_icon.png',
height: SizeConfig
.imageSizeMultiplier *
12,
width: SizeConfig
.imageSizeMultiplier *
15,
),
SizedBox(
height: 20,
),
AppText(
TranslationBase.of(context)
.fileNo,
fontSize: SizeConfig
.textMultiplier *
2,
fontWeight: FontWeight.bold,
)
],
),
)))),
Expanded(
fontWeight: FontWeight.bold,
)
],
),
))))
],
),
SizedBox(
height: 25,
),
Divider(
color: Colors.grey,
height: 2,
),
Center(
child: InkWell(
onTap: () => {
LoginType.loginType = 2,
Navigator.of(context)
.pushNamed(LOGIN_PAGE)
.pushNamed(FORGOT_PASSWORD)
},
child: RoundedContainer(
borderColor: Colors.grey,
showBorder: true,
child: Padding(
padding: EdgeInsets.fromLTRB(
25, 10, 25, 10),
child: Column(
children: <Widget>[
Image.asset(
'assets/images/my_file_white_icon.png',
height: SizeConfig
.imageSizeMultiplier *
12,
width: SizeConfig
.imageSizeMultiplier *
15,
),
SizedBox(
height: 20,
),
AppText(
TranslationBase.of(context)
.fileNo,
fontSize:
SizeConfig.textMultiplier *
2,
fontWeight: FontWeight.bold,
)
],
),
))))
],
),
SizedBox(height: 25,),
Divider(
color: Colors.grey,
height: 2,
),
Center(
child: InkWell(
onTap: () => {
Navigator.of(context)
.pushNamed(FORGOT_PASSWORD)
},
child: AppText(
TranslationBase.of(context).forgotPassword,
fontSize: SizeConfig.textMultiplier * 2.5,
marginTop: 20.0,
underline: true)))
]),
),
Expanded(
flex: 1,
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
Divider(
color: Colors.grey,
height: 2,
),
SizedBox(height: 10,),
Row(
child: AppText(
TranslationBase.of(context)
.forgotPassword,
fontSize:
SizeConfig.textMultiplier * 2.5,
marginTop: 20.0,
underline: true)))
]),
),
Expanded(
flex: 1,
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
Expanded(
child: DefaultButton(
TranslationBase.of(context).registerNow,
() => {
Navigator.of(context).pushNamed(
REGISTER,
)
},
)),
Divider(
color: Colors.grey,
height: 2,
),
SizedBox(
height: 10,
),
Row(
children: <Widget>[
Expanded(
child: DefaultButton(
TranslationBase.of(context).registerNow,
() => {
Navigator.of(context).pushNamed(
REGISTER,
)
},
)),
],
),
],
),
],
))
],
)));
))
],
))));
}
}

@ -153,18 +153,14 @@ class _Login extends State<Login> {
}
void validateForm() {
//TODO fix login
if (util.validateIDBox(nationalIDorFile.text, loginType) ==
true /*&&
mobileNo.length >= 9 */
&&
if (util.validateIDBox(nationalIDorFile.text, loginType) == true &&
util.isSAUDIIDValid(nationalIDorFile.text, loginType) == true) {
setState(() {
isButtonDisabled = false;
});
} else {
setState(() {
isButtonDisabled = false;
isButtonDisabled = true;
});
}
}

@ -173,15 +173,19 @@ class AuthProvider with ChangeNotifier {
request.generalid = GENERAL_ID;
request.languageID = LANGUAGE_ID;
request.patientOutSA = request.zipCode == '966' ? 0 : 1;
dynamic localRes;
await new BaseAppClient().post(CHECK_PATIENT_AUTH,
onSuccess: (dynamic response, int statusCode) {
localRes = response;
}, onFailure: (String error, int statusCode) {
try {
dynamic localRes;
await new BaseAppClient().post(CHECK_PATIENT_AUTH,
onSuccess: (dynamic response, int statusCode) {
localRes = response;
}, onFailure: (String error, int statusCode) {
throw error;
}, body: request.toJson());
return Future.value(localRes);
} catch (error) {
throw error;
}, body: request.toJson());
return Future.value(localRes);
//throw error;
}
}
Future<dynamic> getLoginInfo(request) async {

@ -826,13 +826,13 @@ class _FloatingSearchButton extends State<FloatingSearchButton>
speak() async {
if (_currentLocaleId == 'en' && results['ReturnMessage'] != null) {
await flutterTts.setVoice("en-us-x-sfg#male_2-local");
//await flutterTts.setVoice("en-us-x-sfg#male_2-local");
await flutterTts.setLanguage("en-US");
await flutterTts.speak(results['ReturnMessage']);
} else if (results['ReturnMessage_Ar'] != null) {
await flutterTts.setLanguage("ar-SA");
await flutterTts.setVoice("ar-sa-x-sfg#male_1-local");
//await flutterTts.setVoice("ar-sa-x-sfg#male_1-local");
await flutterTts.speak(results['ReturnMessage_Ar']);
}
// Future.delayed(const Duration(seconds: 10), () {

Loading…
Cancel
Save