From a25c6c9e981de5ee7f554b639c436f5ac4a8e351 Mon Sep 17 00:00:00 2001 From: Rotimi Best Date: Thu, 27 Jul 2023 16:45:02 +0100 Subject: [PATCH] CLASSROOMIO-T-11: More refactoring --- .../components/Ceritficate/Design.svelte | 45 ++++++++----------- src/components/Course/store.ts | 5 +++ src/routes/courses/[id]/certificates.svelte | 19 ++++---- src/utils/types/index.ts | 1 + 4 files changed, 35 insertions(+), 35 deletions(-) diff --git a/src/components/Course/components/Ceritficate/Design.svelte b/src/components/Course/components/Ceritficate/Design.svelte index ad208667..ae5b7723 100644 --- a/src/components/Course/components/Ceritficate/Design.svelte +++ b/src/components/Course/components/Ceritficate/Design.svelte @@ -6,34 +6,28 @@ } from 'carbon-components-svelte'; import { goto } from '@sapper/app'; import PrimaryButton from '../../../PrimaryButton/index.svelte'; - import { VARIANTS } from '../../../PrimaryButton/constants'; import TextArea from '../../../Form/TextArea.svelte'; import Professional from './certificates/Professional.svelte'; import Plain from './certificates/Plain.svelte'; import { course } from '../../store'; import { currentOrg } from '../../../../utils/store/org'; - const professional = './professional.svg'; - const plain = './plain.svg'; - const student = 'Name of student'; + const studentNamePlaceholder = 'Name of student'; - const themes = [ - { label: 'professional', src: professional }, - { label: 'plain', src: plain }, - ]; + const themes = ['professional', 'plain']; - let Selectedtheme = themes[0]; let isSaving = false; const saveCertificate = () => { // set isSaving to true // Validation - make sure description isn't empty /** - * Update course description and is_certificate_downloadable (like in src/components/Course/components/Settings/index.svelte) + * Update course description, is_certificate_downloadable and certificate_theme (like in src/components/Course/components/Settings/index.svelte) * * await updateCourse($course.id, undefined, { description: $course.description, - is_certificate_downloadable: $course.is_certificate_downloadable + is_certificate_downloadable: $course.is_certificate_downloadable, + certificate_theme: $course.certificate_theme }); * */ // set isSaving to false @@ -58,11 +52,11 @@ >Certificate settings

Choose a theme

- - {#each themes as value} + + {#each themes as theme}
- - themes + + themes
{/each}
@@ -76,8 +70,7 @@

goto(`org/${$currentOrg.siteName}/settings`)} /> @@ -97,19 +90,19 @@ class="my-4" size="sm" > - Student access - Student access + Locked + Unlocked
-
- {#if Selectedtheme.label == 'professional'} - +
+ {#if $course.certificate_theme === 'professional'} + {:else} - + {/if}
@@ -128,11 +121,11 @@ p { color: #262626; } - .certContainer { + .certificate-container { width: 95%; max-width: 95%; } - .certbg { + .certificate-bg { background-color: #f5f8fe; } diff --git a/src/components/Course/store.ts b/src/components/Course/store.ts index 54431892..4e4a0510 100644 --- a/src/components/Course/store.ts +++ b/src/components/Course/store.ts @@ -11,6 +11,7 @@ export const course: Writable = writable({ cost: 0, currency: '', is_certificate_downloadable: false, + certificate_theme: 'professional', metadata: { requirements: '', description: '', @@ -129,5 +130,9 @@ export async function setCourse(data: Course, setLesson = true) { }, }; } + + if (!data.certificate_theme) { + data.certificate_theme = 'professional'; + } course.set(data); } diff --git a/src/routes/courses/[id]/certificates.svelte b/src/routes/courses/[id]/certificates.svelte index 9dda41c5..796366e4 100644 --- a/src/routes/courses/[id]/certificates.svelte +++ b/src/routes/courses/[id]/certificates.svelte @@ -18,8 +18,8 @@ import Design from '../../../components/Course/components/Ceritficate/Design.svelte'; // import Reports from '../../../components/Course/components/Ceritficate/Reports.svelte'; // import { issueCertificateModal } from '../../../components/Course/components/Ceritficate/store'; - import { Tabs, Tab } from 'carbon-components-svelte'; - import TabContent from 'carbon-components-svelte/src/Tabs/TabContent.svelte'; + // import { Tabs, Tab } from 'carbon-components-svelte'; + // import TabContent from 'carbon-components-svelte/src/Tabs/TabContent.svelte'; export let courseId: string = ''; let isStudent = false; @@ -47,20 +47,21 @@ - - + + + + - - + - + --> diff --git a/src/utils/types/index.ts b/src/utils/types/index.ts index e613593f..38a6ebd2 100644 --- a/src/utils/types/index.ts +++ b/src/utils/types/index.ts @@ -97,6 +97,7 @@ export interface Course { group?: Group; organization?: Organization; is_certificate_downloadable?: boolean; + certificate_theme?: string; } export interface Groupmember {