fix: Scroll down button

This commit is contained in:
Krille 2023-05-09 15:14:35 +02:00
parent 5cd6cf79a2
commit 623c3bfc2e
No known key found for this signature in database

View File

@ -151,7 +151,10 @@ class ChatController extends State<ChatPageWithRoom> {
Event? editEvent; Event? editEvent;
bool showScrollDownButton = false; bool _scrolledUp = false;
bool get showScrollDownButton =>
_scrolledUp || timeline?.allowNewEvent == false;
bool get selectMode => selectedEvents.isNotEmpty; bool get selectMode => selectedEvents.isNotEmpty;
@ -247,11 +250,10 @@ class ChatController extends State<ChatPageWithRoom> {
requestFuture(); requestFuture();
} }
if (timeline?.allowNewEvent == false || if (timeline?.allowNewEvent == false ||
scrollController.position.pixels > 0 && showScrollDownButton == false) { scrollController.position.pixels > 0 && _scrolledUp == false) {
setState(() => showScrollDownButton = true); setState(() => _scrolledUp = true);
} else if (scrollController.position.pixels == 0 && } else if (scrollController.position.pixels == 0 && _scrolledUp == true) {
showScrollDownButton == true) { setState(() => _scrolledUp = false);
setState(() => showScrollDownButton = false);
} }
} }
@ -805,6 +807,7 @@ class ChatController extends State<ChatPageWithRoom> {
if (eventIndex == -1) { if (eventIndex == -1) {
setState(() { setState(() {
timeline = null; timeline = null;
_scrolledUp = false;
loadTimelineFuture = _getTimeline( loadTimelineFuture = _getTimeline(
eventContextId: eventId, eventContextId: eventId,
timeout: const Duration(seconds: 30), timeout: const Duration(seconds: 30),
@ -827,6 +830,7 @@ class ChatController extends State<ChatPageWithRoom> {
if (!timeline!.allowNewEvent) { if (!timeline!.allowNewEvent) {
setState(() { setState(() {
timeline = null; timeline = null;
_scrolledUp = false;
loadTimelineFuture = _getTimeline(); loadTimelineFuture = _getTimeline();
}); });
await loadTimelineFuture; await loadTimelineFuture;