import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/order_model_view_model.dart'; import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; import 'package:diplomaticquarterapp/pages/ContactUs/LiveChat/livechat_page.dart'; import 'package:diplomaticquarterapp/pages/ContactUs/findus/findus_page.dart'; import 'package:diplomaticquarterapp/pages/DrawerPages/family/my-family.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/login/welcome.dart'; import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescriptions_home_page.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/compare.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/my_reviews.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/screens/lakum-main-page.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/screens/lakum-terms-conditions-page.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/screens/pharmacy-terms-conditions-page.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/wishlist.dart'; import 'package:diplomaticquarterapp/pages/pharmacy/order/Order.dart'; import 'package:diplomaticquarterapp/pages/pharmacy/pharmacyAddresses/PharmacyAddresses.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/widgets/avatar/large_avatar.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; dynamic languageID; class PharmacyProfilePage extends StatefulWidget { @override _ProfilePageState createState() => _ProfilePageState(); } class _ProfilePageState extends State { AppSharedPreferences sharedPref = AppSharedPreferences(); String page_id = ""; AuthenticatedUser user; bool isLogin = false; String firstName; String customerId; String lastName, mobileNo, identificationNo; int languageId; getLanguageID() async { languageID = await sharedPref.getString(APP_LANGUAGE); } getCustomer() async { String custID; custID = await sharedPref.getString(PHARMACY_CUSTOMER_ID); setState(() { customerId = custID; }); print("customer Id is" + customerId); return customerId; } getUser() async { var userData = await sharedPref.getObject(USER_PROFILE); if (userData != null) { user = AuthenticatedUser.fromJson(userData); setState(() { firstName = user.firstName.toString(); print("this is user" + user.firstName.toString()); print("this is user" + user.firstNameN.toString()); }); } else { if (userData == null) { Navigator.push( context, FadePage(page: WelcomeLogin()), ); } } // this.isLogin = user != null; } void initState() { getCustomer(); getLanguageID(); super.initState(); getUser(); } @override Widget build(BuildContext context) { return BaseView( onModelReady: (model) async { var customerId = await sharedPref.getString(PHARMACY_CUSTOMER_ID); model.getOrder(customerId, page_id); }, builder: (_, model, wi) => AppScaffold( appBarTitle: TranslationBase.of(context).myAccount, isShowAppBar: false, isShowDecPage: false, isPharmacy: true, body: user != null ? Container( child: SingleChildScrollView( child: Column( children: [ Container( child: Row( children: [ Container( child: Row( children: [ Container( padding: EdgeInsets.only( top: 20.0, left: 10.0, right: 10.0, bottom: 10.0, ), child: LargeAvatar( name: user.firstName.toString(), url: '', ), ), Column(children: [ Row(children: [ Text( TranslationBase.of(context) .welcome, style: TextStyle( fontSize: 14.0, fontWeight: FontWeight.bold, color: Colors.grey), ), ]), SizedBox( height: 10, ), Row(children: [ Text( languageID == "ar" ? user.firstNameN.toString() + " " + user.lastNameN.toString() : user.firstName.toString() + " " + user.lastName.toString(), style: TextStyle( fontSize: 14.0, fontWeight: FontWeight.bold), ), ]), ]), ], ), ) ], ), ), Divider( color: Colors.grey[350], height: 20, thickness: 5, indent: 0, endIndent: 0, ), SizedBox( height: 15, ), Container( child: Row( children: [ Expanded( child: InkWell( onTap: () { if (customerId == null) { AppToast.showErrorToast( message: "Customer not found"); return; } Navigator.push( context, FadePage( page: OrderPage( customerID: customerId))); }, child: Column( children: [ // Image(image: AssetImage('assets/images/pharmacy/orders_icon.svg')), SvgPicture.asset( 'assets/images/pharmacy/orders_icon.svg', width: 50, height: 50, ), SizedBox( height: 5, ), Text( TranslationBase.of(context).orders, style: TextStyle( fontSize: 13.0, fontWeight: FontWeight.bold, ), ), ], ), ), ), Expanded( child: InkWell( onTap: () { Navigator.push(context, FadePage(page: LakumMainPage())); }, child: Column( children: [ SvgPicture.asset( 'assets/images/pharmacy/lakum_icon.svg', width: 50, height: 50, ), SizedBox( height: 5, ), Text( TranslationBase.of(context).lakum, style: TextStyle( fontSize: 13.0, fontWeight: FontWeight.bold), ), ], ), ), ), Expanded( child: InkWell( onTap: () { Navigator.push( context, MaterialPageRoute( builder: (context) => WishlistPage(true))); }, child: Column( children: [ SvgPicture.asset( 'assets/images/pharmacy/wishlist_icon.svg', width: 50, height: 50, ), SizedBox( height: 5, ), Text( TranslationBase.of(context).wishlist, style: TextStyle( fontSize: 13.0, fontWeight: FontWeight.bold, ), ), ], ), ), ), Expanded( child: InkWell( onTap: () { Navigator.push(context, FadePage(page: MyReviewsPage())); }, child: Column( children: [ SvgPicture.asset( 'assets/images/pharmacy/review_icon.svg', width: 50, height: 50, ), SizedBox( height: 5, ), Text( TranslationBase.of(context).reviews, style: TextStyle( fontSize: 13.0, fontWeight: FontWeight.bold, ), ), ], ), ), ), ], )), SizedBox( height: 15, ), Divider( color: Colors.grey[350], height: 20, thickness: 5, indent: 0, endIndent: 0, ), SizedBox( height: 10, ), Container( padding: EdgeInsets.only(left: 10.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( TranslationBase.of(context).myAccount, style: TextStyle( fontSize: 16.0, fontWeight: FontWeight.bold), ), SizedBox( height: 10, ), Divider( color: Colors.grey, height: 20, ), InkWell( onTap: () { Navigator.push( context, FadePage( page: HomePrescriptionsPage())); }, child: Row( children: [ SvgPicture.asset( 'assets/images/pharmacy/my_prescription_icon.svg', width: 28, height: 28, ), SizedBox( width: 15, ), Text( TranslationBase.of(context) .myPrescription, style: TextStyle( fontSize: 13.0, ), ), ], ), ), SizedBox( height: 5, ), Divider( color: Colors.grey, height: 20, ), InkWell( onTap: () { Navigator.push(context, FadePage(page: ComparePage())); }, child: Row( children: [ Image.asset( 'assets/images/pharmacy/compare.png', width: 35, height: 35), SizedBox( width: 15, ), Text( TranslationBase.of(context).compare, style: TextStyle( fontSize: 13.0, ), ), ], ), ), SizedBox( height: 5, ), Divider( color: Colors.grey, height: 20, ), InkWell( onTap: () { Navigator.push( context, FadePage( page: HomePrescriptionsPage())); }, child: Row( children: [ SvgPicture.asset( 'assets/images/pharmacy/medication_refill_icon.svg', width: 30, height: 30, ), SizedBox( width: 20, ), Text( TranslationBase.of(context) .medicationsRefill, style: TextStyle( fontSize: 13.0, ), ), ], ), ), SizedBox( height: 5, ), Divider( color: Colors.grey, height: 20, ), InkWell( onTap: () { Navigator.push( context, FadePage(page: MyFamily())); }, child: Row( children: [ SvgPicture.asset( 'assets/images/pharmacy/my_family_icon.svg', width: 20, height: 20, ), SizedBox( width: 20, ), Text( TranslationBase.of(context).family, style: TextStyle( fontSize: 13.0, ), ), ], ), ), SizedBox( height: 5, ), Divider( color: Colors.grey, height: 20, ), InkWell( onTap: () { Navigator.push( context, FadePage( page: PharmacyAddressesPage())); }, child: Row( children: [ SvgPicture.asset( 'assets/images/pharmacy/shipping_addresses_icon.svg', width: 30, height: 30, ), SizedBox( width: 20, ), Text( TranslationBase.of(context) .shippingAddresses, style: TextStyle( fontSize: 13.0, ), ), ], ), ), SizedBox( height: 5, ), Divider( color: Colors.grey, height: 20, ), InkWell( onTap: () { Navigator.push( context, FadePage( page: PharmacyTermsConditions())); }, child: Row( children: [ Image.asset( 'assets/images/pharmacy/terms.png', width: 25, height: 25, ), SizedBox( width: 10, ), Text( TranslationBase.of(context) .conditionsHMG, style: TextStyle( fontSize: 13.0, ), ), ], ), ), SizedBox( height: 5, ), Divider( color: Colors.grey, height: 20, ), InkWell( onTap: () { Navigator.push( context, FadePage( page: LakumTermsConditions( this.identificationNo, this.firstName, this.lastName, this.mobileNo, this.languageId))); }, child: Row( children: [ Image.asset( 'assets/images/pharmacy/terms.png', width: 25, height: 25, ), // IconButton(icon: Icon(Icons.error_outline), iconSize: 30, // color: Colors.black,), SizedBox( width: 10, ), Text( TranslationBase.of(context) .conditions, style: TextStyle( fontSize: 13.0, ), ), ], ), ), ], ), ), SizedBox( height: 10, ), Divider( color: Colors.grey[350], height: 20, thickness: 5, indent: 0, endIndent: 0, ), SizedBox( height: 10, ), Container( padding: EdgeInsets.only(left: 10.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( TranslationBase.of(context).reachUs, style: TextStyle( fontSize: 16.0, fontWeight: FontWeight.bold), ), SizedBox( height: 5, ), Divider( color: Colors.grey, height: 20, ), InkWell( onTap: () { Navigator.push(context, FadePage(page: LiveChatPage())); }, child: Row( children: [ SvgPicture.asset( 'assets/images/pharmacy/contact_us_icon.svg', width: 20, height: 20, ), SizedBox( width: 20, ), Text( TranslationBase.of(context).contactUs, style: TextStyle(fontSize: 13.0), ), ], ), ), SizedBox( height: 5, ), Divider( color: Colors.grey, height: 20, ), InkWell( onTap: () { Navigator.push(context, FadePage(page: FindUsPage())); }, child: Row( children: [ SvgPicture.asset( 'assets/images/pharmacy/our_locations_icon.svg', width: 30, height: 30, ), SizedBox( width: 20, ), Text( TranslationBase.of(context) .ourLocations, style: TextStyle(fontSize: 13.0), ), ], ), ) ], ), ) ], ), ), ) : Container(), )); } }