Merge branch 'fix_product_tile' into 'development'

Fix product tile

See merge request Cloud_Solution/diplomatic-quarter!399
merge-requests/401/merge
Mohammad Aljammal 5 years ago
commit 767a4fc835

@ -110,35 +110,6 @@ class _LandingPagePharmacyState extends State<LandingPagePharmacy> {
centerTitle: true, centerTitle: true,
) )
: null, : null,
// : AppBar(
// backgroundColor: Color(0xff5AB145),
// elevation: 0,
// textTheme: TextTheme(
// headline6: TextStyle(
// color: Colors.white, fontWeight: FontWeight.bold),
// ),
// title: Text(getText(currentTab).toUpperCase()),
// leading: Builder(
// builder: (BuildContext context) {
// return IconButton(
// icon: Icon(Icons.arrow_back),
// color: Colors.white,
// onPressed: () => Scaffold.of(context).openDrawer(),
// );
// },
// ),
// actions: [
// // IconButton(
// // iconSize: 70,
// // icon: SvgPicture.asset('assets/images/svg/robort_svg.svg',
// // height: 100, width: 100, fit: BoxFit.cover),
// // onPressed: () {
// // triggerRobot();
// // } //do something,
// // )
// ],
// centerTitle: true,
// ),
extendBody: false, extendBody: false,
body: PageView( body: PageView(
physics: NeverScrollableScrollPhysics(), physics: NeverScrollableScrollPhysics(),
@ -146,14 +117,9 @@ class _LandingPagePharmacyState extends State<LandingPagePharmacy> {
children: [ children: [
PharmacyPage(), PharmacyPage(),
PharmacyCategorisePage(), PharmacyCategorisePage(),
// OffersCategorisePage(),
WishlistPage(false),
PharmacyProfilePage(), PharmacyProfilePage(),
// Container(
// child: Text('text'),
// ),
CartOrderPage(), CartOrderPage(),
], // Please do not remove the BookingOptions from this array ],
), ),
bottomNavigationBar: BottomNavPharmacyBar( bottomNavigationBar: BottomNavPharmacyBar(
changeIndex: _changeCurrentTab, changeIndex: _changeCurrentTab,

@ -52,102 +52,99 @@ class ProductTileItem extends StatelessWidget {
return InkWell( return InkWell(
onTap: () => productOnClick(context), onTap: () => productOnClick(context),
splashColor: Theme.of(context).primaryColor, splashColor: Theme.of(context).primaryColor,
child: Card( child: Container(
elevation: 2, margin: EdgeInsets.all(7),
shape: Border(right: BorderSide(color: Colors.grey.shade300, width: 1)), decoration: BoxDecoration(
margin: EdgeInsets.symmetric( border:Border.all(color: Colors.grey.shade300,width: 0.5),
horizontal: 8, borderRadius: BorderRadius.circular(8)
vertical: 0,
), ),
child: Container( padding: EdgeInsets.symmetric(horizontal: 4),
padding: EdgeInsets.symmetric(horizontal: 4), width: MediaQuery.of(context).size.width / 2.8,
width: MediaQuery.of(context).size.width / 3, child: Column(
child: Column( crossAxisAlignment: CrossAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start, children: [
children: [ Stack(
Stack( children: [
children: [ Container(
Container( margin: EdgeInsets.fromLTRB(0, 16, 0, 0),
margin: EdgeInsets.fromLTRB(0, 16, 0, 0), alignment: Alignment.center,
alignment: Alignment.center, child: (item.images != null && item.images.length > 0)
child: (item.images != null && item.images.length > 0) ? Image.network(
? Image.network( item.images[0].src,
item.images[0].src, fit: BoxFit.cover,
fit: BoxFit.cover, height: 80,
height: 80, )
) : Image.asset(
: Image.asset( "assets/images/no_image.png",
"assets/images/no_image.png", fit: BoxFit.cover,
fit: BoxFit.cover, height: 80,
height: 80,
),
), ),
Container( ),
width: item.rxMessage != null Container(
? MediaQuery.of(context).size.width / 5 width: item.rxMessage != null
: 0, ? MediaQuery.of(context).size.width / 5
padding: EdgeInsets.all(4), : 0,
decoration: BoxDecoration( padding: EdgeInsets.all(4),
color: Color(0xffb23838), decoration: BoxDecoration(
borderRadius: color: Color(0xffb23838),
BorderRadius.only(topLeft: Radius.circular(6)), borderRadius:
), BorderRadius.only(topLeft: Radius.circular(6)),
child: item.rxMessage != null ? Texts( ),
projectProvider.isArabic ? item.rxMessagen : item.rxMessage, child: item.rxMessage != null
color: Colors.white, ? Texts(
regular: true, projectProvider.isArabic
fontSize: 10, ? item.rxMessagen
fontWeight: FontWeight.w400, : item.rxMessage,
): Texts(""), color: Colors.white,
regular: true,
fontSize: 10,
fontWeight: FontWeight.w400,
) )
], : Texts(""),
)
],
),
SizedBox(height: 8,),
Container(
margin: EdgeInsets.symmetric(
horizontal: 6,
vertical: 0,
), ),
Container( child: Column(
margin: EdgeInsets.symmetric( crossAxisAlignment: CrossAxisAlignment.start,
horizontal: 6, children: [
vertical: 0, Texts(
), projectProvider.isArabic ? item.namen : item.name,
child: Column( regular: true,
crossAxisAlignment: CrossAxisAlignment.start, fontSize: 12,
children: [ fontWeight: FontWeight.w400,
Texts( ),
projectProvider.isArabic ? item.namen : item.name, Padding(
regular: true, padding: const EdgeInsets.only(top: 4, bottom: 4),
fontSize: 12, child: Texts(
fontWeight: FontWeight.w400, "SAR ${item.price}",
fontWeight: FontWeight.w600,
fontSize: 14,
), ),
Padding( ),
padding: const EdgeInsets.only(top: 4, bottom: 4), Row(
child: Texts( children: [
"SAR ${item.price}", Expanded(
bold: true, child: StarRating(
fontSize: 14, totalAverage: item.approvedTotalReviews > 0
? (item.approvedRatingSum.toDouble() /
item.approvedTotalReviews.toDouble())
.toDouble()
: 0,
forceStars: true),
), ),
), ],
Row( ),
children: [ ],
Expanded( ),
child: StarRating( ),
totalAverage: item.approvedTotalReviews > 0 SizedBox(height: 5,),
? (item.approvedRatingSum.toDouble() / ],
item.approvedTotalReviews.toDouble())
.toDouble()
: 0,
forceStars: true),
),
/*Texts(
"(${item.approvedTotalReviews})",
regular: true,
fontSize: 10,
fontWeight: FontWeight.w400,
),*/
],
),
],
),
)
],
),
), ),
), ),
); );

@ -93,7 +93,7 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
}, },
builder: (_, model, wi) => AppScaffold( builder: (_, model, wi) => AppScaffold(
appBarTitle: TranslationBase.of(context).myAccount, appBarTitle: TranslationBase.of(context).myAccount,
isShowAppBar: true, isShowAppBar: false,
isShowDecPage: false, isShowDecPage: false,
isPharmacy: true, isPharmacy: true,
body: user != null body: user != null

@ -55,9 +55,10 @@ class WishListService extends BaseService {
// } // }
Future getWishlist() async { Future getWishlist() async {
var customerId = await sharedPref.getString(PHARMACY_CUSTOMER_ID); //TODO we need to check why the customer id comes null
String customerId = await sharedPref.getString(PHARMACY_CUSTOMER_ID)?? "0";
hasError = false; hasError = false;
await baseAppClient.getPharmacy(GET_WISHLIST+customerId+"?shopping_cart_type=2", await baseAppClient.getPharmacy(GET_WISHLIST+customerId +"?shopping_cart_type=2",
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
_wishListProducts.clear(); _wishListProducts.clear();
response['shopping_carts'].forEach((item) { response['shopping_carts'].forEach((item) {

@ -30,7 +30,7 @@ class StarRating extends StatelessWidget {
) )
), ),
if (totalCount!=null) if (totalCount!=null)
SizedBox(width: 9.0), SizedBox(width: 5.0),
if (totalCount!=null) if (totalCount!=null)
Texts("("+totalCount.toString()+")", style: "overline", color: Colors.grey[400],) Texts("("+totalCount.toString()+")", style: "overline", color: Colors.grey[400],)
] ]

@ -17,7 +17,6 @@ class BottomNavPharmacyBar extends StatefulWidget {
} }
class _BottomNavPharmacyBarState extends State<BottomNavPharmacyBar> { class _BottomNavPharmacyBarState extends State<BottomNavPharmacyBar> {
int _index = 0;
_changeIndex(int index) { _changeIndex(int index) {
widget.changeIndex(index); widget.changeIndex(index);
@ -43,19 +42,6 @@ class _BottomNavPharmacyBarState extends State<BottomNavPharmacyBar> {
currentIndex: 0, currentIndex: 0,
title: TranslationBase.of(context).Alhabibapp, title: TranslationBase.of(context).Alhabibapp,
), ),
// Container(
// height: 65.0,
// child: Center(
// child: VerticalDivider(
// color: Colors.grey,
// thickness: 0.5,
// width: 0.3,
// indent: 25.5,
// ),
// ),
// ),
BottomNavPharmacyItem( BottomNavPharmacyItem(
icon: EvaIcons.list, icon: EvaIcons.list,
activeIcon: EvaIcons.list, activeIcon: EvaIcons.list,
@ -64,20 +50,6 @@ class _BottomNavPharmacyBarState extends State<BottomNavPharmacyBar> {
currentIndex: 1, currentIndex: 1,
title: TranslationBase.of(context).categorise, title: TranslationBase.of(context).categorise,
), ),
// Expanded(
// child: SizedBox(
// height: 50,
// child: Column(
// mainAxisSize: MainAxisSize.min,
// mainAxisAlignment: MainAxisAlignment.center,
// children: <Widget>[
// SizedBox(height: 22),
// ],
// ),
// ),
// ),
// Added Calendar Icon to access book appointment flow
BottomNavPharmacyItem( BottomNavPharmacyItem(
icon: EvaIcons.home, icon: EvaIcons.home,
activeIcon: EvaIcons.home, activeIcon: EvaIcons.home,
@ -86,13 +58,12 @@ class _BottomNavPharmacyBarState extends State<BottomNavPharmacyBar> {
currentIndex: 0, currentIndex: 0,
isHome: true, isHome: true,
title: TranslationBase.of(context).home), title: TranslationBase.of(context).home),
BottomNavPharmacyItem( BottomNavPharmacyItem(
icon: EvaIcons.person, icon: EvaIcons.person,
activeIcon: EvaIcons.person, activeIcon: EvaIcons.person,
changeIndex: _changeIndex, changeIndex: _changeIndex,
index: widget.index, index: widget.index,
currentIndex: 3, currentIndex: 2,
title: TranslationBase.of(context).myAccount, title: TranslationBase.of(context).myAccount,
), ),
BottomNavPharmacyItem( BottomNavPharmacyItem(
@ -100,7 +71,7 @@ class _BottomNavPharmacyBarState extends State<BottomNavPharmacyBar> {
activeIcon: EvaIcons.shoppingCartOutline, activeIcon: EvaIcons.shoppingCartOutline,
changeIndex: _changeIndex, changeIndex: _changeIndex,
index: widget.index, index: widget.index,
currentIndex: 4, currentIndex: 3,
title: TranslationBase.of(context).cart) title: TranslationBase.of(context).cart)
], ],
), ),

@ -1,6 +1,10 @@
import 'package:diplomaticquarterapp/Constants.dart'; import 'package:diplomaticquarterapp/Constants.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/login/welcome.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.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/material.dart';
import 'package:provider/provider.dart';
class BottomNavPharmacyItem extends StatelessWidget { class BottomNavPharmacyItem extends StatelessWidget {
final String title; final String title;
@ -33,7 +37,16 @@ class BottomNavPharmacyItem extends StatelessWidget {
child: InkWell( child: InkWell(
highlightColor: Colors.transparent, highlightColor: Colors.transparent,
splashColor: Colors.transparent, splashColor: Colors.transparent,
onTap: () => changeIndex(currentIndex), onTap: () {
if(!Provider.of<ProjectViewModel>(context, listen: false).isLogin && (currentIndex == 2|| currentIndex == 3))
Navigator.push(
context,
FadePage(page: WelcomeLogin()),
);
else
changeIndex(currentIndex);
},
child: Column( child: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,

Loading…
Cancel
Save