fix: detect editor change to enable plyr on newly added videos
This commit is contained in:
@@ -5,7 +5,7 @@
|
|||||||
>
|
>
|
||||||
<Breadcrumbs class="h-7" :items="breadcrumbs" />
|
<Breadcrumbs class="h-7" :items="breadcrumbs" />
|
||||||
<div class="flex items-center space-x-2">
|
<div class="flex items-center space-x-2">
|
||||||
<Tooltip :text="__('Zen Mode')">
|
<Tooltip v-if="lesson.data?.membership" :text="__('Zen Mode')">
|
||||||
<Button @click="goFullScreen()">
|
<Button @click="goFullScreen()">
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<Focus class="w-4 h-4 stroke-2" />
|
<Focus class="w-4 h-4 stroke-2" />
|
||||||
@@ -147,7 +147,7 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="text-sm mt-1 text-ink-gray-7">
|
<div v-else class="text-sm mt-1 text-ink-gray-7">
|
||||||
{{ lesson.data.course_title }}
|
{{ lesson.data.chapter_title }} - {{ lesson.data.course_title }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
@@ -168,19 +168,19 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-else-if="lesson.data.instructor_notes"
|
v-else-if="lesson.data.instructor_notes"
|
||||||
class="ProseMirror prose prose-table:table-fixed prose-td:p-2 prose-th:p-2 prose-td:border prose-th:border prose-td:border-outline-gray-2 prose-th:border-outline-gray-2 prose-td:relative prose-th:relative prose-th:bg-surface-gray-2 prose-sm max-w-none !whitespace-normal mt-10"
|
class="ProseMirror prose prose-table:table-fixed prose-td:p-2 prose-th:p-2 prose-td:border prose-th:border prose-td:border-outline-gray-2 prose-th:border-outline-gray-2 prose-td:relative prose-th:relative prose-th:bg-surface-gray-2 prose-sm max-w-none !whitespace-normal mt-8"
|
||||||
>
|
>
|
||||||
<LessonContent :content="lesson.data.instructor_notes" />
|
<LessonContent :content="lesson.data.instructor_notes" />
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="lesson.data.content"
|
v-if="lesson.data.content"
|
||||||
class="ProseMirror prose prose-table:table-fixed prose-td:p-2 prose-th:p-2 prose-td:border prose-th:border prose-td:border-outline-gray-2 prose-th:border-outline-gray-2 prose-td:relative prose-th:relative prose-th:bg-surface-gray-2 prose-sm max-w-none !whitespace-normal mt-10"
|
class="ProseMirror prose prose-table:table-fixed prose-td:p-2 prose-th:p-2 prose-td:border prose-th:border prose-td:border-outline-gray-2 prose-th:border-outline-gray-2 prose-td:relative prose-th:relative prose-th:bg-surface-gray-2 prose-sm max-w-none !whitespace-normal mt-8"
|
||||||
>
|
>
|
||||||
<div id="editor"></div>
|
<div id="editor"></div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-else
|
v-else
|
||||||
class="ProseMirror prose prose-table:table-fixed prose-td:p-2 prose-th:p-2 prose-td:border prose-th:border prose-td:border-outline-gray-2 prose-th:border-outline-gray-2 prose-td:relative prose-th:relative prose-th:bg-surface-gray-2 prose-sm max-w-none !whitespace-normal mt-10"
|
class="ProseMirror prose prose-table:table-fixed prose-td:p-2 prose-th:p-2 prose-td:border prose-th:border prose-td:border-outline-gray-2 prose-th:border-outline-gray-2 prose-td:relative prose-th:relative prose-th:bg-surface-gray-2 prose-sm max-w-none !whitespace-normal mt-8"
|
||||||
>
|
>
|
||||||
<LessonContent
|
<LessonContent
|
||||||
v-if="lesson.data?.body"
|
v-if="lesson.data?.body"
|
||||||
|
|||||||
@@ -97,10 +97,12 @@ import {
|
|||||||
import { sessionStore } from '../stores/session'
|
import { sessionStore } from '../stores/session'
|
||||||
import EditorJS from '@editorjs/editorjs'
|
import EditorJS from '@editorjs/editorjs'
|
||||||
import LessonHelp from '@/components/LessonHelp.vue'
|
import LessonHelp from '@/components/LessonHelp.vue'
|
||||||
import { ChevronRight } from 'lucide-vue-next'
|
import { AppleIcon, ChevronRight } from 'lucide-vue-next'
|
||||||
import { createToast, getEditorTools } from '@/utils'
|
import { createToast, getEditorTools } from '@/utils'
|
||||||
import { capture } from '@/telemetry'
|
import { capture } from '@/telemetry'
|
||||||
import { useOnboarding } from 'frappe-ui/frappe'
|
import { useOnboarding } from 'frappe-ui/frappe'
|
||||||
|
import Plyr from 'plyr'
|
||||||
|
import 'plyr/dist/plyr.css'
|
||||||
|
|
||||||
const { brand } = sessionStore()
|
const { brand } = sessionStore()
|
||||||
const editor = ref(null)
|
const editor = ref(null)
|
||||||
@@ -143,6 +145,9 @@ const renderEditor = (holder) => {
|
|||||||
tools: getEditorTools(true),
|
tools: getEditorTools(true),
|
||||||
autofocus: true,
|
autofocus: true,
|
||||||
defaultBlock: 'markdown',
|
defaultBlock: 'markdown',
|
||||||
|
onChange: async (api, event) => {
|
||||||
|
enablePlyr()
|
||||||
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -672,4 +677,30 @@ iframe {
|
|||||||
.ce-popover-item[data-item-name='markdown'] {
|
.ce-popover-item[data-item-name='markdown'] {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.plyr__volume input[type='range'] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plyr__control--overlaid {
|
||||||
|
background: radial-gradient(
|
||||||
|
circle,
|
||||||
|
rgba(0, 0, 0, 0.4) 0%,
|
||||||
|
rgba(0, 0, 0, 0.5) 50%
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
.plyr__control:hover {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plyr--video {
|
||||||
|
border: 1px solid theme('colors.gray.200');
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--plyr-range-fill-background: white;
|
||||||
|
--plyr-video-control-background-hover: transparent;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -87,7 +87,6 @@ import { sessionStore } from '@/stores/session'
|
|||||||
const user = inject('$user')
|
const user = inject('$user')
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const { brand } = sessionStore()
|
const { brand } = sessionStore()
|
||||||
console.log(user.data?.sitename)
|
|
||||||
|
|
||||||
const persona = reactive({
|
const persona = reactive({
|
||||||
role: null,
|
role: null,
|
||||||
|
|||||||
@@ -1313,6 +1313,9 @@ def get_lesson(course, chapter, lesson):
|
|||||||
else:
|
else:
|
||||||
progress = get_progress(course, lesson_details.name)
|
progress = get_progress(course, lesson_details.name)
|
||||||
|
|
||||||
|
lesson_details.chapter_title = frappe.db.get_value(
|
||||||
|
"Course Chapter", chapter_name, "title"
|
||||||
|
)
|
||||||
lesson_details.rendered_content = render_html(lesson_details)
|
lesson_details.rendered_content = render_html(lesson_details)
|
||||||
neighbours = get_neighbour_lesson(course, chapter, lesson)
|
neighbours = get_neighbour_lesson(course, chapter, lesson)
|
||||||
lesson_details.next = neighbours["next"]
|
lesson_details.next = neighbours["next"]
|
||||||
|
|||||||
Reference in New Issue
Block a user