diff --git a/lib/pages/pharmacies/screens/product-details/product-name-and-price.dart b/lib/pages/pharmacies/screens/product-details/product-name-and-price.dart index d585b642..21bff3c3 100644 --- a/lib/pages/pharmacies/screens/product-details/product-name-and-price.dart +++ b/lib/pages/pharmacies/screens/product-details/product-name-and-price.dart @@ -23,10 +23,17 @@ class ProductNameAndPrice extends StatefulWidget { final bool isStockAvailable; final String stockAvailability; - AuthenticatedUserObject authenticatedUserObject = locator(); + AuthenticatedUserObject authenticatedUserObject = + locator(); ProductNameAndPrice(this.context, this.item, - {this.customerId, this.isInWishList, this.notifyMeWhenAvailable, this.addToWishlistFunction, this.deleteFromWishlistFunction, this.isStockAvailable = true, this.stockAvailability}); + {this.customerId, + this.isInWishList, + this.notifyMeWhenAvailable, + this.addToWishlistFunction, + this.deleteFromWishlistFunction, + this.isStockAvailable = true, + this.stockAvailability}); @override _ProductNameAndPriceState createState() => _ProductNameAndPriceState(); @@ -45,90 +52,107 @@ class _ProductNameAndPriceState extends State { SizedBox( height: 10, ), - widget.item.rxMessage != null - ? Container( - // width: widget.item.rxMessage != null ? MediaQuery.of(context).size.width / 2.8 : 0, - width: double.infinity, - height: 40, - padding: EdgeInsets.all(4), - decoration: BoxDecoration( - color: Color(0xffD02127), - // color: Colors.red[700] - // borderRadius: BorderRadius.only(topLeft: Radius.circular(6)), - ), - child: Row( - children: [ - Padding( - padding: const EdgeInsets.only(left: 8, right: 8), - child: Icon( - Icons.warning, - color: Colors.white, + widget.item.rxMessage != null + ? Container( + // width: widget.item.rxMessage != null ? MediaQuery.of(context).size.width / 2.8 : 0, + width: double.infinity, + height: 40, + padding: EdgeInsets.all(4), + decoration: BoxDecoration( + color: Color(0xffD02127), + // color: Colors.red[700] + // borderRadius: BorderRadius.only(topLeft: Radius.circular(6)), ), - ), - Text( - projectViewModel.isArabic ? widget.item.rxMessagen.toString() : widget.item.rxMessage.toString(), - style: TextStyle(color: Colors.white, - // regular: true, - fontSize: 17, - fontWeight: FontWeight.w600, - // textAlign: TextAlign.center, - ) - ), - ], - ) - ) - : Container(), + child: Row( + children: [ + Padding( + padding: const EdgeInsets.only(left: 8, right: 8), + child: Icon( + Icons.warning, + color: Colors.white, + ), + ), + Text( + projectViewModel.isArabic + ? widget.item.rxMessagen.toString() + : widget.item.rxMessage.toString(), + style: TextStyle( + color: Colors.white, + // regular: true, + fontSize: 17, + fontWeight: FontWeight.w600, + // textAlign: TextAlign.center, + )), + ], + )) + : Container(), FractionallySizedBox( widthFactor: 0.95, child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ // Texts(widget.item.price.toString() + " " + TranslationBase.of(context).sar, fontWeight: FontWeight.bold, fontSize: 20), - Container( - margin: EdgeInsets.only(top: 10.0, right: 10.0), - padding: EdgeInsets.only(left: 11.0, right: 11.0, top: 0, bottom: 0), - decoration: BoxDecoration( - border: Border.all( + if (widget.stockAvailability != null) + Container( + margin: EdgeInsets.only(top: 10.0, right: 10.0), + padding: EdgeInsets.only( + left: 11.0, right: 11.0, top: 0, bottom: 0), + decoration: BoxDecoration( + border: Border.all( + color: getStatusBackgroundColor(), + style: BorderStyle.solid, + width: 5.0, + ), color: getStatusBackgroundColor(), - style: BorderStyle.solid, - width: 5.0, + borderRadius: BorderRadius.circular(30.0)), + child: Text( + widget.stockAvailability, + style: TextStyle( + fontWeight: FontWeight.w600, + fontSize: 11, + color: Color(0xffFFFFFF), ), - color: getStatusBackgroundColor(), - borderRadius: BorderRadius.circular(30.0)), - child: Text( - widget.stockAvailability, - style: TextStyle(fontWeight: FontWeight.w600, fontSize: 11, color: Color(0xffFFFFFF),), - //color: widget.isStockAvailable ? Colors.white : Colors.red, + //color: widget.isStockAvailable ? Colors.white : Colors.red, + ), ), - ), // SizedBox(width: 20), if (widget.authenticatedUserObject.isLogin) - !widget.isStockAvailable && widget.customerId != null - ?IconButton( - iconSize: 25, - icon:Icon(Icons.notifications_active), - color: new Color(0xff2E303A), - onPressed: () - { widget.notifyMeWhenAvailable(context, widget.item.id);}, - - ): IconButton( - icon: Icon(!widget.isInWishList ? Icons.favorite_border : Icons.favorite), - color: !widget.isInWishList ? Color(0xff2E303A) : Color(0xffD02127), - onPressed: () async { - { - if (widget.customerId != null) { - if (!widget.isInWishList) { - await widget.addToWishlistFunction(widget.item.id); - } else { - await widget.deleteFromWishlistFunction(widget.item.id); - } - } else { - return; - } - setState(() {}); - } - }, - ) + widget.stockAvailability != null && + !widget.isStockAvailable && + widget.customerId != null + ? IconButton( + iconSize: 25, + icon: Icon(Icons.notifications_active), + color: new Color(0xff2E303A), + onPressed: () { + widget.notifyMeWhenAvailable( + context, widget.item.id); + }, + ) + : IconButton( + icon: Icon(!widget.isInWishList + ? Icons.favorite_border + : Icons.favorite), + color: !widget.isInWishList + ? Color(0xff2E303A) + : Color(0xffD02127), + onPressed: () async { + { + if (widget.customerId != null) { + if (!widget.isInWishList) { + await widget + .addToWishlistFunction(widget.item.id); + } else { + await widget.deleteFromWishlistFunction( + widget.item.id); + } + } else { + return; + } + setState(() {}); + } + }, + ) // BorderedButton( // TranslationBase.of(context).notifyMe, // hasBorder: true, @@ -177,31 +201,39 @@ class _ProductNameAndPriceState extends State { ), ), Padding( - padding: const EdgeInsets.only(left: 8,right: 8, top: 1, bottom: 15), + padding: + const EdgeInsets.only(left: 8, right: 8, top: 1, bottom: 15), child: Container( margin: EdgeInsets.only(left: 5, right: 5), child: Align( - alignment: projectViewModel.isArabic ? Alignment.topRight : Alignment.topLeft, + alignment: projectViewModel.isArabic + ? Alignment.topRight + : Alignment.topLeft, child: Text( - projectViewModel.isArabic ? widget.item.namen : widget.item.name, - style: TextStyle( fontWeight: FontWeight.w600, fontSize: 16), + projectViewModel.isArabic + ? widget.item.namen + : widget.item.name, + style: TextStyle(fontWeight: FontWeight.w600, fontSize: 16), ), ), ), - ), Padding( - padding: const EdgeInsets.only(left: 8,right: 8), + padding: const EdgeInsets.only(left: 8, right: 8), child: Container( margin: EdgeInsets.only(left: 5, right: 5), child: Align( - alignment: projectViewModel.isArabic ? Alignment.topRight : Alignment.topLeft, - child: Text( TranslationBase.of(context).sar+ " " + - widget.item.price.toString(), - style: TextStyle(fontWeight: FontWeight.bold, fontSize: 19),), + alignment: projectViewModel.isArabic + ? Alignment.topRight + : Alignment.topLeft, + child: Text( + TranslationBase.of(context).sar + + " " + + widget.item.price.toString(), + style: TextStyle(fontWeight: FontWeight.bold, fontSize: 19), + ), ), ), - ), FractionallySizedBox( widthFactor: 0.95, @@ -213,7 +245,8 @@ class _ProductNameAndPriceState extends State { child: Row( children: [ RatingBar.readOnly( - initialRating: double.parse(widget.item.approvedRatingSum.toString()), + initialRating: double.parse( + widget.item.approvedRatingSum.toString()), size: 18.0, filledColor: Color(0XFFD02127), emptyColor: Color(0XFFD02127), @@ -235,7 +268,8 @@ class _ProductNameAndPriceState extends State { ), Text( "(${widget.item.approvedTotalReviews}${TranslationBase.of(context).review})", - style: TextStyle(fontWeight: FontWeight.w600, fontSize: 12), + style: TextStyle( + fontWeight: FontWeight.w600, fontSize: 12), ), SizedBox( width: 70, @@ -267,6 +301,7 @@ class _ProductNameAndPriceState extends State { Color getStatusBackgroundColor() { if (widget.isStockAvailable) return Color(0xFF5AB145); - else return Color(0xFFD02127); + else + return Color(0xFFD02127); } }