From e21943d5a63b1e5f0d698f83a2836dd16c4be349 Mon Sep 17 00:00:00 2001 From: Vasilica Olariu Date: Tue, 15 Nov 2022 18:12:38 +0200 Subject: [PATCH 1/2] TCA-667 - use a lesson's id to show it as completed --- .../collapsible-item/CollapsibleItem.tsx | 11 ++++++----- .../lesson-provider/learn-lesson.model.ts | 1 + .../learn-module-progress.model.ts | 1 + 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src-ts/tools/learn/learn-lib/course-outline/collapsible-item/CollapsibleItem.tsx b/src-ts/tools/learn/learn-lib/course-outline/collapsible-item/CollapsibleItem.tsx index cf10918ba..d76205173 100644 --- a/src-ts/tools/learn/learn-lib/course-outline/collapsible-item/CollapsibleItem.tsx +++ b/src-ts/tools/learn/learn-lib/course-outline/collapsible-item/CollapsibleItem.tsx @@ -16,6 +16,7 @@ import styles from './CollapsibleItem.module.scss' interface CollapsibleListItem { dashedName: string + id: string title: string } @@ -49,22 +50,22 @@ const CollapsibleItem: FC = (props: CollapsibleItemProps) return !!progress && !!progress.completedLessons.length }, [progress]) - const isItemCompleted: (key: string) => boolean = (key: string) => ( + const isItemCompleted: (itemId: string) => boolean = (itemId: string) => ( progress?.moduleStatus === LearnModuleStatus.completed || - !!progress?.completedLessons.find(l => l.dashedName === key) + !!progress?.completedLessons.find(l => l.id === itemId) ) - const stepLabel: (item: any, isActive: boolean, stepCount: string, label?: string) => ReactNode = + const stepLabel: (item: CollapsibleListItem, isActive: boolean, stepCount: string, label?: string) => ReactNode = (item: any, isActive: boolean, stepCount: string, label?: string) => ( ) - const renderListItem: (item: any) => ReactNode = (item: any) => { + const renderListItem: (item: CollapsibleListItem) => ReactNode = (item: any) => { const isActive: boolean = props.itemId?.(item) === props.active const stepCount: string = item.dashedName.match(/^step-(\d+)$/i)?.[1] const label: ReactNode = stepLabel(item, isActive, stepCount, !stepCount && item.title) diff --git a/src-ts/tools/learn/learn-lib/data-providers/lesson-provider/learn-lesson.model.ts b/src-ts/tools/learn/learn-lib/data-providers/lesson-provider/learn-lesson.model.ts index b836aa9cd..b6f889a72 100644 --- a/src-ts/tools/learn/learn-lib/data-providers/lesson-provider/learn-lesson.model.ts +++ b/src-ts/tools/learn/learn-lib/data-providers/lesson-provider/learn-lesson.model.ts @@ -1,4 +1,5 @@ export interface LearnLesson { dashedName: string title: string + id: string } diff --git a/src-ts/tools/learn/learn-lib/data-providers/user-certifications-provider/user-certifications-functions/learn-module-progress.model.ts b/src-ts/tools/learn/learn-lib/data-providers/user-certifications-provider/user-certifications-functions/learn-module-progress.model.ts index 9bed19c2c..9c1d84d79 100644 --- a/src-ts/tools/learn/learn-lib/data-providers/user-certifications-provider/user-certifications-functions/learn-module-progress.model.ts +++ b/src-ts/tools/learn/learn-lib/data-providers/user-certifications-provider/user-certifications-functions/learn-module-progress.model.ts @@ -2,6 +2,7 @@ export interface LearnModuleProgress { completedLessons: Array<{ completedDate?: string dashedName: string + id: string }> completedPercentage: number module: string From 2634a7713e2e14f1bd2dbae398a6513881572b58 Mon Sep 17 00:00:00 2001 From: Vasilica Olariu Date: Tue, 15 Nov 2022 18:47:06 +0200 Subject: [PATCH 2/2] lint fixes --- .../data-providers/lesson-provider/learn-lesson.model.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src-ts/tools/learn/learn-lib/data-providers/lesson-provider/learn-lesson.model.ts b/src-ts/tools/learn/learn-lib/data-providers/lesson-provider/learn-lesson.model.ts index b6f889a72..96b979736 100644 --- a/src-ts/tools/learn/learn-lib/data-providers/lesson-provider/learn-lesson.model.ts +++ b/src-ts/tools/learn/learn-lib/data-providers/lesson-provider/learn-lesson.model.ts @@ -1,5 +1,5 @@ export interface LearnLesson { dashedName: string - title: string id: string + title: string }