diff --git a/components/landing-page/header.tsx b/components/landing-page/header.tsx index 034c039..d8a7246 100644 --- a/components/landing-page/header.tsx +++ b/components/landing-page/header.tsx @@ -216,6 +216,15 @@ function Card({ const MySwal = withReactContent(Swal); const [isSaving, setIsSaving] = useState(false); const [isBookmarked, setIsBookmarked] = useState(isInitiallyBookmarked); + const DEFAULT_IMAGE = "/assets/logo1.png"; + + const [imageSrc, setImageSrc] = useState( + item?.smallThumbnailLink || DEFAULT_IMAGE + ); + + useEffect(() => { + setImageSrc(item?.smallThumbnailLink || DEFAULT_IMAGE); + }, [item?.smallThumbnailLink]); useEffect(() => { setIsBookmarked(isInitiallyBookmarked); @@ -297,11 +306,18 @@ function Card({ } w-full`} > - {item.title} */} + {item.title} setImageSrc(DEFAULT_IMAGE)} /> diff --git a/components/landing-page/media-update.tsx b/components/landing-page/media-update.tsx index fda874a..57962c6 100644 --- a/components/landing-page/media-update.tsx +++ b/components/landing-page/media-update.tsx @@ -52,6 +52,8 @@ export default function MediaUpdate() { const slug = params?.slug as string; + const DEFAULT_IMAGE = "/assets/logo1.png"; + useEffect(() => { fetchData(tab); }, [tab, slug]); @@ -327,6 +329,34 @@ export default function MediaUpdate() { } }; + function SafeImage({ + src, + alt, + href, + }: { + src?: string; + alt?: string; + href: string; + }) { + const [imgSrc, setImgSrc] = useState(src || DEFAULT_IMAGE); + + useEffect(() => { + setImgSrc(src || DEFAULT_IMAGE); + }, [src]); + + return ( + + {alt setImgSrc(DEFAULT_IMAGE)} + /> + + ); + } + return (
@@ -471,12 +501,18 @@ export default function MediaUpdate() { // 🎬 FOTO / VIDEO (default)
- {item.title} + + {/* {item.title + /> */}
)}