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..47f663d4 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", @@ -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 9e089f55..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} @@ -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), ); }