diff --git a/apps/dashboard/src/lib/components/Course/components/Lesson/DeleteLessonConfirmation.svelte b/apps/dashboard/src/lib/components/Course/components/Lesson/DeleteLessonConfirmation.svelte new file mode 100644 index 00000000..239a4757 --- /dev/null +++ b/apps/dashboard/src/lib/components/Course/components/Lesson/DeleteLessonConfirmation.svelte @@ -0,0 +1,43 @@ + + + (openDeleteModal = false)} + bind:open={openDeleteModal} + width="w-96" + modalHeading="Delete" +> +
+

+ Are you sure you want to delete: {lessonTitle}? +

+ +
+ (openDeleteModal = false)} + /> + +
+
+
diff --git a/apps/dashboard/src/lib/components/Course/components/Lesson/store/lessons.ts b/apps/dashboard/src/lib/components/Course/components/Lesson/store/lessons.ts index c78e3006..da4de605 100644 --- a/apps/dashboard/src/lib/components/Course/components/Lesson/store/lessons.ts +++ b/apps/dashboard/src/lib/components/Course/components/Lesson/store/lessons.ts @@ -2,6 +2,7 @@ import { writable } from 'svelte/store'; import type { Writable, Updater } from 'svelte/store'; import { createLesson, updateLesson, deleteLesson } from '$lib/utils/services/courses'; import type { Lesson, Course, LessonPage, LessonComment } from '$lib/utils/types'; +import { snackbar } from '$lib/components/Snackbar/store'; export const uploadCourseVideoStore = writable({ isModalOpen: false @@ -43,20 +44,20 @@ export function handleAddLesson() { }) as Updater); } -export function handleDelete(lessonId: Lesson['id']) { - return async () => { - // Need to implement soft delete - if (lessonId) { - const { error } = await deleteLesson(lessonId); +export async function handleDelete(lessonId: Lesson['id'] | undefined) { + // Need to implement soft delete + if (lessonId) { + const { error } = await deleteLesson(lessonId); - if (error) { - return alert('Please delete all exercises first'); - } + if (error) { + snackbar.error(error.message); + return console.error('Error deleting course', error); } lessons.update((_lessons) => _lessons.filter((lesson) => lesson.id !== lessonId)); - console.log(`lessonId`, lessonId); - }; + } + + console.log(`lessonId`, lessonId); } export async function handleSaveLesson(lesson: Lesson, course_id: Course['id']) { diff --git a/apps/dashboard/src/routes/courses/[id]/lessons/+page.svelte b/apps/dashboard/src/routes/courses/[id]/lessons/+page.svelte index 205bcbdb..ffbea3bf 100644 --- a/apps/dashboard/src/routes/courses/[id]/lessons/+page.svelte +++ b/apps/dashboard/src/routes/courses/[id]/lessons/+page.svelte @@ -1,5 +1,4 @@ -