diff --git a/lib/pages/chat_list/chat_list_body.dart b/lib/pages/chat_list/chat_list_body.dart index 71b295e5..a59b7e9d 100644 --- a/lib/pages/chat_list/chat_list_body.dart +++ b/lib/pages/chat_list/chat_list_body.dart @@ -14,7 +14,6 @@ import 'package:fluffychat/pages/chat_list/spaces_entry.dart'; import 'package:fluffychat/pages/chat_list/stories_header.dart'; import 'package:fluffychat/utils/url_launcher.dart'; import 'package:fluffychat/widgets/avatar.dart'; -import 'package:fluffychat/widgets/connection_status_header.dart'; import 'package:fluffychat/widgets/profile_bottom_sheet.dart'; import 'package:fluffychat/widgets/public_room_bottom_sheet.dart'; import '../../utils/stream_extension.dart'; @@ -76,7 +75,6 @@ class _ChatListViewBodyState extends State { return Column( mainAxisSize: MainAxisSize.min, children: [ - const ConnectionStatusHeader(), SpaceRoomListTopBar(widget.controller), if (roomSearchResult != null) ...[ SearchTitle( diff --git a/lib/pages/chat_list/chat_list_view.dart b/lib/pages/chat_list/chat_list_view.dart index 0b1b2216..8fc6b91c 100644 --- a/lib/pages/chat_list/chat_list_view.dart +++ b/lib/pages/chat_list/chat_list_view.dart @@ -7,6 +7,7 @@ import 'package:vrouter/vrouter.dart'; import 'package:fluffychat/pages/chat_list/chat_list.dart'; import 'package:fluffychat/pages/chat_list/chat_list_drawer.dart'; +import 'package:fluffychat/widgets/connection_status_header.dart'; import '../../widgets/matrix.dart'; import 'chat_list_body.dart'; import 'chat_list_header.dart'; @@ -33,6 +34,7 @@ class ChatListView extends StatelessWidget { appBar: ChatListHeader(controller: controller), body: ChatListViewBody(controller), drawer: ChatListDrawer(controller), + bottomNavigationBar: const ConnectionStatusHeader(), floatingActionButton: selectMode == SelectMode.normal ? KeyBoardShortcuts( child: diff --git a/lib/widgets/connection_status_header.dart b/lib/widgets/connection_status_header.dart index 2bfc83e8..a62864c3 100644 --- a/lib/widgets/connection_status_header.dart +++ b/lib/widgets/connection_status_header.dart @@ -34,11 +34,12 @@ class _ConnectionStatusHeaderState extends State { @override Widget build(BuildContext context) { - final status = Matrix.of(context).client.onSyncStatus.value ?? + final client = Matrix.of(context).client; + final status = client.onSyncStatus.value ?? const SyncStatusUpdate(SyncStatus.waitingForResponse); - final hide = Matrix.of(context).client.onSync.value != null && + final hide = client.onSync.value != null && status.status != SyncStatus.error && - Matrix.of(context).client.prevBatch != null; + client.prevBatch != null; return AnimatedContainer( duration: const Duration(milliseconds: 200),