diff --git a/lib/pangea/course_chats/activity_template_chat_list_item.dart b/lib/pangea/course_chats/activity_template_chat_list_item.dart index 4c32d3d5e..6396be97f 100644 --- a/lib/pangea/course_chats/activity_template_chat_list_item.dart +++ b/lib/pangea/course_chats/activity_template_chat_list_item.dart @@ -4,7 +4,6 @@ import 'package:matrix/matrix.dart'; import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/l10n/l10n.dart'; -import 'package:fluffychat/pangea/activity_planner/activity_plan_model.dart'; import 'package:fluffychat/pangea/common/widgets/url_image_widget.dart'; import 'package:fluffychat/pangea/course_chats/extended_space_rooms_chunk.dart'; import 'package:fluffychat/pangea/course_chats/open_roles_indicator.dart'; @@ -13,20 +12,19 @@ import 'package:fluffychat/widgets/future_loading_dialog.dart'; class ActivityTemplateChatListItem extends StatelessWidget { final Room space; - final ActivityPlanModel activity; final List sessions; final Function(ExtendedSpaceRoomsChunk) joinActivity; const ActivityTemplateChatListItem({ super.key, required this.space, - required this.activity, required this.sessions, required this.joinActivity, }); @override Widget build(BuildContext context) { + final activity = sessions.first.activity; return Padding( padding: const EdgeInsets.symmetric( horizontal: 8, @@ -82,7 +80,7 @@ class ActivityTemplateChatListItem extends StatelessWidget { children: [ Expanded( child: OpenRolesIndicator( - roles: activity.roles.values.toList(), + roles: e.activity.roles.values.toList(), assignedRoles: e.assignedRoles, space: space, ), diff --git a/lib/pangea/course_chats/course_chats_page.dart b/lib/pangea/course_chats/course_chats_page.dart index b3de44e39..7b0b3389a 100644 --- a/lib/pangea/course_chats/course_chats_page.dart +++ b/lib/pangea/course_chats/course_chats_page.dart @@ -9,7 +9,6 @@ import 'package:matrix/matrix.dart'; import 'package:fluffychat/l10n/l10n.dart'; import 'package:fluffychat/pages/chat_list/chat_list.dart'; -import 'package:fluffychat/pangea/activity_planner/activity_plan_model.dart'; import 'package:fluffychat/pangea/activity_sessions/activity_room_extension.dart'; import 'package:fluffychat/pangea/chat_list/widgets/public_room_bottom_sheet.dart'; import 'package:fluffychat/pangea/chat_settings/constants/pangea_room_types.dart'; @@ -115,10 +114,9 @@ class CourseChatsController extends State ) .toList(); - Map> discoveredActivities() { + Map> discoveredActivities() { if (discoveredChildren == null || roomSummaries == null) return {}; - final Map> sessionsMap = - {}; + final Map> sessionsMap = {}; final validIDs = course?.activityIDs ?? {}; for (final chunk in discoveredChildren!) { @@ -151,11 +149,12 @@ class CourseChatsController extends State continue; } - sessionsMap[activity] ??= []; - sessionsMap[activity]!.add( + sessionsMap[activity.activityId] ??= []; + sessionsMap[activity.activityId]!.add( ExtendedSpaceRoomsChunk( chunk: chunk, assignedRoles: users.values.toList(), + activity: activity, ), ); } diff --git a/lib/pangea/course_chats/course_chats_view.dart b/lib/pangea/course_chats/course_chats_view.dart index 8936cc03c..47a297960 100644 --- a/lib/pangea/course_chats/course_chats_view.dart +++ b/lib/pangea/course_chats/course_chats_view.dart @@ -223,10 +223,8 @@ class CourseChatsView extends StatelessWidget { final sessions = discoveredSessions[i].value; return ActivityTemplateChatListItem( space: room, - activity: activity, sessions: sessions, - joinActivity: (e) => - controller.joinActivity(activity.activityId, e), + joinActivity: (e) => controller.joinActivity(activity, e), ); } i -= discoveredSessions.length; diff --git a/lib/pangea/course_chats/extended_space_rooms_chunk.dart b/lib/pangea/course_chats/extended_space_rooms_chunk.dart index 45a6748e4..e3adbd56a 100644 --- a/lib/pangea/course_chats/extended_space_rooms_chunk.dart +++ b/lib/pangea/course_chats/extended_space_rooms_chunk.dart @@ -1,13 +1,16 @@ import 'package:matrix/matrix.dart'; +import 'package:fluffychat/pangea/activity_planner/activity_plan_model.dart'; import 'package:fluffychat/pangea/activity_sessions/activity_role_model.dart'; class ExtendedSpaceRoomsChunk { final SpaceRoomsChunk chunk; final List assignedRoles; + final ActivityPlanModel activity; ExtendedSpaceRoomsChunk({ required this.chunk, required this.assignedRoles, + required this.activity, }); }