My account design fix

merge-requests/407/head
hussam al-habibeh 4 years ago
parent 85e6032875
commit f3000d0ee3

@ -19,7 +19,10 @@ 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/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/pharmacy/my_account_items.dart';
import 'package:diplomaticquarterapp/widgets/pharmacy/my_account_services.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
@ -98,7 +101,7 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
isPharmacy: true,
body: user != null
? Container(
color: Colors.white,
color: Colors.white,
child: SingleChildScrollView(
child: Column(
children: <Widget>[
@ -108,47 +111,56 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
Container(
child: Row(
children: <Widget>[
Container(
padding: EdgeInsets.only(
top: 20.0,
left: 10.0,
right: 10.0,
bottom: 10.0,
),
child: LargeAvatar(
name: user.firstName.toString(),
url: '',
Padding(
padding: EdgeInsets.symmetric(
horizontal: 15.0, vertical: 8.0),
child: Container(
padding: EdgeInsets.only(
top: 20.0,
left: 10.0,
right: 10.0,
bottom: 10.0,
),
child: LargeAvatar(
radius: 55.0,
name: user.firstName.toString(),
url:
'https://thumbs.dreamstime.com/b/default-avatar-profile-vector-user-profile-default-avatar-profile-vector-user-profile-profile-179376714.jpg',
),
),
),
Column(children: <Widget>[
Row(children: <Widget>[
Text(
TranslationBase.of(context)
.welcome,
style: TextStyle(
fontSize: 14.0,
Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
Row(children: <Widget>[
Texts(
TranslationBase.of(context)
.welcome,
fontSize: 16.0,
),
]),
SizedBox(
height: 5.0,
),
Row(children: <Widget>[
Texts(
languageID == "ar"
? user.firstNameN
.toString() +
" " +
user.lastNameN
.toString()
: user.firstName
.toString() +
" " +
user.lastName
.toString(),
fontSize: 17.0,
fontWeight: FontWeight.bold,
color: Colors.grey),
),
]),
SizedBox(
height: 10,
),
Row(children: <Widget>[
Text(
languageID == "ar"
? user.firstNameN.toString() +
" " +
user.lastNameN.toString()
: user.firstName.toString() +
" " +
user.lastName.toString(),
style: TextStyle(
fontSize: 14.0,
fontWeight: FontWeight.bold),
),
]),
]),
),
]),
]),
],
),
)
@ -168,125 +180,53 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
Container(
child: Row(
children: <Widget>[
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: <Widget>[
// 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,
),
),
],
),
),
AccountServices(
title: TranslationBase.of(context).orders,
serviceImage:
'assets/images/pharmacy/orders_icon.svg',
onTap: () {
if (customerId == null) {
AppToast.showErrorToast(
message: "Customer not found");
return;
}
Navigator.push(
context,
FadePage(
page: OrderPage(
customerID: customerId)));
},
),
Expanded(
child: InkWell(
onTap: () {
Navigator.push(context,
FadePage(page: LakumMainPage()));
},
child: Column(
children: <Widget>[
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),
),
],
),
),
AccountServices(
title: TranslationBase.of(context).lakum,
serviceImage:
'assets/images/pharmacy/lakum_icon.svg',
onTap: () {
Navigator.push(context,
FadePage(page: LakumMainPage()));
},
),
Expanded(
child: InkWell(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
WishlistPage(true)));
},
child: Column(
children: <Widget>[
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: <Widget>[
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,
),
),
],
),
),
AccountServices(
title: TranslationBase.of(context).wishlist,
serviceImage:
'assets/images/pharmacy/wishlist_icon.svg',
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
WishlistPage(true)));
},
),
AccountServices(
title: TranslationBase.of(context).reviews,
serviceImage:
'assets/images/pharmacy/review_icon.svg',
onTap: () {
Navigator.push(context,
FadePage(page: MyReviewsPage()));
},
)
],
)),
SizedBox(
@ -303,16 +243,13 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
height: 10,
),
Container(
padding: EdgeInsets.only(left: 10.0),
padding: EdgeInsets.symmetric(horizontal: 25.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
TranslationBase.of(context).myAccount,
style: TextStyle(
fontSize: 16.0,
fontWeight: FontWeight.bold),
),
Texts(TranslationBase.of(context).myAccount,
fontSize: 16.0,
fontWeight: FontWeight.bold),
SizedBox(
height: 10,
),
@ -327,24 +264,11 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
FadePage(
page: HomePrescriptionsPage()));
},
child: Row(
children: <Widget>[
SvgPicture.asset(
child: AccountItem(
title: TranslationBase.of(context)
.myPrescription,
itemIcon:
'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(
@ -355,28 +279,16 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
height: 20,
),
InkWell(
onTap: () {
Navigator.push(context,
FadePage(page: ComparePage()));
},
child: Row(
children: <Widget>[
Image.asset(
'assets/images/pharmacy/compare.png',
width: 35,
height: 35),
SizedBox(
width: 15,
),
Text(
TranslationBase.of(context).compare,
style: TextStyle(
fontSize: 13.0,
),
),
],
),
),
onTap: () {
Navigator.push(context,
FadePage(page: ComparePage()));
},
child: AccountItem(
isTerms: true,
title: TranslationBase.of(context)
.compare,
itemIcon:
"assets/images/pharmacy/compare.png")),
SizedBox(
height: 5,
),
@ -391,25 +303,11 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
FadePage(
page: HomePrescriptionsPage()));
},
child: Row(
children: <Widget>[
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,
),
),
],
),
child: AccountItem(
title: TranslationBase.of(context)
.medicationsRefill,
itemIcon:
'assets/images/pharmacy/medication_refill_icon.svg'),
),
SizedBox(
height: 5,
@ -423,23 +321,10 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
Navigator.push(
context, FadePage(page: MyFamily()));
},
child: Row(
children: <Widget>[
SvgPicture.asset(
child: AccountItem(
title: TranslationBase.of(context).family,
itemIcon:
'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(
@ -456,24 +341,11 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
FadePage(
page: PharmacyAddressesPage()));
},
child: Row(
children: <Widget>[
SvgPicture.asset(
child: AccountItem(
itemIcon:
'assets/images/pharmacy/shipping_addresses_icon.svg',
width: 30,
height: 30,
),
SizedBox(
width: 20,
),
Text(
TranslationBase.of(context)
.shippingAddresses,
style: TextStyle(
fontSize: 13.0,
),
),
],
title: TranslationBase.of(context)
.shippingAddresses,
),
),
SizedBox(
@ -484,32 +356,19 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
height: 20,
),
InkWell(
onTap: () {
Navigator.push(
context,
FadePage(
page: PharmacyTermsConditions()));
},
child: Row(
children: <Widget>[
Image.asset(
'assets/images/pharmacy/terms.png',
width: 25,
height: 25,
),
SizedBox(
width: 10,
),
Text(
TranslationBase.of(context)
onTap: () {
Navigator.push(
context,
FadePage(
page:
PharmacyTermsConditions()));
},
child: AccountItem(
isTerms: true,
title: TranslationBase.of(context)
.conditionsHMG,
style: TextStyle(
fontSize: 13.0,
),
),
],
),
),
itemIcon:
'assets/images/pharmacy/terms.png')),
SizedBox(
height: 5,
),
@ -518,39 +377,24 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
height: 20,
),
InkWell(
onTap: () {
Navigator.push(
context,
FadePage(
page: LakumTermsConditions(
this.identificationNo,
this.firstName,
this.lastName,
this.mobileNo,
this.languageId)));
},
child: Row(
children: <Widget>[
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,
),
),
],
),
),
onTap: () {
Navigator.push(
context,
FadePage(
page: LakumTermsConditions(
this.identificationNo,
this.firstName,
this.lastName,
this.mobileNo,
this.languageId)));
},
child: AccountItem(
title: TranslationBase.of(context)
.conditions,
itemIcon:
'assets/images/pharmacy/terms.png',
isTerms: true,
)),
],
),
),
@ -567,77 +411,54 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
SizedBox(
height: 10,
),
Container(
padding: EdgeInsets.only(left: 10.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
TranslationBase.of(context).reachUs,
style: TextStyle(
Padding(
padding: const EdgeInsets.symmetric(
horizontal: 15.0, vertical: 8.0),
child: Container(
padding: EdgeInsets.only(left: 10.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Texts(TranslationBase.of(context).reachUs,
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: <Widget>[
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,
),
),
SizedBox(
height: 5,
),
Divider(
color: Colors.grey,
height: 20,
),
InkWell(
onTap: () {
Navigator.push(context,
FadePage(page: FindUsPage()));
},
child: Row(
children: <Widget>[
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),
),
],
Divider(
color: Colors.grey,
height: 20,
),
)
],
InkWell(
onTap: () {
Navigator.push(context,
FadePage(page: LiveChatPage()));
},
child: AccountItem(
title: TranslationBase.of(context)
.contactUs,
itemIcon:
'assets/images/pharmacy/contact_us_icon.svg'),
),
SizedBox(
height: 5,
),
Divider(
color: Colors.grey,
height: 20,
),
InkWell(
onTap: () {
Navigator.push(context,
FadePage(page: FindUsPage()));
},
child: AccountItem(
title: TranslationBase.of(context)
.ourLocations,
itemIcon:
'assets/images/pharmacy/our_locations_icon.svg'))
],
),
),
)
],

@ -0,0 +1,50 @@
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter_svg/flutter_svg.dart';
class AccountItem extends StatelessWidget {
final String title;
final String itemIcon;
final bool isTerms;
const AccountItem({this.title, this.itemIcon, this.isTerms = false});
@override
Widget build(BuildContext context) {
return Row(
children: <Widget>[
isTerms == false
? Container(
height: 35.0,
width: 35.0,
child: SvgPicture.asset(
'$itemIcon',
width: 35,
height: 35,
),
)
: Container(
height: 35.0,
width: 35.0,
child: Image.asset(
'$itemIcon',
width: 35,
height: 35,
),
),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
SizedBox(
width: 20,
),
Texts(
title,
fontSize: 15.0,
),
],
)
],
);
}
}

@ -0,0 +1,52 @@
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
class AccountServices extends StatelessWidget {
final String title;
final String serviceImage;
final Function onTap;
const AccountServices({this.title, this.onTap, this.serviceImage});
@override
Widget build(BuildContext context) {
return Expanded(
child: InkWell(
onTap: onTap,
// () {
// if (customerId == null) {
// AppToast.showErrorToast(
// message: "Customer not found");
// return;
// }
// Navigator.push(
// context,
// FadePage(
// page: OrderPage(
// customerID: customerId)));
// },
child: Column(
children: <Widget>[
// Image(image: AssetImage('assets/images/pharmacy/orders_icon.svg')),
SvgPicture.asset(
'$serviceImage',
width: 55,
height: 55,
),
SizedBox(
height: 7,
),
Texts(
title,
fontSize: 15.0,
fontWeight: FontWeight.bold,
),
],
),
),
);
}
}
Loading…
Cancel
Save