fix: if user is in activity room, use room info to populate activity roles (#4702)
This commit is contained in:
parent
5f296f16d0
commit
0d2175d677
2 changed files with 9 additions and 6 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -151,12 +151,7 @@ class ActivitySessionStartView extends StatelessWidget {
|
|||
controller.isParticipantSelected,
|
||||
canSelectParticipant:
|
||||
controller.canSelectParticipant,
|
||||
assignedRoles: controller
|
||||
.roomSummaries?[
|
||||
controller.widget.roomId]
|
||||
?.activityRoles
|
||||
.roles ??
|
||||
{},
|
||||
assignedRoles: controller.assignedRoles,
|
||||
),
|
||||
],
|
||||
),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue