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: [