@@ -16,6 +16,7 @@ import styles from './CollapsibleItem.module.scss'
16
16
17
17
interface CollapsibleListItem {
18
18
dashedName : string
19
+ id : string
19
20
title : string
20
21
}
21
22
@@ -50,9 +51,9 @@ const CollapsibleItem: FC<CollapsibleItemProps> = (props: CollapsibleItemProps)
50
51
51
52
const isPartial : boolean = useMemo ( ( ) => ! ! progress && ! ! progress . completedLessons . length , [ progress ] )
52
53
53
- const isItemCompleted : ( key : string ) => boolean = ( key : string ) => (
54
+ const isItemCompleted : ( itemId : string ) => boolean = ( itemId : string ) => (
54
55
progress ?. moduleStatus === LearnModuleStatus . completed
55
- || ! ! progress ?. completedLessons . find ( l => l . dashedName === key )
56
+ || ! ! progress ?. completedLessons . find ( l => l . id === itemId )
56
57
)
57
58
58
59
const stepLabel : (
@@ -64,7 +65,7 @@ const CollapsibleItem: FC<CollapsibleItemProps> = (props: CollapsibleItemProps)
64
65
= ( item : CollapsibleListItem , isActive : boolean , stepCount ?: string , label ?: string ) => (
65
66
< StepIcon
66
67
index = { stepCount }
67
- completed = { isItemCompleted ( item . dashedName ) }
68
+ completed = { isItemCompleted ( item . id ) }
68
69
active = { isActive }
69
70
label = { label }
70
71
/>
@@ -74,7 +75,7 @@ const CollapsibleItem: FC<CollapsibleItemProps> = (props: CollapsibleItemProps)
74
75
= ( item : CollapsibleListItem ) => {
75
76
const isActive : boolean = props . itemId ?.( item ) === props . active
76
77
const stepCount : string | undefined = item . dashedName . match ( / ^ s t e p - ( \d + ) $ / i) ?. [ 1 ]
77
- const label : ReactNode = stepLabel ( item , isActive , stepCount , ! stepCount && item . title )
78
+ const label : ReactNode = stepLabel ( item , isActive , stepCount , ! stepCount ? item . title : undefined )
78
79
const key : string = props . itemId ?.( item ) ?? item . title
79
80
80
81
return (
@@ -127,7 +128,10 @@ const CollapsibleItem: FC<CollapsibleItemProps> = (props: CollapsibleItemProps)
127
128
) }
128
129
</ div >
129
130
< div className = { styles [ 'short-desc' ] } >
130
- < span className = 'body-small' dangerouslySetInnerHTML = { { __html : props . shortDescription . join ( '<br/>' ) } } />
131
+ < span
132
+ className = 'body-small'
133
+ dangerouslySetInnerHTML = { { __html : props . shortDescription . join ( '<br/>' ) } }
134
+ />
131
135
</ div >
132
136
133
137
< ul className = { classNames ( styles . list , 'steps-list' ) } >
0 commit comments