diff --git a/lib/pangea/activity_sessions/activity_session_start/activity_session_start_page.dart b/lib/pangea/activity_sessions/activity_session_start/activity_session_start_page.dart index afd13bc35..468a166cd 100644 --- a/lib/pangea/activity_sessions/activity_session_start/activity_session_start_page.dart +++ b/lib/pangea/activity_sessions/activity_session_start/activity_session_start_page.dart @@ -116,13 +116,21 @@ class ActivitySessionStartController extends State false; SessionState get state { - if (activityRoom?.hasPickedRole == true) return SessionState.confirmedRole; - if (_selectedRoleId != null) return SessionState.selectedRole; - if (activityRoom == null) { + if (activityRoom?.membership == Membership.join && + activityRoom?.hasPickedRole == true) { + return SessionState.confirmedRole; + } + + if (_selectedRoleId != null) { + return SessionState.selectedRole; + } + + if (activityRoom == null || activityRoom!.membership != Membership.join) { return widget.roomId != null || widget.launch ? SessionState.notSelectedRole : SessionState.notStarted; } + return SessionState.notSelectedRole; } diff --git a/lib/pangea/chat_settings/widgets/chat_context_menu_action.dart b/lib/pangea/chat_settings/widgets/chat_context_menu_action.dart index c00d209c8..281311ff7 100644 --- a/lib/pangea/chat_settings/widgets/chat_context_menu_action.dart +++ b/lib/pangea/chat_settings/widgets/chat_context_menu_action.dart @@ -161,7 +161,7 @@ void chatContextMenuAction( ], ), ), - if (!room.isActivitySession || room.ownRole == null) + if (!room.isActivitySession || !room.isActivityStarted) PopupMenuItem( value: ChatContextAction.leave, child: Row(