diff --git a/src/components/GenerateCourse/AICourseContent.tsx b/src/components/GenerateCourse/AICourseContent.tsx
index 499729bd7..6feca785c 100644
--- a/src/components/GenerateCourse/AICourseContent.tsx
+++ b/src/components/GenerateCourse/AICourseContent.tsx
@@ -334,12 +334,16 @@ export function AICourseContent(props: AICourseContentProps) {
>
{viewMode === 'module' && (
-
+
)}
{viewMode !== 'module' && (
diff --git a/src/components/GenerateCourse/AICourseRoadmapView.tsx b/src/components/GenerateCourse/AICourseRoadmapView.tsx
index 8300f1cfc..25017aa5f 100644
--- a/src/components/GenerateCourse/AICourseRoadmapView.tsx
+++ b/src/components/GenerateCourse/AICourseRoadmapView.tsx
@@ -99,6 +99,17 @@ export function AICourseRoadmapView(props: AICourseRoadmapViewProps) {
done.forEach((id) => {
renderTopicProgress(id, 'done');
});
+
+ const modules = roadmap.filter((item) => item.type === 'topic');
+ for (const module of modules) {
+ const moduleId = module.id;
+ const isAllLessonsDone =
+ module?.children?.every((child) => done.includes(child.id)) ??
+ false;
+ if (isAllLessonsDone) {
+ renderTopicProgress(moduleId, 'done');
+ }
+ }
},
});
} catch (error) {