Skip to content

Commit d25bb85

Browse files
committed
Merge branch 'dev' into TCA-994
2 parents 3c2e5ad + 01fc3af commit d25bb85

File tree

43 files changed

+290
-158
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+290
-158
lines changed

src-ts/.eslintrc.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ module.exports = {
7373
],
7474
'complexity': [
7575
'error',
76-
11
76+
14
7777
],
7878
'import/extensions': 'off',
7979
'import/no-named-default': 'off',

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/certificate-preview/CertificatePreview.module.scss

Lines changed: 0 additions & 5 deletions
This file was deleted.

src-ts/tools/learn/certification-details/certificate-preview/CertificatePreview.tsx

Lines changed: 0 additions & 61 deletions
This file was deleted.

src-ts/tools/learn/certification-details/certificate-preview/index.ts

Lines changed: 0 additions & 1 deletion
This file was deleted.

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/certification-details/certification-curriculum/curriculum-cards/course-card/CourseCard.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ const CourseCard: FC<CourseCardProps> = (props: CourseCardProps) => {
8585

8686
return (
8787
<CurriculumCard
88-
badgeTrackType={props.certification.trackType ?? 'DEV'}
88+
badgeTrackType={props.certification.certificationCategory.track ?? 'DEV'}
8989
title={props.certification.title ?? 'Responsive Web Design Certification'}
9090
cta={renderCta()}
9191
status={props.isEnrolled ? props.progress?.status : undefined}

src-ts/tools/learn/certification-details/certification-details-sidebar/CertificationDetailsSidebar.tsx

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,24 @@
11
import { FC, ReactNode } from 'react'
22
import classNames from 'classnames'
33

4-
import { Button, IconOutline, IconSolid, Tooltip, UserProfile } from '../../../../lib'
4+
import { Button, IconOutline, IconSolid, Tooltip } from '../../../../lib'
55
import {
66
CompletionTimeRange,
77
LearnLevelIcon,
88
ProvidersLogoList,
99
StickySidebar,
10+
TCACertificatePreview,
1011
TCACertification,
1112
TCACertificationProgress,
1213
} from '../../learn-lib'
1314
import { EnrollCtaBtn } from '../enroll-cta-btn'
14-
import { CertificatePreview } from '../certificate-preview'
15-
import { getTCACertificateUrl } from '../../learn.routes'
15+
import { getTCACertificateUrl, getTCACertificationValidationUrl } from '../../learn.routes'
1616

1717
import styles from './CertificationDetailsSidebar.module.scss'
1818

1919
interface CertificationDetailsSidebarProps {
2020
certification: TCACertification
2121
enrolled: boolean
22-
profile?: UserProfile
2322
certProgress?: TCACertificationProgress
2423
}
2524

@@ -38,13 +37,18 @@ function renderTooltipContents(icon: ReactNode, text: Array<string>): ReactNode
3837
const CertificationDetailsSidebar: FC<CertificationDetailsSidebarProps> = (props: CertificationDetailsSidebarProps) => {
3938
const completed: boolean = !!props.certProgress?.completedAt
4039

40+
const validateLink: string
41+
= getTCACertificationValidationUrl(props.certProgress?.completionUuid as string ?? '')
42+
4143
return (
4244
<StickySidebar>
4345
<div className={styles['certificate-placeholder']}>
44-
<CertificatePreview
46+
<TCACertificatePreview
4547
certification={props.certification}
46-
profile={props.profile}
47-
completedDate={props.certProgress?.completedAt ?? undefined}
48+
userName={props.certProgress?.userName}
49+
tcHandle={props.certProgress?.userHandle}
50+
completedDate={props.certProgress?.completedAt as unknown as string ?? ''}
51+
validateLink={validateLink}
4852
/>
4953
</div>
5054
{completed && props.certification && (

0 commit comments

Comments
 (0)