From 6cfdd35f589e8e08c86e6c9b21dc5a19713eb738 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Thu, 22 Jan 2026 12:13:24 -0500 Subject: [PATCH] chore: hide invite all in space button if everyone from space is already in room (#5340) --- .../pages/pangea_invitation_selection.dart | 14 ++++++++++++++ .../pages/pangea_invitation_selection_view.dart | 4 +--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/pangea/chat_settings/pages/pangea_invitation_selection.dart b/lib/pangea/chat_settings/pages/pangea_invitation_selection.dart index abcbf06c4..e7d5e5d92 100644 --- a/lib/pangea/chat_settings/pages/pangea_invitation_selection.dart +++ b/lib/pangea/chat_settings/pages/pangea_invitation_selection.dart @@ -148,6 +148,20 @@ class PangeaInvitationSelectionController return parents.first; } + bool get showInviteAllInSpaceButton { + final roomParticipants = participants; + if (roomParticipants == null || + filter != InvitationFilter.space || + spaceParent == null) { + return false; + } + + final spaceParticipants = spaceParent!.getParticipants(); + return spaceParticipants.any( + (participant) => !roomParticipants.any((p) => p.id == participant.id), + ); + } + List get availableFilters => InvitationFilter.values .where( (f) => switch (f) { diff --git a/lib/pangea/chat_settings/pages/pangea_invitation_selection_view.dart b/lib/pangea/chat_settings/pages/pangea_invitation_selection_view.dart index f06160d88..0b050a1ed 100644 --- a/lib/pangea/chat_settings/pages/pangea_invitation_selection_view.dart +++ b/lib/pangea/chat_settings/pages/pangea_invitation_selection_view.dart @@ -184,9 +184,7 @@ class PangeaInvitationSelectionView extends StatelessWidget { itemCount: contacts.length + 2, itemBuilder: (BuildContext context, int i) { if (i == 0) { - return controller.filter == - InvitationFilter.space && - controller.spaceParent != null + return controller.showInviteAllInSpaceButton ? ListTile( leading: ClipPath( clipper: MapClipper(),