diff --git a/lib/widgets/drawer/app_drawer_widget.dart b/lib/widgets/drawer/app_drawer_widget.dart index da20f144..aa3b4c60 100644 --- a/lib/widgets/drawer/app_drawer_widget.dart +++ b/lib/widgets/drawer/app_drawer_widget.dart @@ -1,3 +1,4 @@ +import 'dart:io'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; @@ -15,6 +16,7 @@ import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:smart_progress_bar/smart_progress_bar.dart'; +import 'package:url_launcher/url_launcher.dart'; import '../../config/size_config.dart'; import '../../locator.dart'; @@ -98,7 +100,10 @@ class _AppDrawerState extends State { child: Column( children: [ AppText( - TranslationBase.of(context).fileno +": " + + TranslationBase.of( + context) + .fileno + + ": " + user.patientID .toString(), color: @@ -189,84 +194,87 @@ class _AppDrawerState extends State { width: 1.0, ), )), - child: Column(children: [ - user.isFamily == true ? Container( - - padding: EdgeInsets - .only( - bottom: - 5), - child: InkWell( - onTap: () { - switchUser( - mainUser, - context); - }, - child: Row( - crossAxisAlignment: - CrossAxisAlignment + child: Column( + children: [ + user.isFamily == true + ? Container( + padding: + EdgeInsets.only( + bottom: 5), + child: InkWell( + onTap: () { + switchUser( + mainUser, + context); + }, + child: Row( + crossAxisAlignment: + CrossAxisAlignment + .start, + children: < + Widget>[ + Expanded( + child: Icon( + Icons + .person), + ), + Expanded( + flex: 7, + child: Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + AppText(mainUser.firstName + ' ' + mainUser.lastName), + AppText(TranslationBase.of(context).fileno + ": " + mainUser.patientID.toString()), + ])), + ], + ))) + : SizedBox(), + Column( + mainAxisAlignment: + MainAxisAlignment .start, - children: < - Widget>[ - Expanded( - child: Icon( - Icons.person), - ), - Expanded( - flex: - 7, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - AppText(mainUser.firstName +' '+mainUser.lastName), - AppText(TranslationBase.of(context).fileno +": " + mainUser.patientID.toString()), - ])), - ], - ))) : SizedBox(), - Column( - mainAxisAlignment: - MainAxisAlignment.start, - mainAxisSize: - MainAxisSize.min, - children: snapshot.data - .getAllSharedRecordsByStatusList - .map((result) { - return result.status == 3 - ? Container( - - padding: EdgeInsets - .only( - bottom: - 5), - child: InkWell( - onTap: () { - switchUser( - result, - context); - }, - child: Row( - crossAxisAlignment: - CrossAxisAlignment - .start, - children: < - Widget>[ - Expanded( - child: Icon( - Icons.person, color:result.responseID ==user.patientID ? Color(0xFF40ACC9): Colors.black), - ), - Expanded( - flex: - 7, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - AppText(result.patientName, color:result.responseID ==user.patientID ? Color(0xFF40ACC9): Colors.black), - AppText(TranslationBase.of(context).fileno +": " + result.iD.toString(), color:result.responseID ==user.patientID ? Color(0xFF40ACC9): Colors.black), - ])), - ], - ))) - : SizedBox(); - }).toList())],)); + mainAxisSize: + MainAxisSize.min, + children: snapshot.data + .getAllSharedRecordsByStatusList + .map( + (result) { + return result + .status == + 3 + ? Container( + padding: EdgeInsets + .only( + bottom: + 5), + child: InkWell( + onTap: () { + switchUser( + result, + context); + }, + child: Row( + crossAxisAlignment: + CrossAxisAlignment.start, + children: < + Widget>[ + Expanded( + child: + Icon(Icons.person, color: result.responseID == user.patientID ? Color(0xFF40ACC9) : Colors.black), + ), + Expanded( + flex: 7, + child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ + AppText(result.patientName, color: result.responseID == user.patientID ? Color(0xFF40ACC9) : Colors.black), + AppText(TranslationBase.of(context).fileno + ": " + result.iD.toString(), color: result.responseID == user.patientID ? Color(0xFF40ACC9) : Colors.black), + ])), + ], + ))) + : SizedBox(); + }).toList()) + ], + )); } }, ), @@ -300,9 +308,13 @@ class _AppDrawerState extends State { TranslationBase.of(context).rateApp, Icons.star), onTap: () { - Navigator.of(context).pushNamed( - WELCOME_LOGIN, - ); + if (Platform.isIOS) { + launch( + "https://apps.apple.com/sa/app/dr-suliaman-alhabib/id733503978"); + } else { + launch( + "https://play.google.com/store/apps/details?id=com.ejada.hmg&hl=en"); + } }, ), InkWell( @@ -412,22 +424,23 @@ class _AppDrawerState extends State { } Future getFamilyFiles() async { - if(user !=null){ - if (await sharedPref.getObject(FAMILY_FILE) != null) { - // print(await sharedPref.getObject(FAMILY_FILE)); - return Future.value(GetAllSharedRecordsByStatusResponse.fromJson( - await sharedPref.getObject(FAMILY_FILE))); - } else { - return familyFileProvider.getSharedRecordByStatus(); + if (user != null) { + if (await sharedPref.getObject(FAMILY_FILE) != null) { + // print(await sharedPref.getObject(FAMILY_FILE)); + return Future.value(GetAllSharedRecordsByStatusResponse.fromJson( + await sharedPref.getObject(FAMILY_FILE))); + } else { + return familyFileProvider.getSharedRecordByStatus(); + } } - } } switchUser(user, context) { Utils.showProgressDialog(context); this .familyFileProvider - .silentLoggin(user is AuthenticatedUser ? null : user, mainUser: user is AuthenticatedUser) + .silentLoggin(user is AuthenticatedUser ? null : user, + mainUser: user is AuthenticatedUser) .then((value) => loginAfter(value, context)) .catchError((err) { print(err); @@ -443,10 +456,10 @@ class _AppDrawerState extends State { var familyFile = await sharedPref.getObject(FAMILY_FILE); var mainUser = await sharedPref.getObject(MAIN_USER); this.sharedPref.clear(); - if(mainUser["PatientID"] != result.list.patientID) { + if (mainUser["PatientID"] != result.list.patientID) { result.list.isFamily = true; } - this.sharedPref.setObject(MAIN_USER,mainUser); + this.sharedPref.setObject(MAIN_USER, mainUser); this.sharedPref.setObject(USER_PROFILE, result.list); this.sharedPref.setObject(FAMILY_FILE, familyFile); this.sharedPref.setObject(LOGIN_TOKEN_ID, result.logInTokenID);