Skip to content

Commit 5c98f49

Browse files
Merge pull request #199 from topcoder-platform/TA_add-course-completion-redirect
Add course completion redirect to /completed page
2 parents 56dc056 + 9bd4105 commit 5c98f49

File tree

4 files changed

+30
-5
lines changed

4 files changed

+30
-5
lines changed

src-ts/tools/learn/course-details/course-curriculum/CourseCurriculum.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import {
1515
UpdateMyCertificateProgressActions,
1616
updateMyCertificationsProgressAsync
1717
} from '../../learn-lib'
18-
import { authenticateAndStartCourseRoute, getFccLessonPath, LEARN_PATHS } from '../../learn.routes'
18+
import { authenticateAndStartCourseRoute, getCertificatePath, getFccLessonPath, LEARN_PATHS } from '../../learn.routes'
1919

2020
import styles from './CourseCurriculum.module.scss'
2121
import { CurriculumSummary } from './curriculum-summary'
@@ -124,6 +124,11 @@ const CourseCurriculum: FC<CourseCurriculumProps> = (props: CourseCurriculumProp
124124
props.progress?.id,
125125
])
126126

127+
const handleNavigateToCertificate: () => void = () => {
128+
const certificatePath: string = getCertificatePath(props.course.provider, props.course.certification)
129+
navigate(certificatePath)
130+
}
131+
127132
/**
128133
* If the url has a "start-course" search param,
129134
* proceed as if the user just clicked "Start course" button
@@ -154,6 +159,7 @@ const CourseCurriculum: FC<CourseCurriculumProps> = (props: CourseCurriculumProp
154159
completedPercentage={completedPercentage}
155160
completed={isCompleted}
156161
completedDate={props.progress?.completedDate}
162+
onClickCertificateBtn={handleNavigateToCertificate}
157163
isLoggedIn={isLoggedIn}
158164
/>
159165

src-ts/tools/learn/course-details/course-curriculum/curriculum-summary/CurriculumSummary.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ const CurriculumSummary: FC<CurriculumSummaryProps> = (props: CurriculumSummaryP
4141
<Button
4242
buttonStyle='secondary'
4343
size='xs'
44-
label='Get your certificate'
44+
label='View certificate'
4545
onClick={props.onClickCertificateBtn}
4646
/>
4747
</>

src-ts/tools/learn/free-code-camp/FreeCodeCamp.tsx

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import {
2424
useLessonProvider,
2525
useMyCertificationProgress,
2626
} from '../learn-lib'
27-
import { getCoursePath, getFccLessonPath } from '../learn.routes'
27+
import { getCertificationCompletedPath, getCoursePath, getFccLessonPath } from '../learn.routes'
2828

2929
import { FccFrame } from './fcc-frame'
3030
import styles from './FreeCodeCamp.module.scss'
@@ -185,9 +185,24 @@ const FreeCodeCamp: FC<{}> = () => {
185185
certificateProgress.id,
186186
UpdateMyCertificateProgressActions.completeCertificate,
187187
{}
188-
).then(setCertificateProgress)
188+
)
189+
.then(setCertificateProgress)
190+
.then(() => {
191+
const completedPath: string = getCertificationCompletedPath(
192+
providerParam,
193+
certificationParam
194+
)
195+
196+
navigate(completedPath)
197+
})
189198
}
190-
}, [certificateProgress, setCertificateProgress])
199+
}, [
200+
certificateProgress,
201+
certificationParam,
202+
navigate,
203+
providerParam,
204+
setCertificateProgress,
205+
])
191206

192207
useEffect(() => {
193208
const certificationPath: string = routeParams.certification ?? ''

src-ts/tools/learn/learn.routes.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ export function getCertificatePath(provider: string, certification: string): str
1616
return `/learn/${provider}/${certification}/certificate`
1717
}
1818

19+
export function getCertificationCompletedPath(provider: string, certification: string): string {
20+
return `/learn/${provider}/${certification}/completed`
21+
}
22+
1923
export function getFccLessonPath(
2024
provider: string,
2125
certification: string,

0 commit comments

Comments
 (0)