@@ -16,6 +16,7 @@ import styles from './CollapsibleItem.module.scss'
1616
1717interface CollapsibleListItem {
1818 dashedName : string
19+ id : string
1920 title : string
2021}
2122
@@ -50,9 +51,9 @@ const CollapsibleItem: FC<CollapsibleItemProps> = (props: CollapsibleItemProps)
5051
5152 const isPartial : boolean = useMemo ( ( ) => ! ! progress && ! ! progress . completedLessons . length , [ progress ] )
5253
53- const isItemCompleted : ( key : string ) => boolean = ( key : string ) => (
54+ const isItemCompleted : ( itemId : string ) => boolean = ( itemId : string ) => (
5455 progress ?. moduleStatus === LearnModuleStatus . completed
55- || ! ! progress ?. completedLessons . find ( l => l . dashedName === key )
56+ || ! ! progress ?. completedLessons . find ( l => l . id === itemId )
5657 )
5758
5859 const stepLabel : (
@@ -64,7 +65,7 @@ const CollapsibleItem: FC<CollapsibleItemProps> = (props: CollapsibleItemProps)
6465 = ( item : CollapsibleListItem , isActive : boolean , stepCount ?: string , label ?: string ) => (
6566 < StepIcon
6667 index = { stepCount }
67- completed = { isItemCompleted ( item . dashedName ) }
68+ completed = { isItemCompleted ( item . id ) }
6869 active = { isActive }
6970 label = { label }
7071 />
@@ -74,7 +75,7 @@ const CollapsibleItem: FC<CollapsibleItemProps> = (props: CollapsibleItemProps)
7475 = ( item : CollapsibleListItem ) => {
7576 const isActive : boolean = props . itemId ?.( item ) === props . active
7677 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 )
7879 const key : string = props . itemId ?.( item ) ?? item . title
7980
8081 return (
@@ -127,7 +128,10 @@ const CollapsibleItem: FC<CollapsibleItemProps> = (props: CollapsibleItemProps)
127128 ) }
128129 </ div >
129130 < 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+ />
131135 </ div >
132136
133137 < ul className = { classNames ( styles . list , 'steps-list' ) } >
0 commit comments