From 4a712ffed469576e81f016604a94a92eb27b174f Mon Sep 17 00:00:00 2001 From: zoe Date: Mon, 15 Aug 2022 17:13:29 +0200 Subject: [PATCH] scroll animation --- lib/pages/timeline/timeline.dart | 23 ++++++++++++++++------- lib/partials/main_scaffold.dart | 1 - 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/lib/pages/timeline/timeline.dart b/lib/pages/timeline/timeline.dart index 4bab854..02b16bb 100644 --- a/lib/pages/timeline/timeline.dart +++ b/lib/pages/timeline/timeline.dart @@ -196,14 +196,23 @@ class TimelineState extends State with AutomaticKeepAliveClientMixin { } void reload() async { - setState(() { - children = [const LoadingBox()]; - oldestId = null; - }); + controller.animateTo( + 0, + duration: const Duration(seconds: 1), + curve: Curves.easeOut, + ); + if (mounted) { + setState(() { + children = [const LoadingBox()]; + oldestId = null; + }); + } await _waitForFetchMore(); - setState(() { - fetchMore(); - }); + if (mounted) { + setState(() { + fetchMore(); + }); + } } Future _waitForFetchMore() async { diff --git a/lib/partials/main_scaffold.dart b/lib/partials/main_scaffold.dart index fc6a5f2..087ca10 100644 --- a/lib/partials/main_scaffold.dart +++ b/lib/partials/main_scaffold.dart @@ -5,7 +5,6 @@ import 'package:loris/pages/chat/chat.dart'; import 'package:loris/pages/notifications/notifications.dart'; import 'package:loris/pages/timeline/timeline.dart'; import 'package:loris/pages/settings/settings.dart'; -import '../global.dart' as global; import '../business_logic/websocket.dart' as websocket; import '../pages/timeline/timeline.dart' as tl;