import 'package:card_swiper/card_swiper.dart'; import 'package:flutter/material.dart'; import 'package:job_app/config/palette.dart'; import 'package:job_app/services/add_offer_to_user.dart'; import 'package:job_app/services/payment_offers.dart'; import 'package:job_app/singletons/payment_offers.dart'; import 'package:job_app/widgets/payment_offer_container.dart'; class PaymentOffers extends StatefulWidget { const PaymentOffers({Key key}) : super(key: key); @override _PaymentOffersState createState() => _PaymentOffersState(); } class _PaymentOffersState extends State { PaymentOffersService paymentOffersService=PaymentOffersService(); int listLength; int currentIndex=0; Future getPayments()async{ await paymentOffersService.getPaymentOffers(); setState(() { listLength = paymentOffersSingleTons.paymentOffers.length; }); } @override void initState() { // TODO: implement initState super.initState(); getPayments(); } Widget build(BuildContext context) { return Scaffold( body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Container( height: 360, width: double.maxFinite, child: listLength!=null?Swiper( itemBuilder: (BuildContext context,int index){ return CustomOffer(index: index,); }, pagination: SwiperCustomPagination( builder: (context,config){ return SizedBox( ); } ), itemCount: listLength, onIndexChanged: (val){ setState(() { currentIndex=val; }); }, control: SwiperControl( color: Colors.transparent ), viewportFraction: 0.58, //0.5 scale: 0.4, //0.4 ):SizedBox(), ), listLength!=null?Padding( padding: const EdgeInsets.fromLTRB(30, 40, 30, 0), child: Container( width: double.infinity, height: 45, decoration: BoxDecoration( color: Palette.primary, borderRadius: BorderRadius.circular(8)), child: TextButton( onPressed: () async { AddOfferToUserService addOfferToUser= AddOfferToUserService(); await addOfferToUser.addOfferToUser(paymentOffersSingleTons.paymentOffers[currentIndex].id.toString()); if(addOfferToUser.isOfferSucceed){ Navigator.pop(context); } else{ Navigator.pushReplacementNamed(context, '/login_register'); } }, child: Text( "Continue", style: TextStyle( fontSize: 22, color: Colors.white, fontFamily: 'MontserratRegular'), )), ), ):SizedBox(), ], ), ), ); } }