diff --git a/apps/dashboard/src/lib/utils/translations/de.json b/apps/dashboard/src/lib/utils/translations/de.json index 62f8bf2b..0abf9c2e 100644 --- a/apps/dashboard/src/lib/utils/translations/de.json +++ b/apps/dashboard/src/lib/utils/translations/de.json @@ -743,11 +743,16 @@ "edit": "Bearbeiten", "delete": "Löschen", "lock": "Sperren", - "unlock": "Freischalten" + "unlock": "Freischalten", + "start_reorder": "Neu anordnen", + "end_reorder": "Nachbestellung beenden" }, "disabled": "Funktion ist deaktiviert", "next": "Nächste", - "prev": "Vorher" + "prev": "Vorher", + "drag": "Ziehen Sie eine Karte, um sie neu anzuordnen", + "no_lesson": "Noch kein Unterricht", + "share_your_knowledge": "Teilen Sie Ihr Wissen mit der Welt, indem Sie ansprechende Lektionen erstellen. Klicken Sie zunächst auf die Schaltfläche „Hinzufügen“." }, "news_feed": { "heading": "Neuigkeiten", diff --git a/apps/dashboard/src/lib/utils/translations/en.json b/apps/dashboard/src/lib/utils/translations/en.json index 4a8e5017..6b95d845 100644 --- a/apps/dashboard/src/lib/utils/translations/en.json +++ b/apps/dashboard/src/lib/utils/translations/en.json @@ -494,8 +494,13 @@ "lessons": { "heading": "Lessons", + "drag": "drag a card to reorder", + "no_lesson": "No lessons yet", + "share_your_knowledge": "Share your knowledge with the world by creating engaging lessons. Start by clicking on the Add button.", "add_lesson": { "button_title": "Add", + "start_reorder": "Reorder", + "end_reorder": "End Reorder", "modal_heading": "Add New Lesson", "lesson_title": "Lesson Title", "click_to": "Click to", diff --git a/apps/dashboard/src/lib/utils/translations/es.json b/apps/dashboard/src/lib/utils/translations/es.json index 74ac98ca..84cffdf8 100644 --- a/apps/dashboard/src/lib/utils/translations/es.json +++ b/apps/dashboard/src/lib/utils/translations/es.json @@ -743,11 +743,16 @@ "edit": "Editar", "delete": "Borrar", "lock": "Cerrar", - "unlock": "desbloquear" + "unlock": "desbloquear", + "start_reorder": "Reordenar", + "end_reorder": "Finalizar reorden" }, "disabled": "La característica está deshabilitada", "next": "Próximo", - "prev": "Anterior" + "prev": "Anterior", + "drag": "arrastra una tarjeta para reordenar", + "no_lesson": "Aún no hay lecciones", + "share_your_knowledge": "Comparta sus conocimientos con el mundo creando lecciones interesantes. Comience haciendo clic en el botón Agregar." }, "news_feed": { "heading": "Noticias", diff --git a/apps/dashboard/src/lib/utils/translations/fr.json b/apps/dashboard/src/lib/utils/translations/fr.json index 91eda60e..948f4db3 100644 --- a/apps/dashboard/src/lib/utils/translations/fr.json +++ b/apps/dashboard/src/lib/utils/translations/fr.json @@ -743,11 +743,16 @@ "edit": "Modifier", "delete": "Supprimer", "lock": "Verrouillage", - "unlock": "Ouvrir" + "unlock": "Ouvrir", + "start_reorder": "Réorganiser", + "end_reorder": "Terminer la réapprovisionnement" }, "disabled": "La fonctionnalité est désactivée", "next": "Suivant", - "prev": "Précédent" + "prev": "Précédent", + "drag": "faites glisser une carte pour réorganiser", + "no_lesson": "Pas encore de cours", + "share_your_knowledge": "Partagez vos connaissances avec le monde en créant des leçons engageantes. Commencez par cliquer sur le bouton Ajouter." }, "news_feed": { "heading": "Fil d'actualité", diff --git a/apps/dashboard/src/lib/utils/translations/hi.json b/apps/dashboard/src/lib/utils/translations/hi.json index 4ffd43b3..b9f1763c 100644 --- a/apps/dashboard/src/lib/utils/translations/hi.json +++ b/apps/dashboard/src/lib/utils/translations/hi.json @@ -743,11 +743,16 @@ "edit": "संपादन करना", "delete": "मिटाना", "lock": "ताला", - "unlock": "अनलॉक" + "unlock": "अनलॉक", + "start_reorder": "पुन: व्यवस्थित करें", + "end_reorder": "पुनः क्रम समाप्त करें" }, "disabled": "सुविधा अक्षम है", "next": "अगला", - "prev": "पिछला" + "prev": "पिछला", + "drag": "पुनः व्यवस्थित करने के लिए कार्ड खींचें", + "no_lesson": "अभी तक कोई सबक नहीं", + "share_your_knowledge": "आकर्षक पाठ बनाकर अपना ज्ञान दुनिया के साथ साझा करें। ऐड बटन पर क्लिक करके प्रारंभ करें।" }, "news_feed": { "heading": "समाचार फ़ीड", diff --git a/apps/dashboard/src/lib/utils/translations/pt.json b/apps/dashboard/src/lib/utils/translations/pt.json index f5eca64a..be98d686 100644 --- a/apps/dashboard/src/lib/utils/translations/pt.json +++ b/apps/dashboard/src/lib/utils/translations/pt.json @@ -743,11 +743,16 @@ "edit": "Editar", "delete": "Excluir", "lock": "Trancar", - "unlock": "Desbloquear" + "unlock": "Desbloquear", + "start_reorder": "Reordenar", + "end_reorder": "Finalizar novo pedido" }, "disabled": "O recurso está desativado", "next": "Próximo", - "prev": "Anterior" + "prev": "Anterior", + "drag": "arraste um cartão para reordenar", + "no_lesson": "Ainda não há aulas", + "share_your_knowledge": "Compartilhe seu conhecimento com o mundo criando aulas envolventes. Comece clicando no botão Adicionar." }, "news_feed": { "heading": "Notícias", diff --git a/apps/dashboard/src/lib/utils/translations/ru.json b/apps/dashboard/src/lib/utils/translations/ru.json index 00f3f93f..098cc533 100644 --- a/apps/dashboard/src/lib/utils/translations/ru.json +++ b/apps/dashboard/src/lib/utils/translations/ru.json @@ -743,11 +743,16 @@ "edit": "Редактировать", "delete": "Удалить", "lock": "Замок", - "unlock": "Разблокировать" + "unlock": "Разблокировать", + "start_reorder": "Изменение порядка", + "end_reorder": "Завершить изменение порядка" }, "disabled": "Функция отключена", "next": "Следующий", - "prev": "Предыдущий" + "prev": "Предыдущий", + "drag": "перетащите карточку, чтобы изменить порядок", + "no_lesson": "Уроков пока нет", + "share_your_knowledge": "Поделитесь своими знаниями со всем миром, создавая увлекательные уроки. Начните с нажатия кнопки «Добавить»." }, "news_feed": { "heading": "Новостная лента", diff --git a/apps/dashboard/src/lib/utils/translations/vi.json b/apps/dashboard/src/lib/utils/translations/vi.json index 1993ed2e..0f02c11d 100644 --- a/apps/dashboard/src/lib/utils/translations/vi.json +++ b/apps/dashboard/src/lib/utils/translations/vi.json @@ -743,11 +743,16 @@ "edit": "Biên tập", "delete": "Xóa bỏ", "lock": "Khóa", - "unlock": "Mở khóa" + "unlock": "Mở khóa", + "start_reorder": "Sắp xếp lại", + "end_reorder": "Kết thúc sắp xếp lại" }, "disabled": "Tính năng bị vô hiệu hóa", "next": "Kế tiếp", - "prev": "Trước đó" + "prev": "Trước đó", + "drag": "kéo thẻ để sắp xếp lại", + "no_lesson": "Chưa có bài học nào", + "share_your_knowledge": "Chia sẻ kiến ​​thức của bạn với thế giới bằng cách tạo ra những bài học hấp dẫn. Bắt đầu bằng cách nhấp vào nút Thêm." }, "news_feed": { "heading": "Nguồn cấp tin tức", diff --git a/apps/dashboard/src/routes/courses/[id]/lessons/+page.svelte b/apps/dashboard/src/routes/courses/[id]/lessons/+page.svelte index 7a7e5c6f..384097b5 100644 --- a/apps/dashboard/src/routes/courses/[id]/lessons/+page.svelte +++ b/apps/dashboard/src/routes/courses/[id]/lessons/+page.svelte @@ -14,7 +14,7 @@ } from '$lib/components/Course/components/Lesson/store/lessons'; import PageBody from '$lib/components/PageBody/index.svelte'; import { globalStore } from '$lib/utils/store/app'; - + import ScreenMap from 'carbon-icons-svelte/lib/ScreenMap.svelte'; import NewLessonModal from '$lib/components/Course/components/Lesson/NewLessonModal.svelte'; import DeleteLessonConfirmation from '$lib/components/Course/components/Lesson/DeleteLessonConfirmation.svelte'; import { handleAddLessonWidget } from '$lib/components/Course/components/Navigation/store'; @@ -30,6 +30,7 @@ import { t } from '$lib/utils/functions/translations'; import { goto } from '$app/navigation'; import { COURSE_TYPE } from '$lib/utils/types'; + import { VARIANTS } from '$lib/components/PrimaryButton/constants.js'; export let data; @@ -39,6 +40,7 @@ let lessonToDelete: Lesson | undefined; let openDeleteModal: boolean = false; let isFetching: boolean = false; + let reorder = false; const flipDurationMs = 300; @@ -124,6 +126,7 @@ $: shouldGoToNextLesson = query.get('next') === 'true'; $: shouldGoToNextLesson && onNextQuery($lessons); + $: isLiveClass = $course.type === COURSE_TYPE.LIVE_CLASS; {#if $handleAddLessonWidget} @@ -138,13 +141,21 @@ -
+
+ (reorder = !reorder)} + isDisabled={!!lessonEditing} + />
@@ -154,20 +165,24 @@
Lesson -

