|
|
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/ChildVaccines/new/child_vaccine_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<PharmacyModuleViewModel>();
|
|
|
|
|
|
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: ChildVaccinePage()),
|
|
|
);
|
|
|
} 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()));
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
}
|