|
|
@ -2,12 +2,15 @@ import 'dart:io';
|
|
|
|
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
|
|
|
|
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
|
|
|
|
import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.dart';
|
|
|
|
import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.dart';
|
|
|
|
import 'package:diplomaticquarterapp/core/service/medical/vital_sign_service.dart';
|
|
|
|
import 'package:diplomaticquarterapp/core/service/medical/vital_sign_service.dart';
|
|
|
|
|
|
|
|
import 'package:diplomaticquarterapp/core/viewModels/appointment_rate_view_model.dart';
|
|
|
|
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
|
|
|
|
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
|
|
|
|
import 'package:diplomaticquarterapp/models/Appointments/toDoCountProviderModel.dart';
|
|
|
|
import 'package:diplomaticquarterapp/models/Appointments/toDoCountProviderModel.dart';
|
|
|
|
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
|
|
|
|
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
|
|
|
|
import 'package:diplomaticquarterapp/models/Authentication/check_activation_code_response.dart';
|
|
|
|
import 'package:diplomaticquarterapp/models/Authentication/check_activation_code_response.dart';
|
|
|
|
import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart';
|
|
|
|
import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart';
|
|
|
|
import 'package:diplomaticquarterapp/pages/DrawerPages/notifications/notifications_page.dart';
|
|
|
|
import 'package:diplomaticquarterapp/pages/DrawerPages/notifications/notifications_page.dart';
|
|
|
|
|
|
|
|
import 'package:diplomaticquarterapp/pages/landing/landing_page.dart';
|
|
|
|
|
|
|
|
import 'package:diplomaticquarterapp/pages/rateAppointment/rate_appointment_doctor.dart';
|
|
|
|
import 'package:diplomaticquarterapp/routes.dart';
|
|
|
|
import 'package:diplomaticquarterapp/routes.dart';
|
|
|
|
import 'package:diplomaticquarterapp/services/family_files/family_files_provider.dart';
|
|
|
|
import 'package:diplomaticquarterapp/services/family_files/family_files_provider.dart';
|
|
|
|
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
|
|
|
|
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
|
|
|
@ -16,6 +19,7 @@ import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
|
|
|
|
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
|
|
|
|
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
|
|
|
|
import 'package:diplomaticquarterapp/uitl/utils.dart';
|
|
|
|
import 'package:diplomaticquarterapp/uitl/utils.dart';
|
|
|
|
import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
|
|
|
|
import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
|
|
|
|
|
|
|
|
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
import 'package:url_launcher/url_launcher.dart';
|
|
|
|
import 'package:url_launcher/url_launcher.dart';
|
|
|
@ -44,9 +48,11 @@ class _AppDrawerState extends State<AppDrawer> {
|
|
|
|
AuthenticatedUserObject authenticatedUserObject =
|
|
|
|
AuthenticatedUserObject authenticatedUserObject =
|
|
|
|
locator<AuthenticatedUserObject>();
|
|
|
|
locator<AuthenticatedUserObject>();
|
|
|
|
VitalSignService _vitalSignService = locator<VitalSignService>();
|
|
|
|
VitalSignService _vitalSignService = locator<VitalSignService>();
|
|
|
|
|
|
|
|
AppointmentRateViewModel appointmentRateViewModel =
|
|
|
|
|
|
|
|
locator<AppointmentRateViewModel>();
|
|
|
|
ToDoCountProviderModel toDoProvider;
|
|
|
|
ToDoCountProviderModel toDoProvider;
|
|
|
|
|
|
|
|
String booldType;
|
|
|
|
|
|
|
|
String notificationCount;
|
|
|
|
@override
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
toDoProvider = Provider.of<ToDoCountProviderModel>(context);
|
|
|
|
toDoProvider = Provider.of<ToDoCountProviderModel>(context);
|
|
|
@ -86,23 +92,27 @@ class _AppDrawerState extends State<AppDrawer> {
|
|
|
|
children: <Widget>[
|
|
|
|
children: <Widget>[
|
|
|
|
Padding(
|
|
|
|
Padding(
|
|
|
|
padding:
|
|
|
|
padding:
|
|
|
|
EdgeInsets.only(right: 5),
|
|
|
|
EdgeInsets.only(right: 0),
|
|
|
|
child: Icon(
|
|
|
|
child: Icon(
|
|
|
|
Icons.account_circle,
|
|
|
|
Icons.account_circle,
|
|
|
|
color: Color(0xFF40ACC9),
|
|
|
|
color: Color(0xFF40ACC9),
|
|
|
|
|
|
|
|
size: 28,
|
|
|
|
)),
|
|
|
|
)),
|
|
|
|
AppText(
|
|
|
|
Padding(
|
|
|
|
|
|
|
|
padding:
|
|
|
|
|
|
|
|
EdgeInsets.only(right: 5),
|
|
|
|
|
|
|
|
child: AppText(
|
|
|
|
user.firstName +
|
|
|
|
user.firstName +
|
|
|
|
' ' +
|
|
|
|
' ' +
|
|
|
|
user.lastName,
|
|
|
|
user.lastName,
|
|
|
|
color: Color(0xFF40ACC9),
|
|
|
|
color: Color(0xFF40ACC9),
|
|
|
|
)
|
|
|
|
))
|
|
|
|
],
|
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
Row(children: <Widget>[
|
|
|
|
Row(children: <Widget>[
|
|
|
|
Padding(
|
|
|
|
Padding(
|
|
|
|
padding:
|
|
|
|
padding: EdgeInsets.only(
|
|
|
|
EdgeInsets.only(left: 30),
|
|
|
|
left: 30, right: 10),
|
|
|
|
child: Column(
|
|
|
|
child: Column(
|
|
|
|
children: <Widget>[
|
|
|
|
children: <Widget>[
|
|
|
|
AppText(
|
|
|
|
AppText(
|
|
|
@ -118,9 +128,9 @@ class _AppDrawerState extends State<AppDrawer> {
|
|
|
|
1.5,
|
|
|
|
1.5,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
AppText(
|
|
|
|
AppText(
|
|
|
|
user.bloodGroup != null
|
|
|
|
booldType != null
|
|
|
|
? 'Blood Group: ' +
|
|
|
|
? 'Blood Group: ' +
|
|
|
|
user.bloodGroup
|
|
|
|
booldType
|
|
|
|
: '',
|
|
|
|
: '',
|
|
|
|
fontSize: SizeConfig
|
|
|
|
fontSize: SizeConfig
|
|
|
|
.textMultiplier *
|
|
|
|
.textMultiplier *
|
|
|
@ -128,7 +138,8 @@ class _AppDrawerState extends State<AppDrawer> {
|
|
|
|
),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
],
|
|
|
|
))
|
|
|
|
))
|
|
|
|
])
|
|
|
|
]),
|
|
|
|
|
|
|
|
Divider()
|
|
|
|
]))
|
|
|
|
]))
|
|
|
|
: SizedBox(),
|
|
|
|
: SizedBox(),
|
|
|
|
],
|
|
|
|
],
|
|
|
@ -206,9 +217,15 @@ class _AppDrawerState extends State<AppDrawer> {
|
|
|
|
children: <
|
|
|
|
children: <
|
|
|
|
Widget>[
|
|
|
|
Widget>[
|
|
|
|
Expanded(
|
|
|
|
Expanded(
|
|
|
|
child: Icon(
|
|
|
|
child:
|
|
|
|
|
|
|
|
Icon(
|
|
|
|
Icons
|
|
|
|
Icons
|
|
|
|
.person),
|
|
|
|
.account_circle,
|
|
|
|
|
|
|
|
color: Color(
|
|
|
|
|
|
|
|
0xFF40ACC9),
|
|
|
|
|
|
|
|
size:
|
|
|
|
|
|
|
|
24,
|
|
|
|
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
Expanded(
|
|
|
|
Expanded(
|
|
|
|
flex: 7,
|
|
|
|
flex: 7,
|
|
|
@ -246,14 +263,14 @@ class _AppDrawerState extends State<AppDrawer> {
|
|
|
|
result,
|
|
|
|
result,
|
|
|
|
context);
|
|
|
|
context);
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
child: Padding(
|
|
|
|
|
|
|
|
padding: EdgeInsets.only(right: 5),
|
|
|
|
child: Row(
|
|
|
|
child: Row(
|
|
|
|
crossAxisAlignment:
|
|
|
|
crossAxisAlignment:
|
|
|
|
CrossAxisAlignment.start,
|
|
|
|
CrossAxisAlignment.start,
|
|
|
|
children: <
|
|
|
|
children: <Widget>[
|
|
|
|
Widget>[
|
|
|
|
|
|
|
|
Expanded(
|
|
|
|
Expanded(
|
|
|
|
child:
|
|
|
|
child: Icon(Icons.account_circle, color: result.responseID == user.patientID ? Color(0xFF40ACC9) : Colors.black),
|
|
|
|
Icon(Icons.person, color: result.responseID == user.patientID ? Color(0xFF40ACC9) : Colors.black),
|
|
|
|
|
|
|
|
),
|
|
|
|
),
|
|
|
|
Expanded(
|
|
|
|
Expanded(
|
|
|
|
flex: 7,
|
|
|
|
flex: 7,
|
|
|
@ -264,7 +281,7 @@ class _AppDrawerState extends State<AppDrawer> {
|
|
|
|
AppText(TranslationBase.of(context).fileno + ": " + result.responseID.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),
|
|
|
|
]))),
|
|
|
|
]))),
|
|
|
|
],
|
|
|
|
],
|
|
|
|
)))
|
|
|
|
))))
|
|
|
|
: SizedBox();
|
|
|
|
: SizedBox();
|
|
|
|
}).toList())
|
|
|
|
}).toList())
|
|
|
|
],
|
|
|
|
],
|
|
|
@ -286,10 +303,43 @@ class _AppDrawerState extends State<AppDrawer> {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
),
|
|
|
|
),
|
|
|
|
InkWell(
|
|
|
|
InkWell(
|
|
|
|
child: DrawerItem(
|
|
|
|
child: Stack(
|
|
|
|
|
|
|
|
children: [
|
|
|
|
|
|
|
|
DrawerItem(
|
|
|
|
TranslationBase.of(context)
|
|
|
|
TranslationBase.of(context)
|
|
|
|
.notification,
|
|
|
|
.notification,
|
|
|
|
Icons.notifications),
|
|
|
|
Icons.notifications,
|
|
|
|
|
|
|
|
count: notificationCount != null
|
|
|
|
|
|
|
|
? new Container(
|
|
|
|
|
|
|
|
padding: EdgeInsets.all(4),
|
|
|
|
|
|
|
|
margin: EdgeInsets.all(2),
|
|
|
|
|
|
|
|
decoration: new BoxDecoration(
|
|
|
|
|
|
|
|
color: Colors.red,
|
|
|
|
|
|
|
|
borderRadius:
|
|
|
|
|
|
|
|
BorderRadius.circular(
|
|
|
|
|
|
|
|
20),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
constraints: BoxConstraints(
|
|
|
|
|
|
|
|
minWidth: 20,
|
|
|
|
|
|
|
|
minHeight: 20,
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
child: new Text(
|
|
|
|
|
|
|
|
notificationCount,
|
|
|
|
|
|
|
|
style: new TextStyle(
|
|
|
|
|
|
|
|
color: Colors.white,
|
|
|
|
|
|
|
|
fontSize: projectProvider
|
|
|
|
|
|
|
|
.isArabic
|
|
|
|
|
|
|
|
? 8
|
|
|
|
|
|
|
|
: 9,
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
textAlign: TextAlign.center,
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
// ),
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
: SizedBox(),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
),
|
|
|
|
onTap: () {
|
|
|
|
onTap: () {
|
|
|
|
//NotificationsPage
|
|
|
|
//NotificationsPage
|
|
|
|
Navigator.of(context).pop();
|
|
|
|
Navigator.of(context).pop();
|
|
|
@ -446,8 +496,11 @@ class _AppDrawerState extends State<AppDrawer> {
|
|
|
|
|
|
|
|
|
|
|
|
var data2 = AuthenticatedUser.fromJson(
|
|
|
|
var data2 = AuthenticatedUser.fromJson(
|
|
|
|
await this.sharedPref.getObject(MAIN_USER));
|
|
|
|
await this.sharedPref.getObject(MAIN_USER));
|
|
|
|
print(data2);
|
|
|
|
booldType = await sharedPref.getString(BLOOD_TYPE);
|
|
|
|
|
|
|
|
notificationCount = await sharedPref.getString(NOTIFICATION_COUNT);
|
|
|
|
|
|
|
|
|
|
|
|
setState(() {
|
|
|
|
setState(() {
|
|
|
|
|
|
|
|
notificationCount = notificationCount;
|
|
|
|
this.user = data;
|
|
|
|
this.user = data;
|
|
|
|
this.mainUser = data2;
|
|
|
|
this.mainUser = data2;
|
|
|
|
});
|
|
|
|
});
|
|
|
@ -511,7 +564,6 @@ class _AppDrawerState extends State<AppDrawer> {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
loginAfter(result, context) async {
|
|
|
|
loginAfter(result, context) async {
|
|
|
|
Utils.hideProgressDialog();
|
|
|
|
|
|
|
|
result = CheckActivationCode.fromJson(result);
|
|
|
|
result = CheckActivationCode.fromJson(result);
|
|
|
|
var familyFile = await sharedPref.getObject(FAMILY_FILE);
|
|
|
|
var familyFile = await sharedPref.getObject(FAMILY_FILE);
|
|
|
|
var currentLang = await sharedPref.getString(APP_LANGUAGE);
|
|
|
|
var currentLang = await sharedPref.getString(APP_LANGUAGE);
|
|
|
@ -521,15 +573,41 @@ class _AppDrawerState extends State<AppDrawer> {
|
|
|
|
result.list.isFamily = true;
|
|
|
|
result.list.isFamily = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
this.sharedPref.setString(APP_LANGUAGE, currentLang);
|
|
|
|
this.sharedPref.setString(APP_LANGUAGE, currentLang);
|
|
|
|
|
|
|
|
// sharedPref.setString(BLOOD_TYPE, result['PatientBloodType']);
|
|
|
|
this.sharedPref.setObject(MAIN_USER, mainUser);
|
|
|
|
this.sharedPref.setObject(MAIN_USER, mainUser);
|
|
|
|
this.sharedPref.setObject(USER_PROFILE, result.list);
|
|
|
|
this.sharedPref.setObject(USER_PROFILE, result.list);
|
|
|
|
this.sharedPref.setObject(FAMILY_FILE, familyFile);
|
|
|
|
this.sharedPref.setObject(FAMILY_FILE, familyFile);
|
|
|
|
this.sharedPref.setObject(LOGIN_TOKEN_ID, result.logInTokenID);
|
|
|
|
this.sharedPref.setObject(LOGIN_TOKEN_ID, result.logInTokenID);
|
|
|
|
this.sharedPref.setString(TOKEN, result.authenticationTokenID);
|
|
|
|
this.sharedPref.setString(TOKEN, result.authenticationTokenID);
|
|
|
|
//this.checkIfUserAgreedBefore(result),
|
|
|
|
//this.checkIfUserAgreedBefore(result),
|
|
|
|
Navigator.of(context).pushNamed(
|
|
|
|
appointmentRateViewModel
|
|
|
|
HOME,
|
|
|
|
.getIsLastAppointmentRatedList()
|
|
|
|
);
|
|
|
|
.then((value) => {
|
|
|
|
|
|
|
|
//getToDoCount(),
|
|
|
|
|
|
|
|
Utils.hideProgressDialog(),
|
|
|
|
|
|
|
|
if (appointmentRateViewModel.isHaveAppointmentNotRate)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
Navigator.pushAndRemoveUntil(
|
|
|
|
|
|
|
|
context,
|
|
|
|
|
|
|
|
FadePage(
|
|
|
|
|
|
|
|
page: RateAppointmentDoctor(),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
(r) => false)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
Navigator.pushAndRemoveUntil(
|
|
|
|
|
|
|
|
context,
|
|
|
|
|
|
|
|
FadePage(
|
|
|
|
|
|
|
|
page: LandingPage(),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
(r) => false)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
.catchError((err) {
|
|
|
|
|
|
|
|
print(err);
|
|
|
|
|
|
|
|
Utils.hideProgressDialog();
|
|
|
|
|
|
|
|
// GifLoaderDialogUtils.hideDialog(context);
|
|
|
|
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|