fix: if user is in activity room, use room info to populate activity roles (#4702)

This commit is contained in:
ggurdin 2025-11-20 09:49:46 -05:00 committed by GitHub
parent 5f296f16d0
commit 0d2175d677
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 9 additions and 6 deletions

View file

@ -8,6 +8,7 @@ import 'package:matrix/matrix.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:fluffychat/pangea/activity_planner/activity_plan_model.dart';
import 'package:fluffychat/pangea/activity_sessions/activity_role_model.dart';
import 'package:fluffychat/pangea/activity_sessions/activity_room_extension.dart';
import 'package:fluffychat/pangea/activity_sessions/activity_session_start/activity_sessions_start_view.dart';
import 'package:fluffychat/pangea/activity_sessions/activity_session_start/bot_join_error_dialog.dart';
@ -147,6 +148,13 @@ class ActivitySessionStartController extends State<ActivitySessionStartPage>
SessionState.selectedRole,
].contains(state);
Map<String, ActivityRoleModel> get assignedRoles {
if (activityRoom != null && activityRoom!.membership == Membership.join) {
return activityRoom!.assignedRoles ?? {};
}
return roomSummaries?[widget.roomId]?.activityRoles.roles ?? {};
}
bool canSelectParticipant(String id) {
if (state == SessionState.confirmedRole ||
state == SessionState.notStarted) {

View file

@ -151,12 +151,7 @@ class ActivitySessionStartView extends StatelessWidget {
controller.isParticipantSelected,
canSelectParticipant:
controller.canSelectParticipant,
assignedRoles: controller
.roomSummaries?[
controller.widget.roomId]
?.activityRoles
.roles ??
{},
assignedRoles: controller.assignedRoles,
),
],
),