From 5feaed1d42ddacaf22b4c42b814020319bb21713 Mon Sep 17 00:00:00 2001 From: Kelrap Date: Fri, 31 May 2024 14:17:45 -0400 Subject: [PATCH] Close chat selection menu asap --- lib/pages/chat_list/space_view.dart | 63 ++++++++++++++++------------- 1 file changed, 34 insertions(+), 29 deletions(-) diff --git a/lib/pages/chat_list/space_view.dart b/lib/pages/chat_list/space_view.dart index 0fb584be5..c95ba9007 100644 --- a/lib/pages/chat_list/space_view.dart +++ b/lib/pages/chat_list/space_view.dart @@ -285,14 +285,16 @@ class _SpaceViewState extends State { // #Pangea widget.controller.cancelAction(); if (room == null) return; - widget.controller.toggleSelection(room.id); - room.isSpace - ? await room.leaveSpace( - context, - Matrix.of(context).client, - ) - : await widget.controller.leaveAction(); - widget.controller.selectedRoomIds.clear(); + if (room.isSpace) { + await room.leaveSpace( + context, + Matrix.of(context).client, + ); + } else { + widget.controller.toggleSelection(room.id); + await widget.controller.leaveAction(); + widget.controller.toggleSelection(room.id); + } _refresh(); break; // await showFutureLoadingDialog( @@ -311,27 +313,28 @@ class _SpaceViewState extends State { case SpaceChildContextAction.archive: widget.controller.cancelAction(); // #Pangea - widget.controller.selectedRoomIds.clear(); if (room == null) return; - // Pangea# - widget.controller.toggleSelection(room.id); - room.isSpace - // #Pangea - // ? await showFutureLoadingDialog( - // context: context, - // future: () async { - // await room.archiveSpace( - // Matrix.of(context).client, - // ); - // widget.controller.selectedRoomIds.clear(); - // }, - // ) - // : await widget.controller.archiveAction(); - ? await room.archiveSpace( - context, - Matrix.of(context).client, - ) - : await widget.controller.archiveAction(); + // room.isSpace + // ? await showFutureLoadingDialog( + // context: context, + // future: () async { + // await room.archiveSpace( + // Matrix.of(context).client, + // ); + // widget.controller.selectedRoomIds.clear(); + // }, + // ) + // : await widget.controller.archiveAction(); + if (room.isSpace) { + await room.archiveSpace( + context, + Matrix.of(context).client, + ); + } else { + widget.controller.toggleSelection(room.id); + await widget.controller.archiveAction(); + widget.controller.toggleSelection(room.id); + } // Pangea# _refresh(); break; @@ -342,8 +345,10 @@ class _SpaceViewState extends State { // Pangea# widget.controller.toggleSelection(room.id); await widget.controller.addToSpace(); + // #Pangea + setState(() => widget.controller.selectedRoomIds.clear()); + // Pangea# break; - // Pangea# } }