From 6b30d2cce7d61bf54fe086afb1fc673ace005e42 Mon Sep 17 00:00:00 2001 From: austinkelsay Date: Thu, 24 Apr 2025 12:05:37 -0500 Subject: [PATCH] styling fixes, guard against edge cases in course handling, guard against invalid slug in navbar --- src/components/content/courses/CombinedLesson.js | 2 +- src/components/content/courses/CourseDetails.js | 2 +- src/components/content/courses/MobileCourseDetails.js | 6 +++--- src/components/content/courses/VideoLesson.js | 2 +- src/components/content/videos/VideoDetails.js | 2 +- src/components/navbar/Navbar.js | 9 ++++++--- src/pages/course/[slug]/index.js | 6 +++--- src/pages/index.js | 2 +- 8 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/components/content/courses/CombinedLesson.js b/src/components/content/courses/CombinedLesson.js index 657f358..ba4eeab 100644 --- a/src/components/content/courses/CombinedLesson.js +++ b/src/components/content/courses/CombinedLesson.js @@ -239,7 +239,7 @@ const CombinedLesson = ({ lesson, course, decryptionPerformed, isPaid, setComple )}
diff --git a/src/components/content/courses/CourseDetails.js b/src/components/content/courses/CourseDetails.js index e62fa20..d15a11c 100644 --- a/src/components/content/courses/CourseDetails.js +++ b/src/components/content/courses/CourseDetails.js @@ -217,7 +217,7 @@ export default function CourseDetails({ }; return ( -
+
diff --git a/src/components/content/courses/MobileCourseDetails.js b/src/components/content/courses/MobileCourseDetails.js index 4fde287..ec53934 100644 --- a/src/components/content/courses/MobileCourseDetails.js +++ b/src/components/content/courses/MobileCourseDetails.js @@ -1,7 +1,6 @@ import React from 'react'; import Image from 'next/image'; import { Tag } from 'primereact/tag'; -import { useRouter } from 'next/router'; import ZapDisplay from '@/components/zaps/ZapDisplay'; import MoreOptionsMenu from '@/components/ui/MoreOptionsMenu'; import { Divider } from 'primereact/divider'; @@ -20,8 +19,6 @@ export default function MobileCourseDetails({ isCompleted, showCompletedTag }) { - const router = useRouter(); - return ( <> {/* Mobile-specific layout */} @@ -33,6 +30,9 @@ export default function MobileCourseDetails({ processedEvent.topics.map((topic, index) => ( ))} + {isCompleted && showCompletedTag && ( + + )}
{/* Title and zaps in same row */} diff --git a/src/components/content/courses/VideoLesson.js b/src/components/content/courses/VideoLesson.js index 9f59e46..326ff53 100644 --- a/src/components/content/courses/VideoLesson.js +++ b/src/components/content/courses/VideoLesson.js @@ -204,7 +204,7 @@ const VideoLesson = ({ lesson, course, decryptionPerformed, isPaid, setCompleted {renderContent()} -
+

{lesson.title}

diff --git a/src/components/content/videos/VideoDetails.js b/src/components/content/videos/VideoDetails.js index cb879dc..957bb16 100644 --- a/src/components/content/videos/VideoDetails.js +++ b/src/components/content/videos/VideoDetails.js @@ -272,7 +272,7 @@ const VideoDetails = ({
{renderContent()} -
+
diff --git a/src/components/navbar/Navbar.js b/src/components/navbar/Navbar.js index 4dd973c..9fc60c1 100644 --- a/src/components/navbar/Navbar.js +++ b/src/components/navbar/Navbar.js @@ -34,13 +34,16 @@ const Navbar = () => { const fetchCourse = async () => { try { const { slug } = router.query; + if (!slug) return; // still preparing + + const slugStr = Array.isArray(slug) ? slug[0] : slug; let identifier; - if (slug.includes('naddr')) { - const { data } = nip19.decode(slug); + if (slugStr.includes('naddr')) { + const { data } = nip19.decode(slugStr); identifier = data?.identifier; } else { - identifier = slug; + identifier = slugStr; } if (identifier) { diff --git a/src/pages/course/[slug]/index.js b/src/pages/course/[slug]/index.js index 6e7c35c..dba6d8a 100644 --- a/src/pages/course/[slug]/index.js +++ b/src/pages/course/[slug]/index.js @@ -402,10 +402,10 @@ const Course = () => { // Render the QA section (empty for now) const renderQASection = () => { return ( -
+

Comments

{nAddress !== null && isAuthorized ? ( -
+
{ <>
{/* Tab navigation using MenuTab component */} -
-
+