diff --git a/src/lib/components/Line.svelte b/src/lib/components/Line.svelte
index 84371275..6cfa65db 100644
--- a/src/lib/components/Line.svelte
+++ b/src/lib/components/Line.svelte
@@ -16,12 +16,12 @@
{#if external}
🔗
- {data.name}
+ {data.name}
{:else if isFile}
📄
- {data.name}
+ {data.name}
{:else}
📁
@@ -29,12 +29,12 @@
{data.name}
{/if}
-
- {isFile && data.size ? data.size : '-'}
+ {isFile && data.size ? data.size : '-'}
+
- {data.time ? formatDate($settings, data.time) : '-'}
+ {data.time ? formatDate($settings, data.time) : '-'}
diff --git a/src/lib/teachings.ts b/src/lib/teachings.ts
index 095c1d40..140bbeab 100644
--- a/src/lib/teachings.ts
+++ b/src/lib/teachings.ts
@@ -2,6 +2,7 @@ export type Teaching = {
name: string;
url: string;
telegram?: string;
+ optional?: boolean;
};
export type TeachingYear = {
diff --git a/src/routes/ListTeaching.svelte b/src/routes/ListTeaching.svelte
new file mode 100644
index 00000000..62f8503e
--- /dev/null
+++ b/src/routes/ListTeaching.svelte
@@ -0,0 +1,38 @@
+
+
+
diff --git a/src/routes/dash/[course]/+page.svelte b/src/routes/dash/[course]/+page.svelte
index f9c49dbe..bfdd92fd 100644
--- a/src/routes/dash/[course]/+page.svelte
+++ b/src/routes/dash/[course]/+page.svelte
@@ -3,11 +3,11 @@
import type { PageData } from './$types';
import { page } from '$app/stores';
import { onMount } from 'svelte';
- import type { Teaching } from '$lib/teachings';
+ import type { Teaching, TeachingYear } from '$lib/teachings';
import { getLoginUrl, getWhoAmI } from '$lib/upld';
-
+ import ListTeaching from "../../ListTeaching.svelte";
+
export let data: PageData;
-
let activeYears: Teaching[] = [];
let login:
@@ -16,9 +16,25 @@
onMount(async () => {
activeYears = (await data.streaming?.activeCourses) ?? [];
-
login = getWhoAmI(fetch);
});
+
+
+ function filterCoursesOptional(data: PageData, currentIndex = 0, result: {mandatory: TeachingYear[], optional: TeachingYear[]} = { mandatory: [], optional: [] }) {
+ if (currentIndex >= data.course?.years.length!) {
+ return result;
+ }
+
+ const year = data.course?.years[currentIndex];
+ const optionalTeachings = year?.teachings.filter((teaching: Teaching) => teaching.optional);
+ const mandatoryTeachings = year?.teachings.filter((teaching: Teaching) => !teaching.optional);
+ result.mandatory.push({ year: year?.year!, teachings: mandatoryTeachings! });
+ result.optional.push({ year: year?.year!, teachings: optionalTeachings! });
+ return filterCoursesOptional(data, currentIndex + 1, result);
+ }
+
+ $: filteredCourses = filterCoursesOptional(data)
+
@@ -50,38 +66,7 @@
⬆️
-
-
+
+
{/if}