diff --git a/frontend/components.d.ts b/frontend/components.d.ts
index 2212eb18..09f63fdd 100644
--- a/frontend/components.d.ts
+++ b/frontend/components.d.ts
@@ -83,6 +83,7 @@ declare module 'vue' {
QuizBlock: typeof import('./src/components/QuizBlock.vue')['default']
QuizInVideo: typeof import('./src/components/Modals/QuizInVideo.vue')['default']
Rating: typeof import('./src/components/Controls/Rating.vue')['default']
+ RelatedCourses: typeof import('./src/components/RelatedCourses.vue')['default']
ReviewModal: typeof import('./src/components/Modals/ReviewModal.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
diff --git a/frontend/src/components/CourseOutline.vue b/frontend/src/components/CourseOutline.vue
index ecbac74d..479c8aec 100644
--- a/frontend/src/components/CourseOutline.vue
+++ b/frontend/src/components/CourseOutline.vue
@@ -148,7 +148,7 @@
diff --git a/frontend/src/components/VideoBlock.vue b/frontend/src/components/VideoBlock.vue
index 0465a1d3..f1d9e288 100644
--- a/frontend/src/components/VideoBlock.vue
+++ b/frontend/src/components/VideoBlock.vue
@@ -81,7 +81,7 @@
v-for="(quiz, index) in quizzes"
:key="index"
:style="getQuizMarkerStyle(quiz.time)"
- class="absolute top-0 h-full w-0.5 bg-red-500"
+ class="absolute top-0 h-full w-2 bg-surface-amber-3"
>
@@ -303,7 +303,7 @@ const toggleFullscreen = () => {
}
const getQuizMarkerStyle = (time) => {
- const percentage = ((time - 5) / Math.ceil(duration.value)) * 100
+ const percentage = ((time - 7) / Math.ceil(duration.value)) * 100
return {
left: `${percentage}%`,
}
diff --git a/frontend/src/pages/CourseDetail.vue b/frontend/src/pages/CourseDetail.vue
index da16d37e..a128aa19 100644
--- a/frontend/src/pages/CourseDetail.vue
+++ b/frontend/src/pages/CourseDetail.vue
@@ -83,12 +83,12 @@
:avg_rating="course.data.rating"
:membership="course.data.membership"
/>
-
+
@@ -109,10 +109,8 @@ import CourseReviews from '@/components/CourseReviews.vue'
import UserAvatar from '@/components/UserAvatar.vue'
import CourseInstructors from '@/components/CourseInstructors.vue'
import RelatedCourses from '@/components/RelatedCourses.vue'
-import { useRoute } from 'vue-router'
const { brand } = sessionStore()
-const route = useRoute()
const props = defineProps({
courseName: {
@@ -124,22 +122,18 @@ const props = defineProps({
const course = createResource({
url: 'lms.lms.utils.get_course_details',
cache: ['course', props.courseName],
- params: {
- course: props.courseName,
+ makeParams() {
+ return {
+ course: props.courseName,
+ }
},
auto: true,
})
watch(
- () => route.params.courseName,
- (newCourseName, oldCourseName) => {
- if (newCourseName && newCourseName !== oldCourseName) {
- course.update({
- cache: ['course', newCourseName],
- params: { course: newCourseName },
- })
- course.reload()
- }
+ () => props.courseName,
+ () => {
+ course.reload()
}
)
diff --git a/frontend/src/pages/CourseForm.vue b/frontend/src/pages/CourseForm.vue
index e9df2256..154856bb 100644
--- a/frontend/src/pages/CourseForm.vue
+++ b/frontend/src/pages/CourseForm.vue
@@ -199,6 +199,21 @@
)
"
/>
+
+
@@ -319,6 +334,7 @@ const newTag = ref('')
const { brand } = sessionStore()
const router = useRouter()
const instructors = ref([])
+const related_courses = ref([])
const app = getCurrentInstance()
const { updateOnboardingStep } = useOnboarding('learning')
const { $dialog } = app.appContext.config.globalProperties
@@ -400,6 +416,9 @@ const courseCreationResource = createResource({
instructors: instructors.value.map((instructor) => ({
instructor: instructor,
})),
+ related_courses: related_courses.value.map((course) => ({
+ course: course,
+ })),
...values,
},
}
@@ -418,6 +437,9 @@ const courseEditResource = createResource({
instructors: instructors.value.map((instructor) => ({
instructor: instructor,
})),
+ related_courses: related_courses.value.map((course) => ({
+ course: course,
+ })),
...course,
},
}
@@ -440,6 +462,11 @@ const courseResource = createResource({
data.instructors.forEach((instructor) => {
instructors.value.push(instructor.instructor)
})
+ } else if (key == 'related_courses') {
+ related_courses.value = []
+ data.related_courses.forEach((course) => {
+ related_courses.value.push(course.course)
+ })
} else if (Object.hasOwn(course, key)) course[key] = data[key]
})
let checkboxes = [