diff --git a/lib/views/messageview.dart b/lib/views/messageview.dart index bf893f32..ffe2b3ac 100644 --- a/lib/views/messageview.dart +++ b/lib/views/messageview.dart @@ -43,6 +43,7 @@ class _MessageViewState extends State { int selectedContact = -1; ItemPositionsListener scrollListener = ItemPositionsListener.create(); File? imagePreview; + bool showDown = false; @override void initState() { @@ -53,6 +54,15 @@ class _MessageViewState extends State { Provider.of(context, listen: false).initialScrollIndex = 0; Provider.of(context, listen: false).unreadMessagesBelow = false; } + + + if (scrollListener.itemPositions.value.length != 0 && + !scrollListener.itemPositions.value.any((element) => element.index == 0)) { + showDown = true; + } else { + showDown = false; + } + }); super.initState(); } @@ -127,7 +137,7 @@ class _MessageViewState extends State { onWillPop: _onWillPop, child: Scaffold( backgroundColor: Provider.of(context).theme.backgroundMainColor, - floatingActionButton: appState.unreadMessagesBelow + floatingActionButton: showDown ? FloatingActionButton( child: Icon(Icons.arrow_downward, color: Provider.of(context).current().defaultButtonTextColor), onPressed: () {