diff --git a/lib/pangea/course_plans/course_plan_room_extension.dart b/lib/pangea/course_plans/course_plan_room_extension.dart index c120c646b..b5f5016fb 100644 --- a/lib/pangea/course_plans/course_plan_room_extension.dart +++ b/lib/pangea/course_plans/course_plan_room_extension.dart @@ -104,11 +104,12 @@ extension CoursePlanRoomExtension on Room { throw Exception('Topic not found'); } - final activityIds = course.loadedTopics[topicIndex].loadedActivities + final numTwoPersonActivities = course + .loadedTopics[topicIndex].loadedActivities .where((a) => a.req.numberOfParticipants <= 2) - .map((a) => a.activityId) - .toList(); - return state.completedActivities.toSet().containsAll(activityIds); + .length; + + return state.completedActivities.length >= numTwoPersonActivities; } CourseTopicModel? currentTopic( diff --git a/lib/pangea/course_plans/course_user_event.dart b/lib/pangea/course_plans/course_user_event.dart index ecc1e633a..e531c83d9 100644 --- a/lib/pangea/course_plans/course_user_event.dart +++ b/lib/pangea/course_plans/course_user_event.dart @@ -30,9 +30,9 @@ class CourseUserState { Map> get joinedActivities => _joinedActivities; - List get completedActivities => _completedActivities.keys.toList(); - List get joinedActivityRooms => - _joinedActivities.values.expand((e) => e).toList(); + Set get completedActivities => _completedActivities.keys.toSet(); + Set get joinedActivityRooms => + _joinedActivities.values.expand((e) => e).toSet(); bool hasCompletedActivity( String activityID,