diff --git a/src/components/Course/components/Lecture/Exercises/List.svelte b/src/components/Course/components/Lecture/Exercises/List.svelte
deleted file mode 100644
index d50c3695..00000000
--- a/src/components/Course/components/Lecture/Exercises/List.svelte
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
- Create a new Cloudant database in the US South region.
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Course/components/Lecture/Exercises/index.svelte b/src/components/Course/components/Lecture/Exercises/index.svelte
deleted file mode 100644
index bd3e56e3..00000000
--- a/src/components/Course/components/Lecture/Exercises/index.svelte
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-{#if exerciseId}
-
-{:else}
-
-{/if}
diff --git a/src/components/Course/components/Lecture/store/lessons.js b/src/components/Course/components/Lecture/store/lessons.js
deleted file mode 100644
index 6ec714a9..00000000
--- a/src/components/Course/components/Lecture/store/lessons.js
+++ /dev/null
@@ -1,187 +0,0 @@
-import { writable } from "svelte/store";
-
-export const lessons = writable([
- {
- title: "Вступительное слово. Софт скилы",
- to: "/courses/1/lecture/1",
- lecturer: {
- userId: 1,
- avatar: "https://picsum.photos/32/32/?random",
- name: "Sergey Semko",
- },
- resources: [
- {
- label: "lesson",
- value: 1,
- },
- {
- label: "quiz",
- value: 1,
- },
- {
- label: "home task",
- value: 2,
- },
- ],
- date: new Date(),
- isComplete: true,
- },
- {
- title: "Введение в ReactJS",
- to: "/courses/1/lecture/2",
- lecturer: {
- userId: 1,
- avatar: "https://picsum.photos/32/32/?random",
- name: "Sergey Semko",
- },
- resources: [
- {
- label: "lesson",
- value: 1,
- },
- {
- label: "quiz",
- value: 1,
- },
- {
- label: "home task",
- value: 2,
- },
- ],
- date: new Date(),
- isComplete: false,
- },
- {
- title: "Компоненты",
- to: "/courses/1/lecture/3",
- lecturer: {
- userId: 1,
- avatar: "https://picsum.photos/32/32/?random",
- name: "Sergey Semko",
- },
- resources: [
- {
- label: "lesson",
- value: 1,
- },
- {
- label: "quiz",
- value: 1,
- },
- {
- label: "home task",
- value: 2,
- },
- ],
- date: new Date(),
- isComplete: false,
- },
- {
- title: "Состояние компонентов и пропсы",
- to: "/courses/1/lecture/4",
- lecturer: {
- userId: 1,
- avatar: "https://picsum.photos/32/32/?random",
- name: "Sergey Semko",
- },
- resources: [
- {
- label: "lesson",
- value: 1,
- },
- {
- label: "quiz",
- value: 1,
- },
- {
- label: "home task",
- value: 2,
- },
- ],
- date: new Date(),
- isComplete: false,
- },
- {
- title: "Жизненный цикл",
- to: "/courses/1/lecture/5",
- lecturer: {
- userId: 1,
- avatar: "https://picsum.photos/32/32/?random",
- name: "Sergey Semko",
- },
- resources: [
- {
- label: "lesson",
- value: 1,
- },
- {
- label: "quiz",
- value: 1,
- },
- {
- label: "home task",
- value: 2,
- },
- ],
- date: new Date(),
- isComplete: false,
- },
-]);
-
-export const lecturers = writable([
- {
- id: 1,
- text: "Sergey Semko",
- },
- {
- id: 3,
- text: "Jonathan Nelson",
- },
- {
- id: 4,
- text: "Sasha Pokidin",
- },
- {
- id: 5,
- text: "Natasha Rudenko",
- },
- {
- id: 6,
- text: "Yulia Marushko",
- },
-]);
-
-
-export function handleAddLesson() {
- const resources = [
- {
- label: "lesson",
- value: 0,
- },
- {
- label: "quiz",
- value: 0,
- },
- {
- label: "home task",
- value: 0,
- },
- ];
-
- lessons.update(_lessons => {
- return [
- ..._lessons,
- {
- title: 'Untitled lesson',
- to: "/courses/1/lecture/" + (_lessons.length + 1),
- resources,
- lecturer: {
- userId: 1,
- avatar: "https://picsum.photos/32/32/?random",
- name: "",
- },
- date: new Date()
- }
- ]
- })
-}
\ No newline at end of file
diff --git a/src/components/Course/components/Lecture/Exercises/EditMode.svelte b/src/components/Course/components/Lesson/Exercise/EditMode.svelte
similarity index 100%
rename from src/components/Course/components/Lecture/Exercises/EditMode.svelte
rename to src/components/Course/components/Lesson/Exercise/EditMode.svelte
diff --git a/src/components/Course/components/Lecture/Exercises/ViewMode.svelte b/src/components/Course/components/Lesson/Exercise/ViewMode.svelte
similarity index 100%
rename from src/components/Course/components/Lecture/Exercises/ViewMode.svelte
rename to src/components/Course/components/Lesson/Exercise/ViewMode.svelte
diff --git a/src/components/Course/components/Lecture/Exercises/constants.js b/src/components/Course/components/Lesson/Exercise/constants.js
similarity index 100%
rename from src/components/Course/components/Lecture/Exercises/constants.js
rename to src/components/Course/components/Lesson/Exercise/constants.js
diff --git a/src/components/Course/components/Lecture/Exercises/Exercise.svelte b/src/components/Course/components/Lesson/Exercise/index.svelte
similarity index 64%
rename from src/components/Course/components/Lecture/Exercises/Exercise.svelte
rename to src/components/Course/components/Lesson/Exercise/index.svelte
index 3bfddbbb..362690d5 100644
--- a/src/components/Course/components/Lecture/Exercises/Exercise.svelte
+++ b/src/components/Course/components/Lesson/Exercise/index.svelte
@@ -1,13 +1,13 @@
+
+{#if exerciseId}
+
+{:else}
+
+
+
+
+
+
+ (open = !open)}
+ />
+
+
+
+
+{/if}
diff --git a/src/components/Course/components/Lecture/Readme/EditMode.svelte b/src/components/Course/components/Lesson/Readme/EditMode.svelte
similarity index 100%
rename from src/components/Course/components/Lecture/Readme/EditMode.svelte
rename to src/components/Course/components/Lesson/Readme/EditMode.svelte
diff --git a/src/components/Course/components/Lecture/Readme/ViewMode.svelte b/src/components/Course/components/Lesson/Readme/ViewMode.svelte
similarity index 100%
rename from src/components/Course/components/Lecture/Readme/ViewMode.svelte
rename to src/components/Course/components/Lesson/Readme/ViewMode.svelte
diff --git a/src/components/Course/components/Lecture/Readme/index.svelte b/src/components/Course/components/Lesson/Readme/index.svelte
similarity index 100%
rename from src/components/Course/components/Lecture/Readme/index.svelte
rename to src/components/Course/components/Lesson/Readme/index.svelte
diff --git a/src/components/Course/components/Lecture/functions.js b/src/components/Course/components/Lesson/functions.js
similarity index 100%
rename from src/components/Course/components/Lecture/functions.js
rename to src/components/Course/components/Lesson/functions.js
diff --git a/src/components/Course/components/Lecture/index.svelte b/src/components/Course/components/Lesson/index.svelte
similarity index 50%
rename from src/components/Course/components/Lecture/index.svelte
rename to src/components/Course/components/Lesson/index.svelte
index 7fdb15b9..ad9a2c6f 100644
--- a/src/components/Course/components/Lecture/index.svelte
+++ b/src/components/Course/components/Lesson/index.svelte
@@ -1,7 +1,7 @@
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
diff --git a/src/components/TimeTable/data.js b/src/components/TimeTable/data.js
index 68ab858d..18dc6980 100644
--- a/src/components/TimeTable/data.js
+++ b/src/components/TimeTable/data.js
@@ -1,38 +1,39 @@
export default [
- {
+ {
+ lessonType: '1-9 leture',
+ lessonHall: '402F',
+ subject: 'Mathematics',
+ tutorOne: 'Peter Pitrovich',
+ tutorTwo: 'Pragma James',
+ },
+ {
+ lessonType: '1-9 Pra.',
+ lessonHall: '202F',
+ subject: 'Physics',
+ tutorOne: 'Anicimov',
+ tutorTwo: '',
+ },
+ {
+ lessonType: '1-9 leture',
+ lessonHall: '301F',
+ subject: 'Algorithm',
+ tutorOne: 'Babilunga Sharon',
+ tutorTwo: 'Alex Jonard',
+ },
+ {
+ lessonType: '1-9 leture',
+ lessonHall: '222F',
+ subject: 'Computer Aided system',
+ tutorOne: 'Godovichecko Heroku',
+ tutorTwo: '',
+ },
+ ...Array(4 * 4)
+ .fill(0)
+ .map((a, i) => ({
lessonType: '1-9 leture',
- lectureHall: '402F',
- subject: 'Mathematics',
- lecturerOne: 'Peter Pitrovich',
- lecturerTwo: 'Pragma James',
- },
- {
- lessonType: '1-9 Pra.',
- lectureHall: '202F',
- subject: 'Physics',
- lecturerOne: 'Anicimov',
- lecturerTwo: '',
- },
- {
- lessonType: '1-9 leture',
- lectureHall: '301F',
- subject: 'Algorithm',
- lecturerOne: 'Babilunga Sharon',
- lecturerTwo: 'Alex Jonard',
- },
- {
- lessonType: '1-9 leture',
- lectureHall: '222F',
+ lessonHall: '222F',
subject: 'Computer Aided system',
- lecturerOne: 'Godovichecko Heroku',
- lecturerTwo: '',
-
- },
- ...Array(4 * 4).fill(0).map((a, i) => ({
- lessonType: '1-9 leture',
- lectureHall: '222F',
- subject: 'Computer Aided system',
- lecturerOne: 'Godovichecko Heroku',
- lecturerTwo: '',
- }))
- ];
\ No newline at end of file
+ tutorOne: 'Godovichecko Heroku',
+ tutorTwo: '',
+ })),
+];
diff --git a/src/routes/_layout.svelte b/src/routes/_layout.svelte
index bf2427c7..c8293ae0 100644
--- a/src/routes/_layout.svelte
+++ b/src/routes/_layout.svelte
@@ -1,4 +1,5 @@
@@ -16,7 +19,9 @@
-
+ {#if $page.path.includes("courses")}
+
+ {/if}
diff --git a/src/routes/api/_lessons.js b/src/routes/api/_lessons.js
new file mode 100644
index 00000000..4ea10134
--- /dev/null
+++ b/src/routes/api/_lessons.js
@@ -0,0 +1,14 @@
+const lessons = [{}];
+
+const lookup = new Map();
+lessons.forEach((lesson) => {
+ lookup.set(`${lesson.id}`, JSON.stringify(lesson));
+});
+
+export function getLessons() {
+ return lessons;
+}
+
+export function getLecture(id) {
+ return lookup.get(id);
+}
diff --git a/src/routes/api/lesson.js b/src/routes/api/lesson.js
new file mode 100644
index 00000000..e5c61014
--- /dev/null
+++ b/src/routes/api/lesson.js
@@ -0,0 +1,27 @@
+import { getLecture } from './_lessons';
+
+function writeJsonHead(res, statusCode) {
+ res.writeHead(statusCode, {
+ 'Content-Type': 'application/json',
+ });
+}
+
+export function get(req, res, next) {
+ // the `id` parameter is available because
+ // this file is called [id].json.js
+ const { id } = req.params;
+
+ if (lookup.has(id)) {
+ writeJsonHead(res, 200);
+
+ res.end(lookup.get(id));
+ } else {
+ writeJsonHead(res, 404);
+
+ res.end(
+ JSON.stringify({
+ message: `Not found`,
+ })
+ );
+ }
+}
diff --git a/src/routes/courses/[...id]/exercises.svelte b/src/routes/courses/[...id]/exercises.svelte
deleted file mode 100644
index 1b5a0bdf..00000000
--- a/src/routes/courses/[...id]/exercises.svelte
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/routes/courses/[...id]/index.svelte b/src/routes/courses/[...id]/index.svelte
deleted file mode 100644
index 2e920a48..00000000
--- a/src/routes/courses/[...id]/index.svelte
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/routes/courses/[...id]/lecture/[...id]/index.svelte b/src/routes/courses/[...id]/lecture/[...id]/index.svelte
deleted file mode 100644
index 53df7318..00000000
--- a/src/routes/courses/[...id]/lecture/[...id]/index.svelte
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/routes/courses/[...id]/people.svelte b/src/routes/courses/[...id]/people.svelte
deleted file mode 100644
index d1d7c60a..00000000
--- a/src/routes/courses/[...id]/people.svelte
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
-
-
-
-
-
- {#each teachers as teacher}
-
- {/each}
-
-
-
-
-
-
- {#each students as student}
-
- {/each}
-
-
-
diff --git a/src/routes/courses/[...id]/scoreboard.svelte b/src/routes/courses/[...id]/scoreboard.svelte
deleted file mode 100644
index 0a164959..00000000
--- a/src/routes/courses/[...id]/scoreboard.svelte
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/routes/courses/[...id]/timetable.svelte b/src/routes/courses/[...id]/timetable.svelte
deleted file mode 100644
index ecf10855..00000000
--- a/src/routes/courses/[...id]/timetable.svelte
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/routes/courses/[id]/allexercises.svelte b/src/routes/courses/[id]/allexercises.svelte
new file mode 100644
index 00000000..175bf801
--- /dev/null
+++ b/src/routes/courses/[id]/allexercises.svelte
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
diff --git a/src/routes/courses/[id]/index.svelte b/src/routes/courses/[id]/index.svelte
new file mode 100644
index 00000000..be8d0467
--- /dev/null
+++ b/src/routes/courses/[id]/index.svelte
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
diff --git a/src/routes/courses/[id]/lessons/[...id]/index.svelte b/src/routes/courses/[id]/lessons/[...id]/index.svelte
new file mode 100644
index 00000000..e36c1108
--- /dev/null
+++ b/src/routes/courses/[id]/lessons/[...id]/index.svelte
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+ {#if !!exerciseRouteName}
+
+ {:else}
+
+ {/if}
+
+
diff --git a/src/routes/courses/[...id]/lecture/index.svelte b/src/routes/courses/[id]/lessons/index.svelte
similarity index 55%
rename from src/routes/courses/[...id]/lecture/index.svelte
rename to src/routes/courses/[id]/lessons/index.svelte
index f1513c31..5a6ada74 100644
--- a/src/routes/courses/[...id]/lecture/index.svelte
+++ b/src/routes/courses/[id]/lessons/index.svelte
@@ -1,41 +1,40 @@
-
+
@@ -60,7 +59,7 @@
- {#each $lessons as lecture, index}
+ {#each $lessons as lesson, index}
(lecture.isComplete = !lecture.isComplete)}
+ onClick={() => (lesson.isComplete = !lesson.isComplete)}
>
- {#if lecture.isComplete}
+ {#if lesson.isComplete}
{:else}
🔒
@@ -80,12 +79,12 @@
- {#if lectureEditing === index}
- (lectureEditing = null)}>
+ {#if lessonEditing === index}
+ (lessonEditing = null)}>
{:else}
- (lectureEditing = index)}>
+ (lessonEditing = index)}>
{/if}
@@ -95,28 +94,28 @@
{index + 1}.
- {#if lectureEditing === index}
-
+ {#if lessonEditing === index}
+
{:else}
{/if}
- {lecture.resources
+ {lesson.resources
.map((r) => `${r.value} ${r.label}`)
- .join(", ")}
+ .join(', ')}
- {#if lectureEditing === index}
+ {#if lessonEditing === index}
{:else}
@@ -129,25 +128,25 @@
class="block rounded-full"
width="24"
height="20"
- src={lecture.lecturer.avatar}
+ src={lesson.tutor.avatar}
/>
-
{lecture.lecturer.name}
+
{lesson.tutor.name}
{/if}
- {#if lectureEditing === index}
+ {#if lessonEditing === index}
(lecture.date = e.target.value)}
+ value={formatDate(lesson.date)}
+ on:input={(e) => (lesson.date = e.target.value)}
/>
{:else}
- {new Date(lecture.date).toDateString()}
+ {new Date(lesson.date).toDateString()}
{/if}
diff --git a/src/routes/courses/[id]/people.svelte b/src/routes/courses/[id]/people.svelte
new file mode 100644
index 00000000..94cc76a5
--- /dev/null
+++ b/src/routes/courses/[id]/people.svelte
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+ {#each teachers as teacher}
+
+ {/each}
+
+
+
+
+
+
+ {#each students as student}
+
+ {/each}
+
+
+
diff --git a/src/routes/courses/[id]/scoreboard.svelte b/src/routes/courses/[id]/scoreboard.svelte
new file mode 100644
index 00000000..d1f09e29
--- /dev/null
+++ b/src/routes/courses/[id]/scoreboard.svelte
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
diff --git a/src/routes/courses/[id]/timetable.svelte b/src/routes/courses/[id]/timetable.svelte
new file mode 100644
index 00000000..5bc5d04c
--- /dev/null
+++ b/src/routes/courses/[id]/timetable.svelte
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+