From 9a578cafc291313182e83730b9773b6c5e7b609d Mon Sep 17 00:00:00 2001 From: Sultan Khan Date: Wed, 16 Dec 2020 12:21:23 +0300 Subject: [PATCH] bug fixes --- lib/widgets/drawer/app_drawer_widget.dart | 170 ++++++++++++++++------ 1 file changed, 124 insertions(+), 46 deletions(-) diff --git a/lib/widgets/drawer/app_drawer_widget.dart b/lib/widgets/drawer/app_drawer_widget.dart index ecb39330..24afde74 100644 --- a/lib/widgets/drawer/app_drawer_widget.dart +++ b/lib/widgets/drawer/app_drawer_widget.dart @@ -2,12 +2,15 @@ import 'dart:io'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.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/models/Appointments/toDoCountProviderModel.dart'; import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; import 'package:diplomaticquarterapp/models/Authentication/check_activation_code_response.dart'; import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordByStatusResponse.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/services/family_files/family_files_provider.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/utils.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:provider/provider.dart'; import 'package:url_launcher/url_launcher.dart'; @@ -44,9 +48,11 @@ class _AppDrawerState extends State { AuthenticatedUserObject authenticatedUserObject = locator(); VitalSignService _vitalSignService = locator(); - + AppointmentRateViewModel appointmentRateViewModel = + locator(); ToDoCountProviderModel toDoProvider; - + String booldType; + String notificationCount; @override Widget build(BuildContext context) { toDoProvider = Provider.of(context); @@ -86,23 +92,27 @@ class _AppDrawerState extends State { children: [ Padding( padding: - EdgeInsets.only(right: 5), + EdgeInsets.only(right: 0), child: Icon( Icons.account_circle, color: Color(0xFF40ACC9), + size: 28, )), - AppText( - user.firstName + - ' ' + - user.lastName, - color: Color(0xFF40ACC9), - ) + Padding( + padding: + EdgeInsets.only(right: 5), + child: AppText( + user.firstName + + ' ' + + user.lastName, + color: Color(0xFF40ACC9), + )) ], ), Row(children: [ Padding( - padding: - EdgeInsets.only(left: 30), + padding: EdgeInsets.only( + left: 30, right: 10), child: Column( children: [ AppText( @@ -118,9 +128,9 @@ class _AppDrawerState extends State { 1.5, ), AppText( - user.bloodGroup != null + booldType != null ? 'Blood Group: ' + - user.bloodGroup + booldType : '', fontSize: SizeConfig .textMultiplier * @@ -128,7 +138,8 @@ class _AppDrawerState extends State { ), ], )) - ]) + ]), + Divider() ])) : SizedBox(), ], @@ -206,9 +217,15 @@ class _AppDrawerState extends State { children: < Widget>[ Expanded( - child: Icon( - Icons - .person), + child: + Icon( + Icons + .account_circle, + color: Color( + 0xFF40ACC9), + size: + 24, + ), ), Expanded( flex: 7, @@ -246,25 +263,25 @@ class _AppDrawerState extends State { 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: Padding( - padding: EdgeInsets.only(left: 5, right: 5), - child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ - AppText(result.patientName, 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), - ]))), - ], - ))) + child: Padding( + padding: EdgeInsets.only(right: 5), + child: Row( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + Expanded( + child: Icon(Icons.account_circle, color: result.responseID == user.patientID ? Color(0xFF40ACC9) : Colors.black), + ), + Expanded( + flex: 7, + child: Padding( + padding: EdgeInsets.only(left: 5, right: 5), + child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ + AppText(result.patientName, 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(); }).toList()) ], @@ -286,10 +303,43 @@ class _AppDrawerState extends State { }, ), InkWell( - child: DrawerItem( - TranslationBase.of(context) - .notification, - Icons.notifications), + child: Stack( + children: [ + DrawerItem( + TranslationBase.of(context) + .notification, + 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: () { //NotificationsPage Navigator.of(context).pop(); @@ -446,8 +496,11 @@ class _AppDrawerState extends State { var data2 = AuthenticatedUser.fromJson( await this.sharedPref.getObject(MAIN_USER)); - print(data2); + booldType = await sharedPref.getString(BLOOD_TYPE); + notificationCount = await sharedPref.getString(NOTIFICATION_COUNT); + setState(() { + notificationCount = notificationCount; this.user = data; this.mainUser = data2; }); @@ -511,7 +564,6 @@ class _AppDrawerState extends State { } loginAfter(result, context) async { - Utils.hideProgressDialog(); result = CheckActivationCode.fromJson(result); var familyFile = await sharedPref.getObject(FAMILY_FILE); var currentLang = await sharedPref.getString(APP_LANGUAGE); @@ -521,15 +573,41 @@ class _AppDrawerState extends State { result.list.isFamily = true; } this.sharedPref.setString(APP_LANGUAGE, currentLang); - + // sharedPref.setString(BLOOD_TYPE, result['PatientBloodType']); 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); this.sharedPref.setString(TOKEN, result.authenticationTokenID); //this.checkIfUserAgreedBefore(result), - Navigator.of(context).pushNamed( - HOME, - ); + appointmentRateViewModel + .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); + }); } }