Skip to content

Commit 01fc3af

Browse files
authored
Merge pull request #509 from topcoder-platform/TCA-989_completed-certif-details-page
TCA-989 - update completed state for certif details page -> dev
2 parents 0756b8c + 06372f7 commit 01fc3af

File tree

5 files changed

+28
-4
lines changed

5 files changed

+28
-4
lines changed

src-ts/tools/learn/certification-details/CertificationDetailsPage.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import classNames from 'classnames'
44

55
import {
66
TCACertificationProgressProviderData,
7+
TCACertificationProgressStatus,
78
TCACertificationProviderData,
89
useGetTCACertification,
910
useGetTCACertificationProgress,
@@ -58,13 +59,15 @@ const CertificationDetailsPage: FC<{}> = () => {
5859

5960
const isEnrolled: boolean = progressReady && !!progress
6061
const isNotEnrolledView: boolean = !progressReady || !progress
62+
const isCompleted: boolean = progress?.status === TCACertificationProgressStatus.completed
6163

6264
function renderCertificationCurriculum(): ReactNode {
6365
return (
6466
<div className={classNames(styles['text-section'], isEnrolled && styles['no-top'])}>
6567
<CertificationCurriculum
6668
certification={certification}
6769
isEnrolled={isEnrolled}
70+
isCompleted={isCompleted}
6871
certsProgress={certsProgress}
6972
/>
7073
</div>

src-ts/tools/learn/certification-details/certification-curriculum/CertificationCurriculum.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ interface CertificationCurriculumProps {
1717
certification: TCACertification
1818
certsProgress?: ReadonlyArray<LearnUserCertificationProgress>
1919
isEnrolled: boolean
20+
isCompleted: boolean
2021
}
2122

2223
interface ProgressByIdCollection {
@@ -84,7 +85,10 @@ const CertificationCurriculum: FC<CertificationCurriculumProps> = (props: Certif
8485
trackType={props.certification.certificationCategory.track}
8586
/>
8687
</div>
87-
<CertificationSummary certification={props.certification} />
88+
<CertificationSummary
89+
certification={props.certification}
90+
isCompleted={props.isCompleted}
91+
/>
8892
</div>
8993
</div>
9094
)

src-ts/tools/learn/certification-details/certification-curriculum/certification-summary/CertificationSummary.module.scss

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88

99
> svg {
1010
display: block;
11-
width: 96px;
12-
height: 96px;
11+
@include icon-size(96);
1312
}
1413

1514
:global(.body-large-bold) {
@@ -19,3 +18,11 @@
1918
}
2019
}
2120
}
21+
22+
.completedIcon {
23+
margin-left: auto;
24+
svg {
25+
@include icon-size(52);
26+
color: $turq-75;
27+
}
28+
}

src-ts/tools/learn/certification-details/certification-curriculum/certification-summary/CertificationSummary.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
import { FC } from 'react'
22

3+
import { IconSolid } from '../../../../../lib'
34
import { CertificateBadgeIcon, TCACertification } from '../../../learn-lib'
45

56
import styles from './CertificationSummary.module.scss'
67

78
interface CertificationSummaryProps {
89
certification: TCACertification
10+
isCompleted?: boolean
911
}
1012

1113
const CertificationSummary: FC<CertificationSummaryProps> = (props: CertificationSummaryProps) => (
@@ -20,6 +22,11 @@ const CertificationSummary: FC<CertificationSummaryProps> = (props: Certificatio
2022
{props.certification.title}
2123
</span>
2224
</div>
25+
{props.isCompleted && (
26+
<div className={styles.completedIcon}>
27+
<IconSolid.CheckCircleIcon />
28+
</div>
29+
)}
2330
</div>
2431
)
2532

src-ts/tools/learn/learn-lib/data-providers/tca-certifications-provider/tca-certification-progress/tca-certification-progress.model.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ import { TCACertification } from '../tca-certification.model'
33

44
import { TCAFccCertificationProgress } from './tca-fcc-certification-progress.model'
55

6-
export type TCACertificationProgressStatus = 'enrolled' | 'completed'
6+
export enum TCACertificationProgressStatus {
7+
enrolled = 'enrolled',
8+
completed = 'completed',
9+
}
710

811
export interface TCACertificationProgress extends LearnModelBase {
912
id: number

0 commit comments

Comments
 (0)