import 'package:auto_size_text/auto_size_text.dart'; import 'package:diplomaticquarterapp/config/size_config.dart'; import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/pharmacy_module_view_model.dart'; import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; import 'package:diplomaticquarterapp/models/hmg_services.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/%E2%80%8B%20health_calculators.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_page.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/E-Referral/e_referral_page.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/HomeHealthCare/home_health_care_page.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/h2o/h2o_page.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/health_converter.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/my_web_view.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/parking_page.dart'; import 'package:diplomaticquarterapp/pages/Blood/blood_donation.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/Search.dart'; import 'package:diplomaticquarterapp/pages/ChildVaccines/child_vaccines_page.dart'; import 'package:diplomaticquarterapp/pages/ContactUs/contact_us_page.dart'; import 'package:diplomaticquarterapp/pages/Covid-DriveThru/covid-drivethru-location.dart'; import 'package:diplomaticquarterapp/pages/DrawerPages/family/my-family.dart'; import 'package:diplomaticquarterapp/pages/ErService/ErOptions.dart'; import 'package:diplomaticquarterapp/pages/insurance/insurance_update_screen.dart'; import 'package:diplomaticquarterapp/pages/livecare/livecare_home.dart'; import 'package:diplomaticquarterapp/pages/medical/medical_profile_page_new.dart'; import 'package:diplomaticquarterapp/pages/medical/smart_watch_health_data/smart_watch_instructions.dart'; import 'package:diplomaticquarterapp/pages/paymentService/payment_service.dart'; import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart'; import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:url_launcher/url_launcher.dart'; import '../../../locator.dart'; import '../landing_page.dart'; import '../landing_page_pharmcy.dart'; class ServicesView extends StatelessWidget { HmgServices hmgServices; int index; AuthenticatedUser authUser = new AuthenticatedUser(); AuthProvider authProvider = new AuthProvider(); PharmacyModuleViewModel pharmacyModuleViewModel = locator(); ServicesView(this.hmgServices, this.index); @override Widget build(BuildContext context) { return InkWell( onTap: () { if (index == 0) { Navigator.push(context, FadePage(page: LiveCareHome())).then((value) { LiveCareHome.isLiveCareTypeSelected = false; }); } else if (index == 1) { Navigator.push(context, FadePage(page: CovidDrivethruLocation())); } else if (index == 2) { Navigator.push(context, FadePage(page: PaymentService())); } else if (index == 3) { Navigator.push(context, FadePage(page: HomeHealthCarePage())); } else if (index == 4) { Navigator.push(context, FadePage(page: CMCPage())); } else if (index == 5) { Navigator.push(context, FadePage(page: ErOptions(isAppbar: true))); } else if (index == 6) { Navigator.push(context, FadePage(page: EReferralPage())); } else if (index == 7) { Navigator.push(context, FadePage(page: H2OPage())); } else if (index == 8) { Navigator.push(context, FadePage(page: ContactUsPage())); } else if (index == 9) { Navigator.push( context, FadePage( page: MedicalProfilePageNew(), ), ); } else if (index == 10) { Navigator.push( context, FadePage( page: Search(), ), ); } else if (index == 11) { getPharmacyToken(context); } else if (index == 12) { Navigator.push( context, FadePage( page: InsuranceUpdate(), ), ); } else if (index == 13) { Navigator.push( context, FadePage( page: MyFamily(), ), ); } else if (index == 14) { Navigator.push( context, FadePage(page: ChildVaccinesPage()), ); } else if (index == 15) { Navigator.pop(context); LandingPage.shared.switchToDoFromHMGServices(); } else if (index == 16) { Navigator.push( context, FadePage(page: BloodDonationPage()), ); } else if (index == 17) { Navigator.push( context, FadePage( page: (HealthCalculators()), ), ); } else if (index == 18) { Navigator.push( context, FadePage( page: HealthConverter(), ), ); } else if (index == 19) { Navigator.push( context, FadePage(page: SmartWatchInstructions()), ); } else if (index == 20) { Navigator.push( context, FadePage( page: ParkingPage(), ), ); } else if (index == 21) { launch("https://hmgwebservices.com/vt_mobile/html/index.html"); } else if (index == 22) { Navigator.of(context).push(MaterialPageRoute( builder: (BuildContext context) => MyWebView( title: "HMG News", selectedUrl: "https://twitter.com/hashtag/مجموعة_د_سليمان_الحبيب_الطبية?src=hashtag_click&f=live", ),),); } }, child: Container( width: double.infinity, height: double.infinity, decoration: containerRadiusWithGradientServices(20, lightColor: CustomColors.lightGreyColor, darkColor: CustomColors.darkGreyColor), child: Stack( children: [ Container( width: double.infinity, height: double.infinity, child: Row( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ mFlex(1), Flexible( flex: 8, child: Column( children: [ Flexible( flex: 5, child: Padding( padding: const EdgeInsets.all(12.0), child: Opacity( opacity: 0.04, child: hmgServices.action == 2 ? Image.asset( hmgServices.icon, width: double.infinity, height: double.infinity, ) : SvgPicture.asset( hmgServices.icon, width: double.infinity, height: double.infinity, ), ), ), ), mFlex(1), ], ), ), ], ), ), Container( width: double.infinity, height: double.infinity, padding: EdgeInsets.only(left: SizeConfig.widthMultiplier * 3, right: SizeConfig.widthMultiplier * 3, top: SizeConfig.widthMultiplier * 3, bottom: SizeConfig.widthMultiplier * 2), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ mFlex(1), hmgServices.action == 2 ? Image.asset( hmgServices.icon, height: index == 0 ? MediaQuery.of(context).size.width / 18 : MediaQuery.of(context).size.width / 18, ) : Container( // color: Colors.yellow, width: index == 4 ? MediaQuery.of(context).size.width / 12 : MediaQuery.of(context).size.width / 12, height: index == 4 ? MediaQuery.of(context).size.width / 10 : MediaQuery.of(context).size.width / 12, child: SvgPicture.asset( hmgServices.icon, // width: MediaQuery.of(context).size.width / 12, // height: MediaQuery.of(context).size.width / 12, ), ), mFlex(4), AutoSizeText( hmgServices.title, maxLines: 1, minFontSize: 10, style: TextStyle( fontSize: SizeConfig.textMultiplier * 1.6, fontWeight: FontWeight.bold, letterSpacing: -0.39, height: 0.8, ), ), AutoSizeText( hmgServices.subTitle, maxLines: 1, minFontSize: 8, style: TextStyle( fontSize: SizeConfig.textMultiplier * 1.4, letterSpacing: -0.27, fontWeight: FontWeight.w600, ), ), mFlex(1), ], ), ), ], ), ), ); } getPharmacyToken(BuildContext context) async { if (!authProvider.isLogin) { Navigator.push(context, FadePage(page: LandingPagePharmacy())); } else { GifLoaderDialogUtils.showMyDialog(context); await pharmacyModuleViewModel.generatePharmacyToken().then((value) async { if (pharmacyModuleViewModel.error.isNotEmpty) { await pharmacyModuleViewModel.createUser().then((value) { GifLoaderDialogUtils.hideDialog(context); Navigator.push(context, FadePage(page: LandingPagePharmacy())); }); } else { GifLoaderDialogUtils.hideDialog(context); Navigator.push(context, FadePage(page: LandingPagePharmacy())); } }); } } }