From 5226cf8ae245f34a7409abf2b0e827eb6f1ad1bd Mon Sep 17 00:00:00 2001 From: Saurabh Kumar Bajpai Date: Sun, 2 Aug 2026 19:01:39 +0530 Subject: [PATCH 1/2] fix: code quality and safety improvements --- src/components/AlgoliaSiteSearch/index.tsx | 2 +- src/components/blogCarousel/blogCard.tsx | 2 +- src/pages/broadcasts/details.tsx | 3 ++- src/pages/broadcasts/index.tsx | 3 ++- src/pages/courses/explore.tsx | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/components/AlgoliaSiteSearch/index.tsx b/src/components/AlgoliaSiteSearch/index.tsx index 82a998a4..5548ed2b 100644 --- a/src/components/AlgoliaSiteSearch/index.tsx +++ b/src/components/AlgoliaSiteSearch/index.tsx @@ -112,7 +112,7 @@ export default function AlgoliaSiteSearch(): React.ReactElement | null { return; } - container.innerHTML = ""; + container.textContent = ""; window.SiteSearch.init({ container: `#${containerId}`, applicationId, diff --git a/src/components/blogCarousel/blogCard.tsx b/src/components/blogCarousel/blogCard.tsx index 01f609c5..316d6803 100644 --- a/src/components/blogCarousel/blogCard.tsx +++ b/src/components/blogCarousel/blogCard.tsx @@ -37,7 +37,7 @@ function tagColor(label: string) { function formatDate(dateStr?: string) { if (!dateStr) return ""; const d = new Date(dateStr); - if (isNaN(d.getTime())) return dateStr; + if (Number.isNaN(d.getTime())) return dateStr; return d.toLocaleDateString("en-US", { month: "short", day: "2-digit", diff --git a/src/pages/broadcasts/details.tsx b/src/pages/broadcasts/details.tsx index 0aedaaf8..a7793c56 100644 --- a/src/pages/broadcasts/details.tsx +++ b/src/pages/broadcasts/details.tsx @@ -47,7 +47,8 @@ export default function VideoDetails(): ReactElement { const response = await fetch( `https://www.youtube.com/oembed?url=${encodeURIComponent(video.youtubeUrl)}&format=json`, ); - const data = await response.json(); + if (!response.ok) throw new Error("Request failed"); +const data = await response.json(); setTitle(data.title); } catch (error) { setTitle("Video Title Unavailable"); diff --git a/src/pages/broadcasts/index.tsx b/src/pages/broadcasts/index.tsx index 78227719..63100fe7 100644 --- a/src/pages/broadcasts/index.tsx +++ b/src/pages/broadcasts/index.tsx @@ -123,7 +123,8 @@ const VideoCard: React.FC<{ const response = await fetch( `https://www.youtube.com/oembed?url=${encodeURIComponent(video.youtubeUrl)}&format=json`, ); - const data = await response.json(); + if (!response.ok) throw new Error("Request failed"); +const data = await response.json(); setTitle(data.title); } catch (error) { setTitle("Video Title Unavailable"); diff --git a/src/pages/courses/explore.tsx b/src/pages/courses/explore.tsx index 9e089f55..a440df3b 100644 --- a/src/pages/courses/explore.tsx +++ b/src/pages/courses/explore.tsx @@ -180,7 +180,7 @@ export default function ExploreCourses() { ); } else if (sortOption === "duration-asc") { result = [...result].sort( - (a, b) => parseInt(a.duration) - parseInt(b.duration), + (a, b) => parseInt(a.duration, 10) - parseInt(b.duration, 10), ); } From df05fa8d88051bb0fbbc6fa2f5ae70ed43eec7ed Mon Sep 17 00:00:00 2001 From: Saurabh Kumar Bajpai Date: Mon, 3 Aug 2026 00:21:35 +0530 Subject: [PATCH 2/2] fix: additional real bug fixes --- src/components/blogCarousel/blogCard.tsx | 2 +- src/pages/broadcasts/index.tsx | 2 +- src/pages/courses/explore.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/blogCarousel/blogCard.tsx b/src/components/blogCarousel/blogCard.tsx index 316d6803..47f663d4 100644 --- a/src/components/blogCarousel/blogCard.tsx +++ b/src/components/blogCarousel/blogCard.tsx @@ -122,7 +122,7 @@ const BlogCard = ({ {/* Avatar stack — shows all authors overlapped */} {authorProfiles.length > 0 && (
- {authorProfiles.map((author, i) => ( + {(authorProfiles ?? []).map((author, i) => (

{title}

- {videos.map((video) => ( + {(videos ?? []).map((video) => ( ))}
diff --git a/src/pages/courses/explore.tsx b/src/pages/courses/explore.tsx index a440df3b..9b75ddbb 100644 --- a/src/pages/courses/explore.tsx +++ b/src/pages/courses/explore.tsx @@ -67,7 +67,7 @@ function CourseCard({ course }: { course: Course }) { {/* Tags */}
- {course.tags.map((tag) => ( + {course.(tags ?? []).map((tag) => ( {tag}