From 780772a8fb9370d3bf2fe6c8506834e38ad73670 Mon Sep 17 00:00:00 2001 From: Rotimi Best Date: Fri, 11 Aug 2023 09:44:50 +0100 Subject: [PATCH] Add plyr support to materials --- .../components/Lesson/Materials/index.svelte | 17 ++++++++++++++++- src/routes/+layout.svelte | 6 ++++++ .../[id]/lessons/[...lessonParams]/+page.svelte | 2 +- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/lib/components/Course/components/Lesson/Materials/index.svelte b/src/lib/components/Course/components/Lesson/Materials/index.svelte index a295929a..35ae7677 100644 --- a/src/lib/components/Course/components/Lesson/Materials/index.svelte +++ b/src/lib/components/Course/components/Lesson/Materials/index.svelte @@ -42,6 +42,7 @@ let textareaRef = {}; let aiButtonRef = {}; let openPopover = false; + let player = null; let aiButtonClass = 'flex items-center px-5 py-2 border border-gray-300 hover:bg-gray-200 rounded-md w-full mb-2'; @@ -114,6 +115,18 @@ }, 500); } + function initPlyr(_player: any, _video: string | undefined) { + if (!_player) return; + + const players = Array.from(document.querySelectorAll('.plyr-video-trigger')).map((p) => { + // @ts-ignore + return new Plyr(p); + }); + + // @ts-ignore + window.players = players; + } + const onClose = () => { saveLesson(); $uploadCourseVideoStore.isModalOpen = false; @@ -125,6 +138,8 @@ $: addBadgeValueToTab($lesson.materials); $: updateNoteByCompletion($completion); + + $: initPlyr(player, $lesson.materials.videos); {:else} -