Files
classroomio/apps/dashboard/src/routes/courses/[id]/landingpage/+page.svelte
T

49 lines
1.4 KiB
Svelte
Raw Normal View History

2023-10-30 04:52:00 +00:00
<script lang="ts">
2023-12-04 19:39:39 +03:00
import { dev } from '$app/environment';
import { fly } from 'svelte/transition';
import { course } from '$lib/components/Course/store';
import type { Course, Lesson, LessonSection } from '$lib/utils/types';
import { lessons, lessonSections } from '$lib/components/Course/components/Lesson/store/lessons';
import CourseLandingPage from '$lib/components/CourseLandingPage/index.svelte';
import Editor from '$lib/components/CourseLandingPage/components/Editor/index.svelte';
export let data;
2023-10-22 09:47:13 +01:00
const { courseId } = data;
2023-12-04 19:39:39 +03:00
let courseData: Course = $course;
function setCourseData(course: Course, lessons: Lesson[], lesson_section: LessonSection[]) {
courseData = { ...course, lessons, lesson_section };
}
2023-12-04 19:39:39 +03:00
function syncCourseStore(_courseData: Course) {
$course = _courseData;
}
$: setCourseData($course, $lessons, $lessonSections);
2023-12-04 19:39:39 +03:00
$: dev && console.log('courseData changed', courseData);
</script>
<div
class="absolute flex inset-0 z-50 bg-white"
in:fly={{ y: 500, duration: 500 }}
out:fly={{ y: 500, duration: 500 }}
>
2023-12-04 19:39:39 +03:00
<Editor {courseId} bind:course={courseData} {syncCourseStore} />
<div class="rightBar">
2023-09-15 00:11:23 +01:00
<CourseLandingPage bind:courseData editMode={true} />
</div>
</div>
<style>
.rightBar {
flex-grow: 1;
width: 100%;
height: 100%;
overflow-x: hidden;
overflow-y: auto;
}
</style>