import { ReactNode, useEffect, useState } from 'react'; interface Props { // props for the image to load src?: string; // a link to an external image fallbackIcon: ReactNode; alt?: string; className?: string; } export function FallbackImage({ src, fallbackIcon, alt, className }: Props) { const [error, setError] = useState(false); useEffect(() => { setError(false); }, [src]); if (!error && src) { return ( {alt} setError(true)} /> ); } // fallback icon if there is an error loading the image return <>{fallbackIcon}; }