From d9df95b6d26cb266a204f163ba0ae6ad88168134 Mon Sep 17 00:00:00 2001 From: ludelanier Date: Sun, 26 Nov 2023 15:48:09 +0100 Subject: [PATCH] trigger method when end of the feed --- Sources/justMUSIC/lib/screens/feed_screen.dart | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Sources/justMUSIC/lib/screens/feed_screen.dart b/Sources/justMUSIC/lib/screens/feed_screen.dart index a22ecb8..d20c400 100644 --- a/Sources/justMUSIC/lib/screens/feed_screen.dart +++ b/Sources/justMUSIC/lib/screens/feed_screen.dart @@ -25,13 +25,15 @@ class _FeedScreenState extends State with SingleTickerProviderStateM late Animation animation; late List friendFeed; Timer? timer; - + var page = 0; late List discoveryFeed; late Tuple2, List> displayFeed; bool isDismissed = true; bool choiceFeed = true; PageController controller = PageController(); + + @override void initState() { super.initState(); @@ -127,6 +129,14 @@ class _FeedScreenState extends State with SingleTickerProviderStateM Tuple2(MyApp.postViewModel.postsFriends.reversed.toList(), MyApp.postViewModel.bestPosts.reversed.toList()); bool empty = (choiceFeed == true && displayFeed.item1.isEmpty) || (choiceFeed == false && displayFeed.item2.isEmpty); + ScrollController _scrollController = ScrollController(); + _scrollController.addListener(() { + if (_scrollController.position.maxScrollExtent == + _scrollController.position.pixels) { + print("fin"); + } + }); + return Scaffold( resizeToAvoidBottomInset: false, backgroundColor: bgColor, @@ -185,6 +195,7 @@ class _FeedScreenState extends State with SingleTickerProviderStateM physics: const BouncingScrollPhysics(parent: AlwaysScrollableScrollPhysics()), clipBehavior: Clip.none, shrinkWrap: false, + controller: _scrollController, itemCount: displayFeed.item1.length, itemBuilder: (BuildContext context, int index) { return Padding( @@ -213,6 +224,7 @@ class _FeedScreenState extends State with SingleTickerProviderStateM triggerMode: RefreshIndicatorTriggerMode.onEdge, onRefresh: _refresh, child: ListView.builder( + controller: _scrollController, physics: const BouncingScrollPhysics(parent: AlwaysScrollableScrollPhysics()), clipBehavior: Clip.none, shrinkWrap: false,