WD: search by region changes

merge-update-with-lab-changes
taha.alam 12 months ago
parent ae4c287af2
commit 951a5a4932

@ -23,6 +23,7 @@ const Map platformLocalizedValues = {
}; };
const Map localizedValues = { const Map localizedValues = {
'kilometerUnit': {'en': 'KM', 'ar': 'كيلومتر'},
'dashboardScreenToolbarTitle': {'ar': 'الرئيسة', 'en': 'Home'}, 'dashboardScreenToolbarTitle': {'ar': 'الرئيسة', 'en': 'Home'},
'settings': {'en': 'Settings', 'ar': 'الاعدادات'}, 'settings': {'en': 'Settings', 'ar': 'الاعدادات'},
'language': {'en': 'App Language', 'ar': 'لغة التطبيق'}, 'language': {'en': 'App Language', 'ar': 'لغة التطبيق'},
@ -2146,7 +2147,10 @@ const Map localizedValues = {
"selectFacitlity": {"en": "Select Facility", "ar": "اختر المنشأة"}, "selectFacitlity": {"en": "Select Facility", "ar": "اختر المنشأة"},
"selectDoctor": {"en": "Select Doctor", "ar": "اختر الطبيب"}, "selectDoctor": {"en": "Select Doctor", "ar": "اختر الطبيب"},
"hmgHospital": {"en": "HMG Hospital", "ar": "مستشفى HMG"}, "hmgHospital": {"en": "HMG Hospital", "ar": "مستشفى HMG"},
"hmcHospital": {"en": "HMC", "ar": "HMC"}, "hmcHospital": {"en": "HMG Medical Center", "ar": "مركز إتش إم جي الطبي"},
"hmcHospitalCount": {"en": "@ HMC", "ar": "@ HMC"}, "hmcHospitalCount": {
"en": "@ HMG Medical Center",
"ar": "@ مركز إتش إم جي الطبي"
},
"hmgHospitalCount": {"en": "@ HMG Hospital", "ar": "@ مستشفى HMG"}, "hmgHospitalCount": {"en": "@ HMG Hospital", "ar": "@ مستشفى HMG"},
}; };

@ -10,8 +10,8 @@ import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.da
import 'package:diplomaticquarterapp/models/Clinics/ClinicListResponse.dart'; import 'package:diplomaticquarterapp/models/Clinics/ClinicListResponse.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/DentalComplaints.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/DentalComplaints.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/LaserBooking.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/LaserBooking.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/SearchResultsByRegion.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/dialog/clinic_list_dialog.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/dialog/clinic_list_dialog.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/search_result/SearchResultWithTab.dart';
import 'package:diplomaticquarterapp/pages/livecare/livecare_home.dart'; import 'package:diplomaticquarterapp/pages/livecare/livecare_home.dart';
import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart'; import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart';
import 'package:diplomaticquarterapp/services/appointment_services/doctor_response_mapper.dart'; import 'package:diplomaticquarterapp/services/appointment_services/doctor_response_mapper.dart';
@ -719,7 +719,7 @@ class _SearchByClinicState extends State<SearchByClinic> {
Navigator.push( Navigator.push(
context, context,
FadePage( FadePage(
page: SearchResultsByRegion( page: SearchResultWithTab(
doctorsList: [], doctorsList: [],
patientDoctorAppointmentListHospital: regionHospitalList, patientDoctorAppointmentListHospital: regionHospitalList,
isLiveCareAppointment: false, isLiveCareAppointment: false,

@ -1,7 +1,6 @@
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart'; import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/SearchResultsByRegion.dart';
import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart'; import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart';
import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart';
@ -15,6 +14,7 @@ import 'package:provider/provider.dart';
import '../../../services/appointment_services/doctor_response_mapper.dart'; import '../../../services/appointment_services/doctor_response_mapper.dart';
import '../../../services/authentication/auth_provider.dart'; import '../../../services/authentication/auth_provider.dart';
import '../search_result/SearchResultWithTab.dart';
class SearchByDoctor extends StatefulWidget { class SearchByDoctor extends StatefulWidget {
@override @override
@ -201,7 +201,7 @@ class _SearchByDoctorState extends State<SearchByDoctor> {
Navigator.push( Navigator.push(
context, context,
FadePage( FadePage(
page: SearchResultsByRegion( page: SearchResultWithTab(
doctorsList: [], doctorsList: [],
patientDoctorAppointmentListHospital: regionHospitalList, patientDoctorAppointmentListHospital: regionHospitalList,
isLiveCareAppointment: false, isLiveCareAppointment: false,

@ -2,19 +2,13 @@ import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart'; import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:diplomaticquarterapp/models/Appointments/OBGyneProcedureListResponse.dart'; import 'package:diplomaticquarterapp/models/Appointments/OBGyneProcedureListResponse.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/DoctorView.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/DoctorView.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/others/app_expandable_notifier.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
class ResultByDoctor extends StatelessWidget { class ResultByDoctor extends StatelessWidget {
List<DoctorList> doctorsList = []; List<DoctorList> doctorsList = [];
List<DoctorList>? patientDoctorAppointmentListHospital; List<DoctorList>? patientDoctorAppointmentListHospital;
Function(int) onDoctorSelected;
final bool isLiveCareAppointment; final bool isLiveCareAppointment;
final bool isObGyneAppointment; final bool isObGyneAppointment;
final bool isDoctorNameSearch; final bool isDoctorNameSearch;
@ -23,7 +17,6 @@ class ResultByDoctor extends StatelessWidget {
ResultByDoctor( ResultByDoctor(
{required this.doctorsList, {required this.doctorsList,
required this.patientDoctorAppointmentListHospital, required this.patientDoctorAppointmentListHospital,
required this.onDoctorSelected,
required this.isLiveCareAppointment, required this.isLiveCareAppointment,
required this.isObGyneAppointment, required this.isObGyneAppointment,
required this.isDoctorNameSearch, required this.isDoctorNameSearch,
@ -36,7 +29,9 @@ class ResultByDoctor extends StatelessWidget {
return SizedBox( return SizedBox(
child: patientDoctorAppointmentListHospital?.isNotEmpty == child: patientDoctorAppointmentListHospital?.isNotEmpty ==
true true
? ListView.separated( ? Padding(
padding: const EdgeInsets.all(12.0),
child: ListView.separated(
addAutomaticKeepAlives: true, addAutomaticKeepAlives: true,
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
separatorBuilder: (context, index) { separatorBuilder: (context, index) {
@ -65,10 +60,9 @@ class ResultByDoctor extends StatelessWidget {
.book_appointment_select_doctor( .book_appointment_select_doctor(
appointment_type: 'regular', doctor: doctor); appointment_type: 'regular', doctor: doctor);
}); });
}, },
itemCount: patientDoctorAppointmentListHospital?.length ?? itemCount: patientDoctorAppointmentListHospital?.length ?? 0,
0, ),
) )
: getNoDataWidget(context), : getNoDataWidget(context),
); );

@ -1,15 +1,8 @@
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart'; import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:diplomaticquarterapp/models/Appointments/OBGyneProcedureListResponse.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/DoctorView.dart';
import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/others/app_expandable_notifier.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:provider/provider.dart';
typedef OnFacilitySelected = Function(bool); typedef OnFacilitySelected = Function(bool);
@ -29,23 +22,38 @@ class ResultByFacility extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Column( return Column(
children: [ children: [
HospitalTitle( InkWell(
onTap: () {
if (patientDoctorAppointmentListHospital
.registeredDoctorMap?[selectedRegion]?.hmgSize ==
0) return;
onFacilitySelected(false);
},
child: HospitalTitle(
iconUrl: 'assets/images/svg/HMG.svg', iconUrl: 'assets/images/svg/HMG.svg',
title: TranslationBase.of(context).hmgHospital, title: TranslationBase.of(context).hmgHospital,
isHMC: false, isHMC: false,
itemCount: itemCount:
"${patientDoctorAppointmentListHospital.registeredDoctorMap?[key]?.hmgSize ?? 0}", "${patientDoctorAppointmentListHospital.registeredDoctorMap?[selectedRegion]?.hmgSize ?? 0}",
nearest: patientDoctorAppointmentListHospital.registeredDoctorMap?[key]?.hmgDistance nearest: patientDoctorAppointmentListHospital
.registeredDoctorMap?[selectedRegion]?.hmgDistance),
), ),
SizedBox(height: 16,), SizedBox(height: 16,),
HospitalTitle( InkWell(
onTap: () {
if (patientDoctorAppointmentListHospital
.registeredDoctorMap?[selectedRegion]?.hmcSize ==
0) return;
onFacilitySelected(false);
},
child: HospitalTitle(
iconUrl: 'assets/images/svg/HMC.svg', iconUrl: 'assets/images/svg/HMC.svg',
title: TranslationBase.of(context).hmcHospital, title: TranslationBase.of(context).hmcHospital,
isHMC: true, isHMC: true,
itemCount: itemCount:
"${patientDoctorAppointmentListHospital.registeredDoctorMap?[key]?.hmcSize ?? 0}", "${patientDoctorAppointmentListHospital.registeredDoctorMap?[selectedRegion]?.hmcSize ?? 0}",
nearest: patientDoctorAppointmentListHospital.registeredDoctorMap?[key]?.hmcDistance nearest: patientDoctorAppointmentListHospital
.registeredDoctorMap?[selectedRegion]?.hmcDistance),
) )
]); ]);
} }
@ -67,8 +75,13 @@ class HospitalTitle extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Padding( return Material(
padding: const EdgeInsets.all(8.0), color: Colors.white,
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 24),
child: Row(
children: [
Expanded(
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
@ -82,7 +95,8 @@ class HospitalTitle extends StatelessWidget {
title, title,
style: TextStyle( style: TextStyle(
fontSize: 18, fontSize: 18,
color: isHMC ? Color(0xFF40ACC9) : Color(0xFFD02127), color:
isHMC ? Color(0xFF40ACC9) : Color(0xFFD02127),
fontWeight: FontWeight.w600), fontWeight: FontWeight.w600),
), ),
], ],
@ -97,20 +111,30 @@ class HospitalTitle extends StatelessWidget {
? "${TranslationBase.of(context).hmcHospitalCount.replaceAll("@", itemCount)}" ? "${TranslationBase.of(context).hmcHospitalCount.replaceAll("@", itemCount)}"
: "${TranslationBase.of(context).hmgHospitalCount.replaceAll("@", itemCount)}", : "${TranslationBase.of(context).hmgHospitalCount.replaceAll("@", itemCount)}",
style: TextStyle( style: TextStyle(
fontSize: 12, color: Colors.black, fontWeight: FontWeight.w600), fontSize: 12,
color: Colors.black,
fontWeight: FontWeight.w600),
), ),
Visibility( Visibility(
visible: nearest != double.infinity, visible: nearest != double.infinity,
child: Row( child: Row(
children: [ children: [
SizedBox(width: 8,), SizedBox(
Icon(Icons.location_on, color: Colors.black,), width: 8,
SizedBox(width: 8,), ),
Icon(
Icons.location_on,
color: Colors.black,
),
SizedBox(
width: 8,
),
Text( Text(
"${TranslationBase.of(context).nearest}: $nearest", "${TranslationBase.of(context).nearest}: $nearest ${TranslationBase.of(context).kilometerUnit}",
style: TextStyle( style: TextStyle(
fontSize: 12, color: Colors.black, fontWeight: FontWeight.w600), fontSize: 12,
color: Colors.black,
fontWeight: FontWeight.w600),
), ),
], ],
), ),
@ -119,6 +143,20 @@ class HospitalTitle extends StatelessWidget {
), ),
], ],
), ),
),
Padding(
padding: EdgeInsets.all(8),
child: Center(
child: Icon(
Icons.arrow_forward_ios,
color: CustomColors.black,
size: 16,
),
),
),
],
),
),
); );
} }
} }

@ -1,15 +1,8 @@
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart'; import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:diplomaticquarterapp/models/Appointments/OBGyneProcedureListResponse.dart'; import 'package:diplomaticquarterapp/models/Appointments/OBGyneProcedureListResponse.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/DoctorView.dart';
import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/others/app_expandable_notifier.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:provider/provider.dart';
typedef OnHospitalSelected = Function(String, int); typedef OnHospitalSelected = Function(String, int);
@ -80,7 +73,7 @@ class HospitalBodyWidget extends StatelessWidget {
return ListView.separated( return ListView.separated(
addAutomaticKeepAlives: true, addAutomaticKeepAlives: true,
shrinkWrap: true, shrinkWrap: true,
physics: NeverScrollableScrollPhysics(), physics: BouncingScrollPhysics(),
itemCount: patientDoctorAppointmentListHospital?.length ?? 0, itemCount: patientDoctorAppointmentListHospital?.length ?? 0,
separatorBuilder: (context, index) { separatorBuilder: (context, index) {
return Container( return Container(
@ -98,7 +91,8 @@ class HospitalBodyWidget extends StatelessWidget {
child: Material( child: Material(
color: CustomColors.white, color: CustomColors.white,
child: Padding( child: Padding(
padding: const EdgeInsets.all(8.0), padding:
const EdgeInsets.symmetric(horizontal: 16, vertical: 24),
child: Row( child: Row(
children: [ children: [
Expanded( Expanded(
@ -132,7 +126,7 @@ class HospitalBodyWidget extends StatelessWidget {
width: 8, width: 8,
), ),
Text( Text(
"${TranslationBase.of(context).nearest}: ${patientDoctorAppointmentListHospital?[index].distanceInKMs}", "${TranslationBase.of(context).nearest}: ${patientDoctorAppointmentListHospital?[index].distanceInKMs} ${TranslationBase.of(context).kilometerUnit}",
style: TextStyle( style: TextStyle(
fontSize: 14, fontSize: 14,
color: Colors.black, color: Colors.black,

@ -1,15 +1,8 @@
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart'; import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:diplomaticquarterapp/models/Appointments/OBGyneProcedureListResponse.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/DoctorView.dart';
import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/others/app_expandable_notifier.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:provider/provider.dart';
typedef OnRegionSelected = Function(String); typedef OnRegionSelected = Function(String);
class ResultByRegion extends StatelessWidget { class ResultByRegion extends StatelessWidget {
List<DoctorList> doctorsList = []; List<DoctorList> doctorsList = [];
@ -88,7 +81,7 @@ class RegionTitle extends StatelessWidget {
return Material( return Material(
color: CustomColors.white, color: CustomColors.white,
child: Padding( child: Padding(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 24),
child: Row( child: Row(
children: [ children: [
Expanded( Expanded(

@ -1,6 +1,8 @@
import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart'; import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:diplomaticquarterapp/models/Appointments/OBGyneProcedureListResponse.dart'; import 'package:diplomaticquarterapp/models/Appointments/OBGyneProcedureListResponse.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/search_result/ResultByDoctors.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/search_result/ResultByFacility.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/search_result/ResultByFacility.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/search_result/ResultByHospital.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/search_result/ResultByHospital.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/search_result/ResultByRegion.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/search_result/ResultByRegion.dart';
@ -65,7 +67,9 @@ class _SearchResultWithTabState extends State<SearchResultWithTab> {
body: widget.patientDoctorAppointmentListHospital body: widget.patientDoctorAppointmentListHospital
.registeredDoctorMap?.isNotEmpty == .registeredDoctorMap?.isNotEmpty ==
true true
? SingleChildScrollView( ? SizedBox(
height: SizeConfig.realScreenHeight! * .9,
width: SizeConfig.realScreenWidth,
child: Column(children: <Widget>[ child: Column(children: <Widget>[
Container( Container(
width: double.infinity, width: double.infinity,
@ -74,83 +78,87 @@ class _SearchResultWithTabState extends State<SearchResultWithTab> {
children: [ children: [
Expanded( Expanded(
child: showProgress( child: showProgress(
title: TranslationBase title: TranslationBase.of(context).selectRegion,
.of(context)
.selectRegion,
status: _currentIndex == 0 status: _currentIndex == 0
? TranslationBase ? TranslationBase.of(context).inPrgress
.of(context)
.inPrgress
: _currentIndex > 0 : _currentIndex > 0
? TranslationBase ? TranslationBase.of(context).completed
.of(context) : TranslationBase.of(context).locked,
.completed
: TranslationBase
.of(context)
.locked,
color: _currentIndex == 0 color: _currentIndex == 0
? CustomColors.orange ? CustomColors.orange
: CustomColors.green, : CustomColors.green,
), onTap: () {
setState(() {
selectedHospitalIndex = -1;
selectedRegion = "";
_currentIndex = 0;
changePageViewIndex(0);
});
}),
), ),
Expanded( Expanded(
child: showProgress( child: showProgress(
title: TranslationBase title: TranslationBase.of(context).selectFacitlity,
.of(context)
.selectFacitlity,
status: _currentIndex == 1 status: _currentIndex == 1
? TranslationBase ? TranslationBase.of(context).inPrgress
.of(context)
.inPrgress
: _currentIndex > 1 : _currentIndex > 1
? TranslationBase ? TranslationBase.of(context).completed
.of(context) : TranslationBase.of(context).locked,
.completed
: TranslationBase
.of(context)
.locked,
color: _currentIndex == 1 color: _currentIndex == 1
? CustomColors.orange ? CustomColors.orange
: _currentIndex > 1 : _currentIndex > 1
? CustomColors.green ? CustomColors.green
: CustomColors.grey2, : CustomColors.grey2,
onTap: () {
setState(() {
selectedHospitalIndex = -1;
_currentIndex = 1;
changePageViewIndex(1);
});
}),
), ),
), Expanded(
showProgress( child: showProgress(
title: TranslationBase title: TranslationBase.of(context).selectBranch,
.of(context) status: _currentIndex == 2
.selectBranch, ? TranslationBase.of(context).inPrgress
status: _currentIndex == 2 ? TranslationBase : _currentIndex > 1
.of(context) ? TranslationBase.of(context).completed
.inPrgress : TranslationBase : TranslationBase.of(context).locked,
.of(context)
.locked,
color: _currentIndex == 2 color: _currentIndex == 2
? CustomColors.orange ? CustomColors.orange
: _currentIndex > 3 : _currentIndex > 2
? CustomColors.green ? CustomColors.green
: CustomColors.grey2, : CustomColors.grey2,
isNeedBorder: false, onTap: () {
setState(() {
selectedHospitalIndex = -1;
_currentIndex = 2;
changePageViewIndex(2);
});
}),
), ),
showProgress( showProgress(
title: TranslationBase title: TranslationBase.of(context).selectDoctor,
.of(context) status: _currentIndex == 3
.selectDoctor, ? TranslationBase.of(context).inPrgress
status: _currentIndex == 3 ? TranslationBase : TranslationBase.of(context).locked,
.of(context)
.inPrgress : TranslationBase
.of(context)
.locked,
color: _currentIndex == 3 color: _currentIndex == 3
? CustomColors.orange ? CustomColors.orange
: _currentIndex > 4 : _currentIndex > 4
? CustomColors.green ? CustomColors.green
: CustomColors.grey2, : CustomColors.grey2,
isNeedBorder: false, isNeedBorder: false,
), onTap: () {
setState(() {
_currentIndex = 3;
changePageViewIndex(3);
});
}),
], ],
), ),
), ),
mHeight(24),
Expanded( Expanded(
child: PageView( child: PageView(
physics: NeverScrollableScrollPhysics(), physics: NeverScrollableScrollPhysics(),
@ -162,47 +170,79 @@ class _SearchResultWithTabState extends State<SearchResultWithTab> {
}, },
scrollDirection: Axis.horizontal, scrollDirection: Axis.horizontal,
children: <Widget>[ children: <Widget>[
ResultByRegion(doctorsList: widget.doctorsList, ResultByRegion(
patientDoctorAppointmentListHospital: widget doctorsList: widget.doctorsList,
.patientDoctorAppointmentListHospital, patientDoctorAppointmentListHospital:
widget.patientDoctorAppointmentListHospital,
onRegionSelected: (key) { onRegionSelected: (key) {
setState(() { setState(() {
selectedRegion = key; selectedRegion = key;
_currentIndex = 1;
changePageViewIndex(1);
}); });
}), }),
(selectedRegion != "") (selectedRegion != "")
? ? ResultByFacility(
ResultByFacility(doctorsList: widget.doctorsList, doctorsList: widget.doctorsList,
patientDoctorAppointmentListHospital: widget patientDoctorAppointmentListHospital:
.patientDoctorAppointmentListHospital, widget.patientDoctorAppointmentListHospital,
selectedRegion: selectedRegion, selectedRegion: selectedRegion,
onFacilitySelected: (isHMCSelected) { onFacilitySelected: (isHMCSelected) {
setState(() { setState(() {
isHMCSelected = isHMCSelected; isHMCSelected = isHMCSelected;
_currentIndex = 2;
changePageViewIndex(2);
}); });
}, },
) : SizedBox.shrink(), ) : SizedBox.shrink(),
(selectedRegion != '') ? (selectedRegion != '') ?
ResultByHospital(doctorsList: widget.doctorsList, ResultByHospital(doctorsList: widget.doctorsList,
paitientDoctorAppointmentList: (isHMCSelected)? paitientDoctorAppointmentList: (isHMCSelected) ?
widget.patientDoctorAppointmentListHospital widget.patientDoctorAppointmentListHospital
.registeredDoctorMap![selectedRegion]!.hmgDoctorList ?? [] .registeredDoctorMap![selectedRegion]!
.hmgDoctorList ?? []
: widget.patientDoctorAppointmentListHospital : widget.patientDoctorAppointmentListHospital
.registeredDoctorMap?[selectedRegion]?.hmgDoctorList ?? [], .registeredDoctorMap?[selectedRegion]
?.hmcDoctorList ?? [],
isHMCSelected: isHMCSelected, isHMCSelected: isHMCSelected,
isLiveCareAppointment: widget.isLiveCareAppointment, isLiveCareAppointment: widget.isLiveCareAppointment,
isDoctorSearchResult: widget.isDoctorSearchResult, isDoctorSearchResult: widget.isDoctorSearchResult,
onHospitalSelected: (hospital,index) { onHospitalSelected: (hospital, index) {
setState(() { setState(() {
selectedHospitalIndex = index; selectedHospitalIndex = index;
_currentIndex = 3;
changePageViewIndex(3);
}); });
}): SizedBox.shrink(), })
: SizedBox.shrink(),
(selectedRegion != '' && selectedHospitalIndex != -1)
? ResultByDoctor(
doctorsList: widget.doctorsList,
patientDoctorAppointmentListHospital: (isHMCSelected)
? widget
.patientDoctorAppointmentListHospital
.registeredDoctorMap![selectedRegion]!
.hmgDoctorList![selectedHospitalIndex]
.patientDoctorAppointmentList ??
[]
: widget
.patientDoctorAppointmentListHospital
.registeredDoctorMap?[selectedRegion]
?.hmcDoctorList?[
selectedHospitalIndex]
.patientDoctorAppointmentList ??
[],
isLiveCareAppointment:
widget.isLiveCareAppointment,
isDoctorSearchResult: widget.isDoctorSearchResult,
isObGyneAppointment: widget.isObGyneAppointment,
isDoctorNameSearch: widget.isDoctorNameSearch)
: SizedBox.shrink(),
], ],
), ),
), ),
])) ]),
)
: getNoDataWidget(context),); : getNoDataWidget(context),);
} }
@ -229,13 +269,17 @@ class _SearchResultWithTabState extends State<SearchResultWithTab> {
} }
Widget showProgress( Widget showProgress(
{String? title, String? status, Color? color, bool isNeedBorder = true}) { {String? title,
String? status,
Color? color,
bool isNeedBorder = true,
Function()? onTap}) {
return InkWell( return InkWell(
onTap: () { onTap: () {
if (status == TranslationBase if (status == TranslationBase
.of(context) .of(context)
.completed) { .completed) {
changePageViewIndex(_currentIndex); onTap?.call();
} }
}, },
child: Column( child: Column(

@ -472,7 +472,8 @@ class _CallScreenState extends State<CallScreen> {
], ],
), ),
); );
if (errorType == Errors.SessionJoinFailed || errorType == Errors.SessionDisconncting) { if (errorType == Errors.SessionJoinFailed ||
errorType == Errors.SessionDisconnecting) {
Timer( Timer(
const Duration(milliseconds: 1000), const Duration(milliseconds: 1000),
() => Navigator.pop(context), () => Navigator.pop(context),

@ -1,17 +1,15 @@
import 'package:diplomaticquarterapp/config/size_config.dart'; import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/pages/login/login-type.dart'; import 'package:diplomaticquarterapp/pages/login/login-type.dart';
import 'package:diplomaticquarterapp/pages/login/register.dart';
import 'package:diplomaticquarterapp/pages/login/register-info.dart'; import 'package:diplomaticquarterapp/pages/login/register-info.dart';
import 'package:diplomaticquarterapp/pages/login/register.dart';
import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart'; import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart';
import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.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/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/pages/login/confirm-login.dart';
class RegisterNew extends StatefulWidget { class RegisterNew extends StatefulWidget {
@override @override
@ -117,7 +115,14 @@ class _RegisterNew extends State<RegisterNew> {
}, },
scrollDirection: Axis.horizontal, scrollDirection: Axis.horizontal,
children: <Widget>[ children: <Widget>[
Register(
changePageViewIndex: changePageViewIndex,
),
RegisterInfo(
changePageViewIndex: changePageViewIndex,
),
RegisterInfo(changePageViewIndex: changePageViewIndex, page: 2),
// NewEReferralStepOnePage( // NewEReferralStepOnePage(
// changePageViewIndex: changePageViewIndex, // changePageViewIndex: changePageViewIndex,
// createEReferralRequestModel: createEReferralRequestModel, // createEReferralRequestModel: createEReferralRequestModel,

@ -40,6 +40,13 @@ class DoctorMapper{
if(regionDoctorList!.distance>element.projectDistanceInKiloMeters){ if(regionDoctorList!.distance>element.projectDistanceInKiloMeters){
regionDoctorList!.distance = element.projectDistanceInKiloMeters; regionDoctorList!.distance = element.projectDistanceInKiloMeters;
} }
if (element.isHMC == true &&
element.projectDistanceInKiloMeters <
regionDoctorList.hmcDistance)
regionDoctorList.hmcDistance = element.projectDistanceInKiloMeters;
else if (element.projectDistanceInKiloMeters <
regionDoctorList.hmgDistance)
regionDoctorList.hmgDistance = element.projectDistanceInKiloMeters;
}else }else
if (await sharedPref.getDouble(USER_LAT) != null && await sharedPref.getDouble(USER_LONG) != null && element.latitude != null && element.longitude != null) { if (await sharedPref.getDouble(USER_LAT) != null && await sharedPref.getDouble(USER_LONG) != null && element.latitude != null && element.longitude != null) {
var lat = await sharedPref.getDouble(USER_LAT); var lat = await sharedPref.getDouble(USER_LAT);
@ -51,11 +58,14 @@ class DoctorMapper{
} }
if(regionDoctorList!.distance>distance){ if(regionDoctorList!.distance>distance){
regionDoctorList!.distance = distance; regionDoctorList!.distance = distance;
if(element.isHMC == true)
regionDoctorList.hmcDistance = distance;
else
regionDoctorList.hmgDistance = distance;
} }
if (element.isHMC == true &&
element.projectDistanceInKiloMeters <
regionDoctorList.hmcDistance)
regionDoctorList.hmcDistance = element.projectDistanceInKiloMeters;
else if (element.projectDistanceInKiloMeters <
regionDoctorList.hmgDistance)
regionDoctorList.hmgDistance = element.projectDistanceInKiloMeters;
print("the distance is $distance"); print("the distance is $distance");
} }
targetList?.add(newAppointment); targetList?.add(newAppointment);

@ -70,7 +70,7 @@ class AppToast {
child: toast, child: toast,
gravity: ToastGravity.TOP, gravity: ToastGravity.TOP,
toastDuration: Duration(seconds: timeInSeconds), toastDuration: Duration(seconds: timeInSeconds),
positionedToastBuilder: (context, child,_) { positionedToastBuilder: (context, child) {
return Positioned(top: 50, left: 10, right: 10, child: child); return Positioned(top: 50, left: 10, right: 10, child: child);
}); });
// Fluttertoast.showToast(msg: message, toastLength: toastLength, gravity: toastGravity, timeInSecForIosWeb: timeInSeconds, backgroundColor: Colors.red, textColor: textColor, fontSize: fontSize); // Fluttertoast.showToast(msg: message, toastLength: toastLength, gravity: toastGravity, timeInSecForIosWeb: timeInSeconds, backgroundColor: Colors.red, textColor: textColor, fontSize: fontSize);

@ -3277,6 +3277,8 @@ class TranslationBase {
String get hmgHospitalCount => localizedValues["hmgHospitalCount"][locale.languageCode]; String get hmgHospitalCount => localizedValues["hmgHospitalCount"][locale.languageCode];
String get nearest => localizedValues["nearest"][locale.languageCode]; String get nearest => localizedValues["nearest"][locale.languageCode];
String get kilometerUnit =>
localizedValues["kilometerUnit"][locale.languageCode];
} }
class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> { class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> {

Loading…
Cancel
Save