From 77cda10419150697b8f1e5bed1a1aa5e876f90bf Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Tue, 12 Dec 2023 10:19:52 +0530 Subject: [PATCH] feat: course details page --- frontend/src/components/CourseCard.vue | 4 +- frontend/src/components/CourseCardOverlay.vue | 47 +++++++ frontend/src/components/CourseOutline.vue | 21 ++++ frontend/src/components/UserDropdown.vue | 10 +- frontend/src/pages/CourseDetail.vue | 87 ++++++++++++- frontend/src/pages/Courses.vue | 68 ++++++---- frontend/src/router.js | 9 +- frontend/src/stores/session.js | 28 +++-- frontend/src/stores/user.js | 36 ++---- lms/lms/api.py | 20 ++- lms/lms/utils.py | 117 +++++++++++------- 11 files changed, 307 insertions(+), 140 deletions(-) create mode 100644 frontend/src/components/CourseCardOverlay.vue create mode 100644 frontend/src/components/CourseOutline.vue diff --git a/frontend/src/components/CourseCard.vue b/frontend/src/components/CourseCard.vue index 4d3c407b..19e01df3 100644 --- a/frontend/src/components/CourseCard.vue +++ b/frontend/src/components/CourseCard.vue @@ -68,10 +68,8 @@ import { BookOpen, Users, Star } from 'lucide-vue-next' import { computed } from 'vue' import UserAvatar from '@/components/UserAvatar.vue' import { sessionStore } from '@/stores/session' -import { usersStore } from '@/stores/user' -const { isLoggedIn } = sessionStore() -const { getUser } = usersStore() +const { isLoggedIn, getUser } = sessionStore() const user = computed(() => isLoggedIn && getUser()) const props = defineProps({ diff --git a/frontend/src/components/CourseCardOverlay.vue b/frontend/src/components/CourseCardOverlay.vue new file mode 100644 index 00000000..1f664128 --- /dev/null +++ b/frontend/src/components/CourseCardOverlay.vue @@ -0,0 +1,47 @@ +