diff --git a/src/components/Course/components/Ceritficate/Design.svelte b/src/components/Course/components/Ceritficate/Design.svelte
index 286f566e..99c2bb3e 100644
--- a/src/components/Course/components/Ceritficate/Design.svelte
+++ b/src/components/Course/components/Ceritficate/Design.svelte
@@ -22,11 +22,27 @@
];
let Selectedtheme = themes[0];
+ let isSaving = false;
- const saveCertificate = () => {};
const onToggle = (e) => {
console.log(e);
};
+ const saveCertificate = () => {
+ // set isSaving to true
+ // Validation - make sure description isn't empty
+ // Upload the brand logo to give you a URL
+ // Update organisation logo (like in `src/components/Org/Settings/OrgSettings.svelte` line 25-51)
+ // - Note from the file above both logo and name is updated, in this case we only want to update logo
+ /**
+ * Update only course description (like in src/components/Course/components/Settings/index.svelte)
+ *
+ * await updateCourse($course.id, undefined, {
+ description: $course.description,
+ is_certificate_downloadable: $course.is_certificate_downloadable
+ });
+ * */
+ // set isSaving to false
+ };
@@ -72,17 +88,16 @@
placeholder="a little description about the course"
bgColor="bg-gray-100"
bind:value={$course.description}
- onChange={$course.description}
/>
onToggle(e)}
- class="my-2"
+ labelText="Allow students download certificate"
+ bind:toggled={$course.is_certificate_downloadable}
+ class="my-4"
size="sm"
>
- Date
- Date
+ Student access
+ Student access
@@ -102,7 +117,8 @@
saveCertificate()}
+ onClick={saveCertificate}
+ isLoading={isSaving}
/>
diff --git a/src/components/Course/components/Ceritficate/certificates/Plain.svelte b/src/components/Course/components/Ceritficate/certificates/Plain.svelte
index a974dc5f..cf0d73a8 100644
--- a/src/components/Course/components/Ceritficate/certificates/Plain.svelte
+++ b/src/components/Course/components/Ceritficate/certificates/Plain.svelte
@@ -28,6 +28,7 @@
This is to certify that
+
This is to certify that
+
= writable({
description: '',
cost: 0,
currency: '',
+ is_certificate_downloadable: false,
metadata: {
requirements: '',
description: '',
diff --git a/src/routes/courses/[id]/certificates.svelte b/src/routes/courses/[id]/certificates.svelte
index d85081a8..7617fe12 100644
--- a/src/routes/courses/[id]/certificates.svelte
+++ b/src/routes/courses/[id]/certificates.svelte
@@ -1,7 +1,7 @@
@@ -11,20 +11,22 @@
import CourseContainer from '../../../components/CourseContainer/index.svelte';
import PageNav from '../../../components/PageNav/index.svelte';
- import PrimaryButton from '../../../components/PrimaryButton/index.svelte';
+ // import PrimaryButton from '../../../components/PrimaryButton/index.svelte';
import PageBody from '../../../components/PageBody/index.svelte';
import RoleBasedSecurity from '../../../components/RoleBasedSecurity/index.svelte';
- import { setCourse, course, group } from '../../../components/Course/store';
+ import { setCourse, course } from '../../../components/Course/store';
import IssueCertificateModal from '../../../components/Course/components/Ceritficate/IssueCertificateModal.svelte';
// import DeleteConfirmation from '../../../components/Course/components/People/DeleteConfirmation.svelte';
import Design from '../../../components/Course/components/Ceritficate/Design.svelte';
- import Reports from '../../../components/Course/components/Ceritficate/Reports.svelte';
+ // import Reports from '../../../components/Course/components/Ceritficate/Reports.svelte';
- import { issueCertificateModal } from '../../../components/Course/components/Ceritficate/store';
- import { Tabs, Tab, TabContent } from 'carbon-components-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';
export let courseId: string = '';
let isStudent = false;
+
onMount(async () => {
if ($course.id) return;
const { data } = await fetchCourse(courseId);
@@ -33,34 +35,35 @@
+
-
+
+
-
+
-
+
+
-
-
diff --git a/src/utils/types/index.ts b/src/utils/types/index.ts
index d1e10b0c..e613593f 100644
--- a/src/utils/types/index.ts
+++ b/src/utils/types/index.ts
@@ -96,6 +96,7 @@ export interface Course {
currency?: string;
group?: Group;
organization?: Organization;
+ is_certificate_downloadable?: boolean;
}
export interface Groupmember {