|
|
|
@ -277,61 +277,65 @@ class _DashboardScreenState extends State<DashboardScreen> {
|
|
|
|
|
child: LocaleKeys.viewAllOffers.tr().toText12(isUnderLine: true)),
|
|
|
|
|
],
|
|
|
|
|
).paddingOnly(left: 21, right: 21),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 103 + 33,
|
|
|
|
|
child: ListView.separated(
|
|
|
|
|
shrinkWrap: true,
|
|
|
|
|
physics: const BouncingScrollPhysics(),
|
|
|
|
|
padding: const EdgeInsets.only(left: 21, right: 21, top: 13),
|
|
|
|
|
scrollDirection: Axis.horizontal,
|
|
|
|
|
itemBuilder: (cxt, index) {
|
|
|
|
|
return data.getOffersList.isNotEmpty
|
|
|
|
|
? InkWell(
|
|
|
|
|
onTap: () {
|
|
|
|
|
navigateToDetails(data.getOffersList[index]);
|
|
|
|
|
},
|
|
|
|
|
child: SizedBox(
|
|
|
|
|
width: 73,
|
|
|
|
|
child: Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
|
children: [
|
|
|
|
|
Container(
|
|
|
|
|
width: 73,
|
|
|
|
|
height: 73,
|
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
|
borderRadius: const BorderRadius.all(
|
|
|
|
|
Radius.circular(100),
|
|
|
|
|
),
|
|
|
|
|
border: Border.all(color: MyColors.lightGreyEDColor, width: 1),
|
|
|
|
|
),
|
|
|
|
|
child: ClipRRect(
|
|
|
|
|
borderRadius: const BorderRadius.all(
|
|
|
|
|
Radius.circular(50),
|
|
|
|
|
),
|
|
|
|
|
child: Hero(
|
|
|
|
|
tag: "ItemImage" + data.getOffersList[index].rowID!,
|
|
|
|
|
transitionOnUserGestures: true,
|
|
|
|
|
child: Image.network(
|
|
|
|
|
data.getOffersList[index].bannerImage!,
|
|
|
|
|
fit: BoxFit.contain,
|
|
|
|
|
Consumer<DashboardProviderModel>(
|
|
|
|
|
builder: (context, model, child) {
|
|
|
|
|
return SizedBox(
|
|
|
|
|
height: 103 + 33,
|
|
|
|
|
child: ListView.separated(
|
|
|
|
|
shrinkWrap: true,
|
|
|
|
|
physics: const BouncingScrollPhysics(),
|
|
|
|
|
padding: const EdgeInsets.only(left: 21, right: 21, top: 13),
|
|
|
|
|
scrollDirection: Axis.horizontal,
|
|
|
|
|
itemBuilder: (cxt, index) {
|
|
|
|
|
return model.isOffersLoading
|
|
|
|
|
? const OffersShimmerWidget()
|
|
|
|
|
: InkWell(
|
|
|
|
|
onTap: () {
|
|
|
|
|
navigateToDetails(data.getOffersList[index]);
|
|
|
|
|
},
|
|
|
|
|
child: SizedBox(
|
|
|
|
|
width: 73,
|
|
|
|
|
child: Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
|
children: [
|
|
|
|
|
Container(
|
|
|
|
|
width: 73,
|
|
|
|
|
height: 73,
|
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
|
borderRadius: const BorderRadius.all(
|
|
|
|
|
Radius.circular(100),
|
|
|
|
|
),
|
|
|
|
|
border: Border.all(color: MyColors.lightGreyEDColor, width: 1),
|
|
|
|
|
),
|
|
|
|
|
child: ClipRRect(
|
|
|
|
|
borderRadius: const BorderRadius.all(
|
|
|
|
|
Radius.circular(50),
|
|
|
|
|
),
|
|
|
|
|
child: Hero(
|
|
|
|
|
tag: "ItemImage" + data.getOffersList[index].rowID!,
|
|
|
|
|
transitionOnUserGestures: true,
|
|
|
|
|
child: Image.network(
|
|
|
|
|
data.getOffersList[index].bannerImage!,
|
|
|
|
|
fit: BoxFit.contain,
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
4.height,
|
|
|
|
|
Expanded(
|
|
|
|
|
child: AppState().isArabic(context)
|
|
|
|
|
? data.getOffersList[index].titleAR!.toText12(isCenter: true, maxLine: 1)
|
|
|
|
|
: data.getOffersList[index].title!.toText12(isCenter: true, maxLine: 1),
|
|
|
|
|
4.height,
|
|
|
|
|
Expanded(
|
|
|
|
|
child: AppState().isArabic(context)
|
|
|
|
|
? data.getOffersList[index].titleAR!.toText12(isCenter: true, maxLine: 1)
|
|
|
|
|
: data.getOffersList[index].title!.toText12(isCenter: true, maxLine: 1),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
)
|
|
|
|
|
: const OffersShimmerWidget();
|
|
|
|
|
},
|
|
|
|
|
separatorBuilder: (cxt, index) => 8.width,
|
|
|
|
|
itemCount: 6),
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
separatorBuilder: (cxt, index) => 8.width,
|
|
|
|
|
itemCount: 6),
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|