No lessons yet

+

{$t('course.navItem.lessons.no_lesson')}

- Share your knowledge with the world by creating engaging lessons. Start by clicking on - the Add button. + {$t('course.navItem.lessons.share_your_knowledge')}

{:else if $lessons.length} + {#if reorder} +

+ {$t('course.navItem.lessons.drag')} +

+ {/if}
{#each $lessons as lesson (lesson.id)}
@@ -217,7 +234,7 @@ {/if} - {#if $course.type === COURSE_TYPE.LIVE_CLASS} + {#if isLiveClass}
@@ -290,6 +307,19 @@ {/if}
+ {:else} +
+ +
+ +

+ {lesson?.totalExercises ? lesson?.totalExercises?.map((c) => c.count) : 0} + {$t('exercises.heading')} +

+
+
{/if}
diff --git a/supabase/migrations/20231118210545_profile.sql b/supabase/migrations/20231118210545_profile.sql index d41836ae..89558eda 100644 --- a/supabase/migrations/20231118210545_profile.sql +++ b/supabase/migrations/20231118210545_profile.sql @@ -1,3 +1 @@ alter table "public"."profile" alter column "avatar_url" set default 'https://tapaozmyjsuykgerrfkt.supabase.co/storage/v1/object/public/avatars/avatar.png'::text; - -