From 742dcb8f4195b32bc05427ab5972153be72f042b Mon Sep 17 00:00:00 2001 From: Krille Date: Fri, 31 Mar 2023 12:18:24 +0200 Subject: [PATCH] chore: ScrollToEventId duration for jump in timeline --- lib/pages/chat/chat.dart | 3 ++- lib/pages/chat/chat_view.dart | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/pages/chat/chat.dart b/lib/pages/chat/chat.dart index 93177319..54f8eb81 100644 --- a/lib/pages/chat/chat.dart +++ b/lib/pages/chat/chat.dart @@ -783,7 +783,7 @@ class ChatController extends State { inputFocus.requestFocus(); } - void scrollToEventId(String eventId) async { + void scrollToEventId(String eventId, {Duration? duration}) async { var eventIndex = timeline!.events.indexWhere((e) => e.eventId == eventId); if (eventIndex == -1) { setState(() { @@ -799,6 +799,7 @@ class ChatController extends State { await scrollController.scrollToIndex( eventIndex, preferPosition: AutoScrollPosition.middle, + duration: duration ?? scrollAnimationDuration, ); _updateScrollController(); } diff --git a/lib/pages/chat/chat_view.dart b/lib/pages/chat/chat_view.dart index d2ff66c2..76d1843f 100644 --- a/lib/pages/chat/chat_view.dart +++ b/lib/pages/chat/chat_view.dart @@ -345,8 +345,10 @@ class ChatView extends StatelessWidget { child: Center( child: FloatingActionButton.extended( icon: const Icon(Icons.arrow_upward_outlined), - onPressed: () => controller - .scrollToEventId(controller.room.fullyRead), + onPressed: () => controller.scrollToEventId( + controller.room.fullyRead, + duration: Duration.zero, + ), label: Row( mainAxisSize: MainAxisSize.min, children: [