From 64235797fe1985b02daec865baf625488ae688c3 Mon Sep 17 00:00:00 2001 From: austinkelsay Date: Wed, 14 May 2025 12:57:21 -0500 Subject: [PATCH] fix lesson navigation /decryption in course --- .../courses/details/DesktopCourseDetails.js | 2 +- .../content/courses/details/MobileCourseDetails.js | 2 +- src/pages/course/[slug]/index.js | 14 ++++---------- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/components/content/courses/details/DesktopCourseDetails.js b/src/components/content/courses/details/DesktopCourseDetails.js index 7ad619e..82fd837 100644 --- a/src/components/content/courses/details/DesktopCourseDetails.js +++ b/src/components/content/courses/details/DesktopCourseDetails.js @@ -187,7 +187,7 @@ export default function DesktopCourseDetails({ icon="pi pi-play" onClick={handleContinueClick} outlined={true} - disabled={paidCourse && !decryptionPerformed} + disabled={paidCourse && (!decryptionPerformed || paidCourse === 'loading')} /> )} diff --git a/src/components/content/courses/details/MobileCourseDetails.js b/src/components/content/courses/details/MobileCourseDetails.js index 463c8f1..3746969 100644 --- a/src/components/content/courses/details/MobileCourseDetails.js +++ b/src/components/content/courses/details/MobileCourseDetails.js @@ -175,7 +175,7 @@ export default function MobileCourseDetails({ icon="pi pi-play" onClick={handleContinueClick} outlined={true} - disabled={paidCourse && !decryptionPerformed} + disabled={paidCourse && (!decryptionPerformed || paidCourse === 'loading')} /> )} diff --git a/src/pages/course/[slug]/index.js b/src/pages/course/[slug]/index.js index 090c0c3..5b9542f 100644 --- a/src/pages/course/[slug]/index.js +++ b/src/pages/course/[slug]/index.js @@ -133,7 +133,7 @@ const Course = () => { session, paidCourse, course, - lessons, + uniqueLessons, setLessons, router, activeIndex @@ -143,7 +143,7 @@ const Course = () => { const isDecrypting = useMemo(() => { if (!paidCourse || uniqueLessons.length === 0) return false; const current = uniqueLessons[activeIndex]; - return current && !decryptedLessonIds[current.id]; + return current && decryptedLessonIds && !decryptedLessonIds[current.id]; }, [paidCourse, uniqueLessons, activeIndex, decryptedLessonIds]); useEffect(() => { @@ -242,13 +242,7 @@ const Course = () => { handlePaymentError={handlePaymentError} isMobileView={isMobileView} completedLessons={completedLessons} - onLessonSelect={(index) => { - handleLessonSelect(index); - // Update URL with active parameter - const url = new URL(window.location.href); - url.searchParams.set('active', index); - router.push(url, undefined, { shallow: true }); - }} + onLessonSelect={handleLessonSelect} toggleToContentTab={() => toggleTab(1)} // Assuming content tab is at index 1 /> @@ -277,7 +271,7 @@ const Course = () => { activeIndex={activeIndex} course={course} paidCourse={paidCourse} - decryptedLessonIds={decryptedLessonIds} + decryptedLessonIds={decryptedLessonIds || {}} setCompleted={setCompleted} /> )}