diff --git a/apps/dashboard/src/lib/components/Courses/components/Card/index.svelte b/apps/dashboard/src/lib/components/Courses/components/Card/index.svelte index a8d40944..c2abf98d 100644 --- a/apps/dashboard/src/lib/components/Courses/components/Card/index.svelte +++ b/apps/dashboard/src/lib/components/Courses/components/Card/index.svelte @@ -185,7 +185,7 @@ {#if isOnLandingPage} {#if !cost} - $t('course.navItem.landing_page.pricing_section.free') + {$t('course.navItem.landing_page.pricing_section.free')} {:else if pricingData.showDiscount} {formatter.format(cost)} diff --git a/apps/dashboard/src/lib/utils/translations/de.json b/apps/dashboard/src/lib/utils/translations/de.json index e8d6fc5d..be58b221 100644 --- a/apps/dashboard/src/lib/utils/translations/de.json +++ b/apps/dashboard/src/lib/utils/translations/de.json @@ -391,7 +391,12 @@ "goals": "Ziele", "reviews": "Rezensionen", "instructor": "Lehrer", - "pricing": "Preisgestaltung" + "pricing": "Preisgestaltung", + "certificate": "Zertifikat" + }, + "display_section": "Anzeigebereich", + "certificate_form": { + "upload_template": "Zertifikatsvorlage" } }, "course_content": "Kursinhalte", @@ -1430,4 +1435,4 @@ "no": "NEIN", "yes": "Ja" } -} +} \ No newline at end of file diff --git a/apps/dashboard/src/lib/utils/translations/es.json b/apps/dashboard/src/lib/utils/translations/es.json index d59fe673..0c2f5974 100644 --- a/apps/dashboard/src/lib/utils/translations/es.json +++ b/apps/dashboard/src/lib/utils/translations/es.json @@ -391,7 +391,12 @@ "goals": "Objetivos", "reviews": "Reseñas", "instructor": "Instructor", - "pricing": "Precios" + "pricing": "Precios", + "certificate": "Certificado" + }, + "display_section": "Sección de visualización", + "certificate_form": { + "upload_template": "Plantilla de certificado" } }, "course_content": "Contenido del curso", @@ -1430,4 +1435,4 @@ "no": "No", "yes": "Sí" } -} +} \ No newline at end of file diff --git a/apps/dashboard/src/lib/utils/translations/fr.json b/apps/dashboard/src/lib/utils/translations/fr.json index 74c07b2c..64b6163b 100644 --- a/apps/dashboard/src/lib/utils/translations/fr.json +++ b/apps/dashboard/src/lib/utils/translations/fr.json @@ -391,7 +391,12 @@ "goals": "Objectifs", "reviews": "Commentaires", "instructor": "Instructeur", - "pricing": "Tarifs" + "pricing": "Tarifs", + "certificate": "Certificat" + }, + "display_section": "Section d'affichage", + "certificate_form": { + "upload_template": "Modèle de certificat" } }, "course_content": "Contenu du cours", @@ -1430,4 +1435,4 @@ "no": "Non", "yes": "Oui" } -} +} \ No newline at end of file diff --git a/apps/dashboard/src/lib/utils/translations/hi.json b/apps/dashboard/src/lib/utils/translations/hi.json index 39f329e3..9ae3539a 100644 --- a/apps/dashboard/src/lib/utils/translations/hi.json +++ b/apps/dashboard/src/lib/utils/translations/hi.json @@ -391,7 +391,12 @@ "goals": "लक्ष्य", "reviews": "समीक्षा", "instructor": "प्रशिक्षक", - "pricing": "मूल्य निर्धारण" + "pricing": "मूल्य निर्धारण", + "certificate": "प्रमाणपत्र" + }, + "display_section": "प्रदर्शन अनुभाग", + "certificate_form": { + "upload_template": "प्रमाणपत्र टेम्पलेट" } }, "course_content": "पाठ्यक्रम सामग्री", diff --git a/apps/dashboard/src/lib/utils/translations/pt.json b/apps/dashboard/src/lib/utils/translations/pt.json index 9dc1da8a..a41b3ea2 100644 --- a/apps/dashboard/src/lib/utils/translations/pt.json +++ b/apps/dashboard/src/lib/utils/translations/pt.json @@ -391,7 +391,12 @@ "goals": "Metas", "reviews": "Avaliações", "instructor": "Instrutor", - "pricing": "Preços" + "pricing": "Preços", + "certificate": "Certificado" + }, + "display_section": "Seção de exibição", + "certificate_form": { + "upload_template": "Modelo de certificado" } }, "course_content": "Conteúdo do curso", @@ -1430,4 +1435,4 @@ "no": "Não", "yes": "Sim" } -} +} \ No newline at end of file diff --git a/apps/dashboard/src/lib/utils/translations/ru.json b/apps/dashboard/src/lib/utils/translations/ru.json index c003c271..61a452e3 100644 --- a/apps/dashboard/src/lib/utils/translations/ru.json +++ b/apps/dashboard/src/lib/utils/translations/ru.json @@ -391,7 +391,12 @@ "goals": "Цели", "reviews": "Отзывы", "instructor": "Инструктор", - "pricing": "Цены" + "pricing": "Цены", + "certificate": "Сертификат" + }, + "display_section": "Раздел дисплея", + "certificate_form": { + "upload_template": "Шаблон сертификата" } }, "course_content": "Содержание курса", @@ -1430,4 +1435,4 @@ "no": "Нет", "yes": "Да" } -} +} \ No newline at end of file diff --git a/apps/dashboard/src/lib/utils/translations/vi.json b/apps/dashboard/src/lib/utils/translations/vi.json index 0432279b..6e575a81 100644 --- a/apps/dashboard/src/lib/utils/translations/vi.json +++ b/apps/dashboard/src/lib/utils/translations/vi.json @@ -391,7 +391,12 @@ "goals": "Bàn thắng", "reviews": "Đánh giá", "instructor": "Người hướng dẫn", - "pricing": "Định giá" + "pricing": "Định giá", + "certificate": "Giấy chứng nhận" + }, + "display_section": "Phần hiển thị", + "certificate_form": { + "upload_template": "Mẫu chứng chỉ" } }, "course_content": "Nội dung khóa học", @@ -1430,4 +1435,4 @@ "no": "KHÔNG", "yes": "Đúng" } -} +} \ No newline at end of file diff --git a/supabase/migrations/20240528050512_cascade_delete_lesson.sql b/supabase/migrations/20240528050512_cascade_delete_lesson.sql index 27cd1544..c1d90e14 100644 --- a/supabase/migrations/20240528050512_cascade_delete_lesson.sql +++ b/supabase/migrations/20240528050512_cascade_delete_lesson.sql @@ -40,3 +40,8 @@ alter table public.question_answer drop constraint question_answer_submission_id_fkey, add constraint question_answer_submission_id_fkey foreign key (submission_id) references submission (id) on delete cascade; + +alter table public.lesson_completion +drop constraint lesson_completion_lesson_id_fkey, +add constraint lesson_completion_lesson_id_fkey foreign key (lesson_id) references lesson (id) +on delete cascade;