Updates & fixes

merge-requests/1/merge
haroon amjad 3 years ago
parent a05d037211
commit 50f203cd55

@ -22,11 +22,10 @@ class EmployeePostedAds {
String? status; String? status;
List<ItemAttachments>? itemAttachments; List<ItemAttachments>? itemAttachments;
String? created; String? created;
dynamic? comments; bool? isActive;
dynamic? isActive;
int? pageSize; int? pageSize;
int? pageNo; int? pageNo;
dynamic? languageId; int? languageId;
EmployeePostedAds( EmployeePostedAds(
{this.itemSaleID, {this.itemSaleID,
@ -52,7 +51,6 @@ class EmployeePostedAds {
this.status, this.status,
this.itemAttachments, this.itemAttachments,
this.created, this.created,
this.comments,
this.isActive, this.isActive,
this.pageSize, this.pageSize,
this.pageNo, this.pageNo,
@ -87,7 +85,6 @@ class EmployeePostedAds {
}); });
} }
created = json['created']; created = json['created'];
comments = json['comments'];
isActive = json['isActive']; isActive = json['isActive'];
pageSize = json['pageSize']; pageSize = json['pageSize'];
pageNo = json['pageNo']; pageNo = json['pageNo'];
@ -122,7 +119,6 @@ class EmployeePostedAds {
this.itemAttachments!.map((v) => v.toJson()).toList(); this.itemAttachments!.map((v) => v.toJson()).toList();
} }
data['created'] = this.created; data['created'] = this.created;
data['comments'] = this.comments;
data['isActive'] = this.isActive; data['isActive'] = this.isActive;
data['pageSize'] = this.pageSize; data['pageSize'] = this.pageSize;
data['pageNo'] = this.pageNo; data['pageNo'] = this.pageNo;
@ -137,7 +133,7 @@ class ItemAttachments {
String? contentType; String? contentType;
String? attachFileStream; String? attachFileStream;
String? base64String; String? base64String;
dynamic? isActive; bool? isActive;
int? referenceItemId; int? referenceItemId;
String? content; String? content;
String? filePath; String? filePath;

@ -13,7 +13,6 @@ class GetCCPDFFStructureModel {
String? dISPLAYFLAG; String? dISPLAYFLAG;
String? eNABLEDFLAG; String? eNABLEDFLAG;
ESERVICESDV? eSERVICESDV; ESERVICESDV? eSERVICESDV;
// List<Null>? eSERVICESVS;
String? fLEXVALUESETNAME; String? fLEXVALUESETNAME;
String? fORMATTYPE; String? fORMATTYPE;
String? fORMATTYPEDSP; String? fORMATTYPEDSP;
@ -95,12 +94,6 @@ class GetCCPDFFStructureModel {
eSERVICESDV = json['E_SERVICES_DV'] != null eSERVICESDV = json['E_SERVICES_DV'] != null
? new ESERVICESDV.fromJson(json['E_SERVICES_DV']) ? new ESERVICESDV.fromJson(json['E_SERVICES_DV'])
: null; : null;
// if (json['E_SERVICES_VS'] != null) {
// eSERVICESVS = <Null>[];
// json['E_SERVICES_VS'].forEach((v) {
// eSERVICESVS!.add(new Null.fromJson(v));
// });
// }
fLEXVALUESETNAME = json['FLEX_VALUE_SET_NAME']; fLEXVALUESETNAME = json['FLEX_VALUE_SET_NAME'];
fORMATTYPE = json['FORMAT_TYPE']; fORMATTYPE = json['FORMAT_TYPE'];
fORMATTYPEDSP = json['FORMAT_TYPE_DSP']; fORMATTYPEDSP = json['FORMAT_TYPE_DSP'];
@ -112,19 +105,6 @@ class GetCCPDFFStructureModel {
nUMBERPRECISION = json['NUMBER_PRECISION']; nUMBERPRECISION = json['NUMBER_PRECISION'];
nUMERICMODEENABLEDFLAG = json['NUMERIC_MODE_ENABLED_FLAG']; nUMERICMODEENABLEDFLAG = json['NUMERIC_MODE_ENABLED_FLAG'];
pARENTSEGMENTSDV = json['PARENT_SEGMENTS_DV']; pARENTSEGMENTSDV = json['PARENT_SEGMENTS_DV'];
// if (json['PARENT_SEGMENTS_DV_Splited'] != null) {
// pARENTSEGMENTSDVSplited = <Null>[];
// json['PARENT_SEGMENTS_DV_Splited'].forEach((v) {
// pARENTSEGMENTSDVSplited!.add(new Null.fromJson(v));
// });
// }
// pARENTSEGMENTSVS = json['PARENT_SEGMENTS_VS'];
// if (json['PARENT_SEGMENTS_VS_SplitedVS'] != null) {
// pARENTSEGMENTSVSSplitedVS = <Null>[];
// json['PARENT_SEGMENTS_VS_SplitedVS'].forEach((v) {
// pARENTSEGMENTSVSSplitedVS!.add(new Null.fromJson(v));
// });
// }
rEADONLY = json['READ_ONLY']; rEADONLY = json['READ_ONLY'];
rEQUIREDFLAG = json['REQUIRED_FLAG']; rEQUIREDFLAG = json['REQUIRED_FLAG'];
sEGMENTNAME = json['SEGMENT_NAME']; sEGMENTNAME = json['SEGMENT_NAME'];

@ -29,105 +29,109 @@ class _ItemForSaleDetailPageState extends State<ItemForSaleDetailPage> {
appBar: AppBarWidget(context, appBar: AppBarWidget(context,
// title: LocaleKeys.mowadhafhiRequest.tr(), // title: LocaleKeys.mowadhafhiRequest.tr(),
title: "Items for sale", title: "Items for sale",
showHomeButton: true), showHomeButton: true,),
body: SingleChildScrollView( body: SingleChildScrollView(
child: AspectRatio( child: Column(
aspectRatio: 336 / 554, children: [
child: Container( AspectRatio(
decoration: BoxDecoration( aspectRatio: 336 / 554,
color: Colors.white, child: Container(
borderRadius: BorderRadius.circular(10), decoration: BoxDecoration(
boxShadow: [ color: Colors.white,
BoxShadow( borderRadius: BorderRadius.circular(10),
color: const Color(0xff000000).withOpacity(.05), boxShadow: [
blurRadius: 26, BoxShadow(
offset: const Offset(0, -3), color: const Color(0xff000000).withOpacity(.05),
blurRadius: 26,
offset: const Offset(0, -3),
),
],
), ),
], // color: Colors.red,
), child: Column(
// color: Colors.red, crossAxisAlignment: CrossAxisAlignment.start,
child: Column( mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start, children: [
mainAxisSize: MainAxisSize.min, Container(
children: [ decoration: BoxDecoration(
Container( boxShadow: [
decoration: BoxDecoration( BoxShadow(
boxShadow: [ color: const Color(0xffEBEBEB).withOpacity(1.0),
BoxShadow( blurRadius: 26,
color: const Color(0xffEBEBEB).withOpacity(1.0), offset: const Offset(0, -3),
blurRadius: 26, ),
offset: const Offset(0, -3), ],
), ),
], child: Hero(
), tag: "ItemImage" + getItemsForSaleList.itemSaleID.toString(),
child: Hero( transitionOnUserGestures: true,
tag: "ItemImage" + getItemsForSaleList.itemSaleID.toString(), child: AspectRatio(
transitionOnUserGestures: true, aspectRatio: 148 / 127,
child: AspectRatio( child: ClipRRect(
aspectRatio: 148 / 127, borderRadius: BorderRadius.circular(6),
child: ClipRRect( child: Image.memory(
borderRadius: BorderRadius.circular(6), base64Decode(getItemsForSaleList.itemAttachments![0].content!),
child: Image.memory( fit: BoxFit.cover,
base64Decode(getItemsForSaleList.itemAttachments![0].content!), ),
fit: BoxFit.cover, ),
), ).paddingAll(8),
), ),
).paddingAll(8), ),
), getItemsForSaleList.title!.toText20(isBold: true, color: const Color(0xff2B353E)).paddingOnly(left: 21, right: 21),
), getItemsForSaleList.description!.toText12(maxLine: 5, color: const Color(0xff535353)).paddingOnly(left: 21, right: 21, bottom: 21),
getItemsForSaleList.title!.toText20(isBold: true, color: const Color(0xff2B353E)).paddingOnly(left: 21, right: 21), getItemsForSaleList.status!.toText16(isBold: true, color: getItemsForSaleList.status == 'Approved' ? MyColors.greenColor : MyColors.yellowColor).paddingOnly(left: 21, right: 21),
getItemsForSaleList.description!.toText12(maxLine: 5, color: const Color(0xff535353)).paddingOnly(left: 21, right: 21, bottom: 21), "${getItemsForSaleList.quotePrice} ${getItemsForSaleList.currencyCode!}".toText20(isBold: true).paddingOnly(left: 21, right: 21, bottom: 15),
getItemsForSaleList.status!.toText16(isBold: true, color: getItemsForSaleList.status == 'Approved' ? MyColors.greenColor : MyColors.yellowColor).paddingOnly(left: 21, right: 21), const Divider().paddingOnly(left: 21, right: 21),
"${getItemsForSaleList.quotePrice} ${getItemsForSaleList.currencyCode!}".toText20(isBold: true).paddingOnly(left: 21, right: 21, bottom: 15), Row(
const Divider().paddingOnly(left: 21, right: 21),
Row(
children: [
CircularAvatar(
height: 40,
width: 40,
).paddingOnly(left: 21, top: 21),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [ children: [
getItemsForSaleList.fullName!.toText14(isBold: true).paddingOnly(left: 7, right: 7), CircularAvatar(
"Posted on: ${DateUtil.formatDateToDate(DateTime.parse(getItemsForSaleList.created!), false)}".toText12().paddingOnly(left: 7, right: 7), height: 40,
width: 40,
).paddingOnly(left: 21, top: 21),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
getItemsForSaleList.fullName!.toText14(isBold: true).paddingOnly(left: 7, right: 7),
"Posted on: ${DateUtil.formatDateToDate(DateTime.parse(getItemsForSaleList.created!), false)}".toText12().paddingOnly(left: 7, right: 7),
],
).paddingOnly(top: 18),
], ],
).paddingOnly(top: 18), ),
], ],
), ),
], ).paddingAll(21),
),
Container(
decoration: const BoxDecoration(
color: MyColors.white,
boxShadow: [
BoxShadow(color: MyColors.lightGreyEFColor, spreadRadius: 1),
],
),
child: Row(
children: [
DefaultButton("Email", () async {
Uri emailLaunchUri = Uri(
scheme: 'mailto',
path: getItemsForSaleList.emailAddress,
);
launchUrl(emailLaunchUri);
}, iconData: Icons.email_sharp, isTextExpanded: false)
.insideContainer
.expanded,
DefaultButton("Call", () async {
Uri callLaunchUri = Uri(
scheme: 'tel',
path: getItemsForSaleList.mobileNumber,
);
launchUrl(callLaunchUri);
}, iconData: Icons.call_sharp, isTextExpanded: false)
.insideContainer
.expanded,
],
),
), ),
).paddingAll(21),
),
),
bottomSheet: Container(
decoration: const BoxDecoration(
color: MyColors.white,
boxShadow: [
BoxShadow(color: MyColors.lightGreyEFColor, spreadRadius: 1),
],
),
child: Row(
children: [
DefaultButton("Email", () async {
Uri emailLaunchUri = Uri(
scheme: 'mailto',
path: getItemsForSaleList.emailAddress,
);
launchUrl(emailLaunchUri);
}, iconData: Icons.email_sharp, isTextExpanded: false)
.insideContainer
.expanded,
DefaultButton("Call", () async {
Uri callLaunchUri = Uri(
scheme: 'tel',
path: getItemsForSaleList.mobileNumber,
);
launchUrl(callLaunchUri);
}, iconData: Icons.call_sharp, isTextExpanded: false)
.insideContainer
.expanded,
], ],
), ),
), ),

@ -13,7 +13,6 @@ import 'package:mohem_flutter_app/extensions/int_extensions.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/models/get_eit_dff_structure_list_model.dart';
import 'package:mohem_flutter_app/models/my_requests/get_ccp_output_model.dart'; import 'package:mohem_flutter_app/models/my_requests/get_ccp_output_model.dart';
import 'package:mohem_flutter_app/models/my_requests/get_ccp_transactions_model.dart'; import 'package:mohem_flutter_app/models/my_requests/get_ccp_transactions_model.dart';
import 'package:mohem_flutter_app/models/my_requests/get_concurrent_programs_model.dart'; import 'package:mohem_flutter_app/models/my_requests/get_concurrent_programs_model.dart';
@ -45,127 +44,128 @@ class _MyRequestsState extends State<MyRequests> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: Colors.white, backgroundColor: Colors.white,
appBar: AppBarWidget( appBar: AppBarWidget(
context, context,
title: "Concurrent Reports", title: "Concurrent Reports",
),
body: Container(
width: double.infinity,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10),
boxShadow: [
BoxShadow(
color: const Color(0xff000000).withOpacity(.05),
blurRadius: 26,
offset: const Offset(0, -3),
),
],
), ),
body: Container( child: Column(
width: double.infinity, children: [
decoration: BoxDecoration( 12.height,
color: Colors.white, Container(
borderRadius: BorderRadius.circular(10), padding: const EdgeInsets.only(left: 12, right: 12, top: 10, bottom: 0),
boxShadow: [ margin: const EdgeInsets.only(left: 12, right: 12, top: 0, bottom: 0),
BoxShadow( child: PopupMenuButton(
color: const Color(0xff000000).withOpacity(.05), child: DynamicTextFieldWidget(
blurRadius: 26, "Template Name",
offset: const Offset(0, -3), selectedConcurrentProgramList?.uSERCONCURRENTPROGRAMNAME ?? "",
), isEnable: false,
], isPopup: true,
), isInputTypeNum: true,
child: Column( isReadOnly: false,
children: [ ).paddingOnly(bottom: 12),
12.height, itemBuilder: (_) => <PopupMenuItem<int>>[
Container( for (int i = 0; i < getConcurrentProgramsList!.length; i++) PopupMenuItem<int>(child: Text(getConcurrentProgramsList![i].uSERCONCURRENTPROGRAMNAME!), value: i),
padding: const EdgeInsets.only(left: 12, right: 12, top: 10, bottom: 0), ],
margin: const EdgeInsets.only(left: 12, right: 12, top: 0, bottom: 0), onSelected: (int popupIndex) {
child: PopupMenuButton( selectedConcurrentProgramList = getConcurrentProgramsList![popupIndex];
child: DynamicTextFieldWidget( getCCPTransactions(selectedConcurrentProgramList?.cONCURRENTPROGRAMNAME);
"Template Name", setState(() {});
selectedConcurrentProgramList?.uSERCONCURRENTPROGRAMNAME ?? "", }),
isEnable: false, ),
isPopup: true, 12.height,
isInputTypeNum: true, Expanded(
isReadOnly: false, child: ListView.separated(
).paddingOnly(bottom: 12), physics: const BouncingScrollPhysics(),
itemBuilder: (_) => <PopupMenuItem<int>>[ shrinkWrap: true,
for (int i = 0; i < getConcurrentProgramsList!.length; i++) PopupMenuItem<int>(child: Text(getConcurrentProgramsList![i].uSERCONCURRENTPROGRAMNAME!), value: i), itemBuilder: (BuildContext context, int index) {
], return Container(
onSelected: (int popupIndex) { width: double.infinity,
selectedConcurrentProgramList = getConcurrentProgramsList![popupIndex]; padding: const EdgeInsets.only(left: 12, right: 12, top: 10, bottom: 12),
getCCPTransactions(selectedConcurrentProgramList?.cONCURRENTPROGRAMNAME); margin: const EdgeInsets.only(left: 12, right: 12, top: 10, bottom: 0),
setState(() {}); decoration: BoxDecoration(
}), color: Colors.white,
), borderRadius: BorderRadius.circular(10),
12.height, boxShadow: [
Expanded( BoxShadow(
child: ListView.separated( color: const Color(0xff000000).withOpacity(.05),
physics: const BouncingScrollPhysics(), blurRadius: 26,
shrinkWrap: true, offset: const Offset(0, -3),
itemBuilder: (BuildContext context, int index) { ),
return Container( ],
width: double.infinity, ),
padding: const EdgeInsets.only(left: 12, right: 12, top: 10, bottom: 12), child: Column(
margin: const EdgeInsets.only(left: 12, right: 12, top: 10, bottom: 0), crossAxisAlignment: CrossAxisAlignment.start,
decoration: BoxDecoration( children: [
color: Colors.white, Row(
borderRadius: BorderRadius.circular(10), crossAxisAlignment: CrossAxisAlignment.start,
boxShadow: [ mainAxisAlignment: MainAxisAlignment.spaceBetween,
BoxShadow( children: [
color: const Color(0xff000000).withOpacity(.05), ("Request ID: " + getCCPTransactionsList[index].rEQUESTID.toString()).toText12(color: MyColors.grey57Color),
blurRadius: 26, DateUtil.formatDateToDate(DateUtil.convertStringToDate(getCCPTransactionsList[index].rEQUESTDATE!), false).toText12(color: MyColors.grey70Color),
offset: const Offset(0, -3), ],
), ),
], Container(
), padding: const EdgeInsets.only(top: 10.0),
child: Column( child: ("Phase: " + getCCPTransactionsList[index].cCPPHASE!).toText12(color: MyColors.grey57Color, isBold: true),
crossAxisAlignment: CrossAxisAlignment.start, ),
children: [ Container(
Row( padding: const EdgeInsets.only(top: 10.0),
crossAxisAlignment: CrossAxisAlignment.start, child: "Program Name: ".toText12(color: MyColors.grey57Color, isBold: true),
mainAxisAlignment: MainAxisAlignment.spaceBetween, ),
children: [ getCCPTransactionsList[index].cONCURRENTPROGRAMNAME!.toText12(color: MyColors.gradiantEndColor),
("Request ID: " + getCCPTransactionsList[index].rEQUESTID.toString()).toText12(color: MyColors.grey57Color), Container(
DateUtil.formatDateToDate(DateUtil.convertStringToDate(getCCPTransactionsList[index].rEQUESTDATE!), false).toText12(color: MyColors.grey70Color), padding: const EdgeInsets.only(top: 10.0),
], child: InkWell(
), onTap: () {
Container( getCCPOutput(getCCPTransactionsList[index].rEQUESTID.toString());
padding: const EdgeInsets.only(top: 10.0), },
child: ("Phase: " + getCCPTransactionsList[index].cCPPHASE!).toText12(color: MyColors.grey57Color, isBold: true), child: Row(
), children: [
Container( "Output: ".toText12(color: MyColors.grey57Color),
padding: const EdgeInsets.only(top: 10.0), 8.width,
child: "Program Name: ".toText12(color: MyColors.grey57Color, isBold: true), "Open PDF".toText12(color: MyColors.grey57Color),
), 6.width,
getCCPTransactionsList[index].cONCURRENTPROGRAMNAME!.toText12(color: MyColors.gradiantEndColor), const Icon(Icons.launch, size: 16.0),
Container( ],
padding: const EdgeInsets.only(top: 10.0),
child: InkWell(
onTap: () {
getCCPOutput(getCCPTransactionsList[index].rEQUESTID.toString());
},
child: Row(
children: [
"Output: ".toText12(color: MyColors.grey57Color),
8.width,
"Open PDF".toText12(color: MyColors.grey57Color),
6.width,
const Icon(Icons.launch, size: 16.0),
],
),
), ),
), ),
], ),
), ],
); ),
}, );
separatorBuilder: (BuildContext context, int index) => 12.height, },
itemCount: getCCPTransactionsList.length ?? 0)), separatorBuilder: (BuildContext context, int index) => 12.height,
80.height itemCount: getCCPTransactionsList.length ?? 0)),
], 80.height,
), Container(
decoration: const BoxDecoration(
color: MyColors.white,
boxShadow: [
BoxShadow(color: MyColors.lightGreyEFColor, spreadRadius: 3),
],
),
child: DefaultButton(LocaleKeys.createRequest.tr(), () async {
openNewRequest();
}).insideContainer,
)
],
), ),
bottomSheet: Container( ),
decoration: const BoxDecoration( );
color: MyColors.white,
boxShadow: [
BoxShadow(color: MyColors.lightGreyEFColor, spreadRadius: 3),
],
),
child: DefaultButton(LocaleKeys.createRequest.tr(), () async {
openNewRequest();
}).insideContainer,
));
} }
void openNewRequest() async { void openNewRequest() async {

@ -78,21 +78,23 @@ class _NewRequestState extends State<NewRequest> {
itemBuilder: (cxt, int parentIndex) => parseDynamicFormatType(getCCPDFFStructureModelList[parentIndex], parentIndex), itemBuilder: (cxt, int parentIndex) => parseDynamicFormatType(getCCPDFFStructureModelList[parentIndex], parentIndex),
separatorBuilder: (cxt, index) => 0.height, separatorBuilder: (cxt, index) => 0.height,
itemCount: getCCPDFFStructureModelList.length)) itemCount: getCCPDFFStructureModelList.length))
.expanded .expanded,
Container(
decoration: const BoxDecoration(
color: MyColors.white,
boxShadow: [
BoxShadow(color: MyColors.lightGreyEFColor, spreadRadius: 3),
],
),
child: DefaultButton(LocaleKeys.submit.tr(), () async {
// openNewRequest();
})
.insideContainer,
)
], ],
), ),
), ),
bottomSheet: Container( // bottomSheet:
decoration: const BoxDecoration(
color: MyColors.white,
boxShadow: [
BoxShadow(color: MyColors.lightGreyEFColor, spreadRadius: 3),
],
),
child: DefaultButton(LocaleKeys.submit.tr(), () async {
// openNewRequest();
}).insideContainer,
)
); );
} }
@ -412,8 +414,7 @@ class _NewRequestState extends State<NewRequest> {
), ),
); );
} else { } else {
DateTime? picked = DateTime? picked = await showDatePicker(context: context, initialDate: selectedDate, initialEntryMode: DatePickerEntryMode.calendarOnly, firstDate: DateTime(2015, 8), lastDate: DateTime(2101));
await showDatePicker(context: context, initialDate: selectedDate, initialEntryMode: DatePickerEntryMode.calendarOnly, firstDate: DateTime(2015, 8), lastDate: DateTime(2101));
if (picked != null && picked != selectedDate) { if (picked != null && picked != selectedDate) {
time = picked; time = picked;
} }

@ -167,63 +167,46 @@ class _OffersAndDiscountsDetailsState extends State<OffersAndDiscountsDetails> {
} }
Widget getItemCard(OffersListModel getOffersList) { Widget getItemCard(OffersListModel getOffersList) {
return InkWell( return Column(
onTap: () { crossAxisAlignment: CrossAxisAlignment.start,
this.getOffersList[0] = getOffersList; mainAxisSize: MainAxisSize.min,
_scrollToTop(); children: [
setState(() {}); Hero(
}, tag: "ItemImage" + getOffersList.rowID!,
child: Container( transitionOnUserGestures: true,
padding: const EdgeInsets.all(10.0), child: AspectRatio(
decoration: BoxDecoration( aspectRatio: 148 / 127,
color: Colors.white, child: ClipRRect(
borderRadius: BorderRadius.circular(10), borderRadius: BorderRadius.circular(6),
boxShadow: [ child: Image.network(
BoxShadow( getOffersList.bannerImage!,
color: const Color(0xff000000).withOpacity(.05), fit: BoxFit.contain,
blurRadius: 26,
offset: const Offset(0, -3),
),
],
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
Hero(
tag: "ItemImage" + getOffersList.rowID!,
transitionOnUserGestures: true,
child: AspectRatio(
aspectRatio: 148 / 127,
child: ClipRRect(
borderRadius: BorderRadius.circular(6),
child: Image.network(
getOffersList.bannerImage!,
fit: BoxFit.contain,
),
),
), ),
), ),
5.height, ),
getOffersList.title!.toText16(isBold: true, color: const Color(0xff2B353E), maxlines: 1),
// Html(
// data: AppState().isArabic(context) ? getOffersList.descriptionAR! : getOffersList.description ?? "",
// // onLinkTap: (String? url, RenderContext context, Map<String, String> attributes, _) {
// // launchUrl(Uri.parse(url!));
// // }
// ),
getOffersList.description!.toText12(maxLine: 2, color: const Color(0xff535353)),
16.height,
getOffersList.discount!.toText14(isBold: true, maxlines: 1),
10.height,
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [checkDate(getOffersList.endDate!), SvgPicture.asset("assets/images/arrow_next.svg").paddingOnly(bottom: 4)],
),
],
), ),
), 5.height,
); getOffersList.title!.toText16(isBold: true, color: const Color(0xff2B353E), maxlines: 1),
// Html(
// data: AppState().isArabic(context) ? getOffersList.descriptionAR! : getOffersList.description ?? "",
// // onLinkTap: (String? url, RenderContext context, Map<String, String> attributes, _) {
// // launchUrl(Uri.parse(url!));
// // }
// ),
getOffersList.description!.toText12(maxLine: 2, color: const Color(0xff535353)),
16.height,
getOffersList.discount!.toText14(isBold: true, maxlines: 1),
8.height,
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [checkDate(getOffersList.endDate!), SvgPicture.asset("assets/images/arrow_next.svg").paddingOnly(bottom: 4)],
),
],
).objectContainerView().onPress(() {
this.getOffersList[0] = getOffersList;
_scrollToTop();
setState(() {});
});
} }
void getOfferLocation() {} void getOfferLocation() {}

Loading…
Cancel
Save