diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart index f69c3f68..6135d333 100644 --- a/lib/config/localized_values.dart +++ b/lib/config/localized_values.dart @@ -1095,8 +1095,8 @@ const Map localizedValues = { "driveThru": {"en": "Drive-Thru", "ar": "من السيارة"}, "trackDeliveryDriver": {"en": "Track Delivery Driver", "ar": "تتبع السائق"}, "NearestErDesc": { - "en": "\nThis service Displays nearest branch\n among all the branches of All Habib \n medical Group based on your current Location", - "ar": "\nتعرض هذه الخدمة أقرب فرع\n من بين جميع فروع مجموعة \nالحبيب الطبية بناءً على موقعك الحالي." + "en": "This service Displays nearest branch among all the branches of All Habib medical Group based on your current Location", + "ar": "تعرض هذه الخدمة أقرب فرع من بين جميع فروع مجموعة الحبيب الطبية بناءً على موقعك الحالي." }, "NearestEr": {"en": "Nearest ER", "ar": "اقرب طوارئ"}, "infoCMC": { diff --git a/lib/pages/ErService/NearestEr.dart b/lib/pages/ErService/NearestEr.dart index c3c6564d..845a8fe7 100644 --- a/lib/pages/ErService/NearestEr.dart +++ b/lib/pages/ErService/NearestEr.dart @@ -1,8 +1,10 @@ +import 'package:diplomaticquarterapp/core/model/contactus/get_hmg_locations.dart'; import 'package:diplomaticquarterapp/core/model/er/projectavgerwaitingtime.dart'; import 'package:diplomaticquarterapp/core/service/er/er_service.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; +import 'package:diplomaticquarterapp/widgets/hospital_location.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; @@ -25,7 +27,7 @@ class NearestEr extends StatefulWidget { class _NearestErState extends State { List projectAvgERWaitingTimeModelList = List(); - bool isDataLoaded = false; + bool isDataLoaded; @override void initState() { @@ -45,47 +47,41 @@ class _NearestErState extends State { showNewAppBarTitle: true, showNewAppBar: true, appBarTitle: TranslationBase.of(context).NearestEr, - body: isDataLoaded - ? Container( - child: ListView( - children: [ - Text(TranslationBase.of(context).NearestErDesc, - textAlign: TextAlign.center, style: TextStyle(fontSize: 18.0, letterSpacing: 1.0, fontWeight: FontWeight.w900, color: new Color(0xFF60686b))), - Container( - margin: EdgeInsets.fromLTRB(2.0, 10.0, 0.0, 10.0), - child: GridView.count( - crossAxisCount: 2, - childAspectRatio: (itemWidth / itemWidth), - crossAxisSpacing: 10, - mainAxisSpacing: 10, - controller: new ScrollController(keepScrollOffset: false), + body: isDataLoaded != null + ? isDataLoaded + ? ListView( + padding: EdgeInsets.all(21), + physics: BouncingScrollPhysics(), + children: [ + Text( + TranslationBase.of(context).NearestErDesc, + style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.64, height: 23 / 16), + ), + SizedBox(height: 21), + ListView.separated( + physics: NeverScrollableScrollPhysics(), shrinkWrap: true, - padding: const EdgeInsets.all(4.0), - children: List.generate(projectAvgERWaitingTimeModelList.length, (index) { - return Container( - child: CardPosition( - waitingTime: projectAvgERWaitingTimeModelList[index].avgTimeInHHMM.toString(), - text: projectAvgERWaitingTimeModelList[index].projectName.toString(), - image: 'assets/images/new-design/find_us_icon.png', - subText: projectAvgERWaitingTimeModelList[index].distanceInKilometers.toString() + " " + TranslationBase.of(context).km, - type: projectAvgERWaitingTimeModelList[index].iD.toString(), - telephone: projectAvgERWaitingTimeModelList[index].phoneNumber.toString(), - networkImage: projectAvgERWaitingTimeModelList[index].projectImageURL.toString(), - latitude: projectAvgERWaitingTimeModelList[index].latitude, - longitude: projectAvgERWaitingTimeModelList[index].longitude, - projectname: projectAvgERWaitingTimeModelList[index].projectName, - cardSize: itemWidth, - ), - ); - }), + padding: EdgeInsets.zero, + separatorBuilder: (context, index) => SizedBox(height: 14), + itemBuilder: (context, index) { + GetHMGLocationsModel location = GetHMGLocationsModel(); + location.locationName = projectAvgERWaitingTimeModelList[index].projectName; + location.cityName = projectAvgERWaitingTimeModelList[index].projectName; + location.projectImageURL = projectAvgERWaitingTimeModelList[index].projectImageURL; + location.phoneNumber = projectAvgERWaitingTimeModelList[index].phoneNumber; + location.latitude = projectAvgERWaitingTimeModelList[index].latitude; + location.longitude = projectAvgERWaitingTimeModelList[index].longitude; + location.distanceInKilometers = projectAvgERWaitingTimeModelList[index].distanceInKilometers; + return HospitalLocation(location, waitingTime: projectAvgERWaitingTimeModelList[index].avgTimeInHHMM.toString()); + }, + itemCount: projectAvgERWaitingTimeModelList.length, ), - ), - ], - ), - ) - : Center( - child: Texts('No Data'), - ), + ], + ) + : Center( + child: Texts('No Data'), + ) + : SizedBox(), ); } diff --git a/lib/widgets/hospital_location.dart b/lib/widgets/hospital_location.dart index dd70d06f..30aad0a0 100644 --- a/lib/widgets/hospital_location.dart +++ b/lib/widgets/hospital_location.dart @@ -6,13 +6,15 @@ import 'package:maps_launcher/maps_launcher.dart'; import 'package:provider/provider.dart'; import 'package:url_launcher/url_launcher.dart'; +import 'avatar/large_avatar.dart'; import 'my_rich_text.dart'; class HospitalLocation extends StatelessWidget { final GetHMGLocationsModel location; final bool showCity; + final String waitingTime; - HospitalLocation(this.location, {Key key, this.showCity = false}) : super(key: key); + HospitalLocation(this.location, {Key key, this.showCity = false, this.waitingTime}) : super(key: key); @override Widget build(BuildContext context) { @@ -46,14 +48,12 @@ class HospitalLocation extends StatelessWidget { Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ - ClipRRect( - borderRadius: BorderRadius.circular(30), - child: Image.network( - location?.projectImageURL?.toString() ?? 'https://hmgwebservices.com/Images/Hospitals/15.jpg', - width: 48, - height: 48, - fit: BoxFit.cover, - ), + LargeAvatar( + name: "", + url: location?.projectImageURL?.toString() ?? 'https://hmgwebservices.com/Images/Hospitals/15.jpg', + width: 48, + height: 48, + radius: 30, ), SizedBox(width: 10), Expanded( @@ -62,6 +62,7 @@ class HospitalLocation extends StatelessWidget { children: [ if (showCity) MyRichText(TranslationBase.of(context).city + ":", location.cityName?.trim().toString(), projectViewModel.isArabic), MyRichText(TranslationBase.of(context).distance + ":", location.distanceInKilometers.toString() + " " + TranslationBase.of(context).km_ ?? "", projectViewModel.isArabic), + if (waitingTime != null) MyRichText(TranslationBase.of(context).waitingTime, waitingTime, projectViewModel.isArabic), ], ), )