fix: lesson youtube video issue

This commit is contained in:
Jannat Patel
2024-04-15 12:35:27 +05:30
parent a62b754d28
commit 16570469e6
4 changed files with 25 additions and 2 deletions

View File

@@ -2,7 +2,7 @@
<div v-if="youtube"> <div v-if="youtube">
<iframe <iframe
class="youtube-video" class="youtube-video"
:src="getYouTubeVideoSource(youtube)" :src="getYouTubeVideoSource(youtube.split('/').pop())"
width="100%" width="100%"
height="400" height="400"
frameborder="0" frameborder="0"
@@ -54,6 +54,7 @@
</div> </div>
<div v-else v-html="markdown.render(block)"></div> <div v-else v-html="markdown.render(block)"></div>
</div> </div>
{{ quizId }}
<div v-if="quizId"> <div v-if="quizId">
<Quiz :quiz="quizId" /> <Quiz :quiz="quizId" />
</div> </div>

View File

@@ -208,6 +208,16 @@ const lessonReference = createResource({
const convertToJSON = (lessonData) => { const convertToJSON = (lessonData) => {
let blocks = [] let blocks = []
if (lessonData.youtube) {
let youtubeID = lessonData.youtube.split('/').pop()
blocks.push({
type: 'embed',
data: {
service: 'youtube',
embed: `https://www.youtube.com/embed/${youtubeID}`,
},
})
}
lessonData.body.split('\n').forEach((block) => { lessonData.body.split('\n').forEach((block) => {
if (block.includes('{{ YouTubeVideo')) { if (block.includes('{{ YouTubeVideo')) {
let youtubeID = block.match(/\(["']([^"']+?)["']\)/)[1] let youtubeID = block.match(/\(["']([^"']+?)["']\)/)[1]
@@ -291,6 +301,16 @@ const convertToJSON = (lessonData) => {
}) })
} }
}) })
if (lessonData.quizId) {
blocks.push({
type: 'quiz',
data: {
quiz: lessonData.quizId,
},
})
}
return blocks return blocks
} }

View File

@@ -1769,6 +1769,8 @@ def get_lesson_creation_details(course, chapter, lesson):
"content", "content",
"instructor_notes", "instructor_notes",
"instructor_content", "instructor_content",
"youtube",
"quiz_id",
], ],
as_dict=1, as_dict=1,
) )