Skip to content

Commit c09202d

Browse files
authored
Merge pull request #507 from topcoder-platform/TCA-986_check-for-certif-completed-on-enroll
TCA-986 - TCA cert completed state -> dev
2 parents cb4aa35 + 70e7b65 commit c09202d

File tree

10 files changed

+21
-7
lines changed

10 files changed

+21
-7
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/enrollment-page/EnrollmentPage.tsx

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import {
2424
TCACertificationProviderData,
2525
useGetTCACertification,
2626
useGetTCACertificationProgress,
27+
useTcaCertificationModal,
2728
} from '../../learn-lib'
2829
import { perks } from '../certification-details-modal/certif-details-content/data'
2930
import { PerksSection } from '../perks-section'
@@ -65,6 +66,11 @@ const EnrollmentPage: FC<{}> = () => {
6566

6667
const ready: boolean = profileReady && certificationReady && progressReady && !!profile
6768

69+
const tcaCertificationCompletedModal: ReactNode = useTcaCertificationModal(
70+
progress ? certification.dashedName : undefined,
71+
navToCertificationDetails,
72+
)
73+
6874
if (ready && profile && !userInfo.current) {
6975
userInfo.current = { ...profile }
7076
}
@@ -95,9 +101,15 @@ const EnrollmentPage: FC<{}> = () => {
95101
})
96102
}, [certification?.id, profile, setCertificateProgress])
97103

104+
function navToCertificationDetails(): void {
105+
navigate(getTCACertificationPath(certification.dashedName))
106+
}
107+
98108
function closeEnrolledModal(): void {
99109
setIsEnrolledModalOpen(false)
100-
navigate(getTCACertificationPath(certification.dashedName))
110+
if (!tcaCertificationCompletedModal) {
111+
navToCertificationDetails()
112+
}
101113
}
102114

103115
function renderMainContent(): ReactNode {
@@ -114,6 +126,7 @@ const EnrollmentPage: FC<{}> = () => {
114126
certification={certification}
115127
onClose={closeEnrolledModal}
116128
/>
129+
{!isEnrolledModalOpen && tcaCertificationCompletedModal}
117130
</>
118131
) : null
119132
}

src-ts/tools/learn/course-completed/CourseCompletedPage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ import {
2323
UserCertificationProgressProviderData,
2424
UserCertificationProgressStatus,
2525
useTCACertificationCheckCompleted,
26+
useTcaCertificationModal,
2627
} from '../learn-lib'
2728
import { getCertificatePath, getCoursePath, LEARN_PATHS, rootRoute } from '../learn.routes'
2829

2930
import { ReactComponent as StarsSvg } from './stars.svg'
30-
import { useTcaCertificationModal } from './tca-certification-completed-modal'
3131
import styles from './CourseCompletedPage.module.scss'
3232

3333
const CourseCompletedPage: FC<{}> = () => {

src-ts/tools/learn/learn-lib/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,5 @@ export * from './tca-certificate-preview'
1818
export * from './use-certificate-canvas-hook'
1919
export * from './use-certificate-print-hook'
2020
export * from './use-certificate-scaling-hook'
21+
export * from './tca-certification-completed-modal'
2122
export * from './wave-hero'
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Dispatch, FC, SetStateAction, useEffect } from 'react'
22

33
import { BaseModal, Button, useLocalStorage } from '../../../../lib'
4-
import { TCACertification } from '../../learn-lib'
4+
import { TCACertification } from '../data-providers'
55
import { getTCACertificateUrl } from '../../learn.routes'
66

77
import styles from './TCACertificationCompletedModal.module.scss'
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { noop } from 'lodash'
22
import { ReactNode } from 'react'
33

4-
import { TCACertificationProviderData, useGetTCACertification } from '../../learn-lib'
4+
import { TCACertificationProviderData, useGetTCACertification } from '..'
55

66
import TCACertificationCompletedModal from './TCACertificationCompletedModal'
77

8-
export function useTcaCertificationModal(certificationName?: string): ReactNode {
8+
export function useTcaCertificationModal(certificationName?: string, onClose: () => void = noop): ReactNode {
99

1010
const { certification: tcaCertification }: TCACertificationProviderData = useGetTCACertification(
1111
certificationName ?? '',
@@ -16,7 +16,7 @@ export function useTcaCertificationModal(certificationName?: string): ReactNode
1616
<TCACertificationCompletedModal
1717
certification={tcaCertification}
1818
isOpen={!!tcaCertification}
19-
onClose={noop}
19+
onClose={onClose}
2020
/>
2121
)
2222
}

0 commit comments

Comments
 (0)