Files
AmirReza Jamali 4839c325a5 Bind cms page
2025-11-15 09:43:45 +03:30

29 lines
541 B
TypeScript

"use client";
import Image, { ImageProps } from "next/image";
import { useState } from "react";
interface ImageWithFallbackProps extends Omit<ImageProps, "src" | "alt"> {
src: string;
alt: string;
fallbackSrc?: string;
}
export default function ImageWithFallback({
src,
alt,
fallbackSrc = "/clipboard.svg",
...props
}: ImageWithFallbackProps) {
const [imgSrc, setImgSrc] = useState(src);
return (
<Image
{...props}
src={imgSrc}
alt={alt}
onError={() => setImgSrc(fallbackSrc)}
/>
);
}