From 28f4de1b7f20bc3a6e0f57c038e942aebf5348fd Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Wed, 17 Sep 2025 11:45:09 +0530 Subject: [PATCH] fix: check if question exists in local storage before adding to avoid duplicate --- frontend/src/components/Quiz.vue | 12 +++++++++++- frontend/src/pages/Home/Home.vue | 4 ++-- lms/lms/utils.py | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/Quiz.vue b/frontend/src/components/Quiz.vue index 3751dc7b..7d08941f 100644 --- a/frontend/src/components/Quiz.vue +++ b/frontend/src/components/Quiz.vue @@ -574,7 +574,17 @@ const addToLocalStorage = () => { return answer != undefined }), } - quizData ? quizData.push(questionData) : (quizData = [questionData]) + + if (quizData) { + let existingQuestion = quizData.find( + (q) => q.question_name == questionData.question_name + ) + if (!existingQuestion) { + quizData.push(questionData) + } + } else { + quizData = [questionData] + } localStorage.setItem(quiz.data.title, JSON.stringify(quizData)) } diff --git a/frontend/src/pages/Home/Home.vue b/frontend/src/pages/Home/Home.vue index 6adfd9b8..f0f6ed24 100644 --- a/frontend/src/pages/Home/Home.vue +++ b/frontend/src/pages/Home/Home.vue @@ -95,9 +95,9 @@ const streakInfo = createResource({ const subtitle = computed(() => { if (isAdmin.value) { let liveClassSuffix = - adminLiveClasses.data.length > 1 ? __('live classes') : __('live class') + adminLiveClasses.data?.length > 1 ? __('live classes') : __('live class') let evalSuffix = - adminEvals.data.length > 1 ? __('evaluations') : __('evaluation') + adminEvals.data?.length > 1 ? __('evaluations') : __('evaluation') if (adminLiveClasses.data?.length > 0 && adminEvals.data?.length > 0) { return __('You have {0} upcoming {1} and {2} {3} scheduled.').format( adminLiveClasses.data.length, diff --git a/lms/lms/utils.py b/lms/lms/utils.py index 692b756e..54011eaf 100644 --- a/lms/lms/utils.py +++ b/lms/lms/utils.py @@ -2176,7 +2176,7 @@ def get_my_latest_courses(): { "member": frappe.session.user, }, - order_by="creation desc", + order_by="modified desc", limit=3, pluck="course", )