I am using this to present items and don't distinguish between L/R swipes. After swiping thru all items, I rebuild the view, however, the TinderSwapCard widget remains empty. Is there a way to tell the TinderSwapCard to rebuild after last item is swiped? Don't know if this is a bug or enhancement request.
Below is what I am trying to do, but even though I rebuild, TinderSwapCard never updates after the last card is dismissed.
import 'package:my_app/Components/itemRequest.dart';
import 'package:my_app/Screen/Request/requestDetail.dart';
import 'package:my_app/data/Model/item.dart';
import 'package:flutter_tindercard/flutter_tindercard.dart';
class CardsContainer extends StatefulWidget {
final List<Item> items;
const CardsContainer({Key key, @required this.items}) : super(key: key);
@override
_CardsContainerState createState() => _CardsContainerState();
}
class _CardsContainerState extends State<CardsContainer> {
TinderSwapCard cards;
@override
Widget build(BuildContext context) {
if (cards == null) {
cards = buildCards();
}
return Container(
height: 330,
child: cards,
);
}
TinderSwapCard buildCards() {
return TinderSwapCard(
orientation: AmassOrientation.BOTTOM,
totalNum: widget.items.length,
stackNum: 5,
maxWidth: MediaQuery.of(context).size.width,
minWidth: MediaQuery.of(context).size.width * 0.9,
maxHeight: MediaQuery.of(context).size.width * 0.9,
minHeight: MediaQuery.of(context).size.width * 0.85,
cardBuilder: (context, index) => ItemRequest(
avatar: widget.items[index].avatar,
userName: widget.items[index].name,
date: widget.items[index].date.toString(),
onTap: (){
Navigator.of(context).push(MaterialPageRoute(builder: (context) => ItemDetail()));
},
),
swipeCompleteCallback: (CardSwipeOrientation orientation, int index) {
//
// TRYING TO REBUILD CARD WIDGET TO DISPLAY ALL CARDS AGAIN
//
if (index == widget.items.length-1) {
setState(() {
cards = null;
});
}
}
);
}
}```