Files
lume/src/shared/image.tsx
2023-06-22 17:36:12 +07:00

22 lines
440 B
TypeScript

import { ImgHTMLAttributes } from "react";
interface Props extends ImgHTMLAttributes<any> {
fallback: string;
}
export function Image({ src, fallback, ...props }: Props) {
return (
<img
{...props}
src={src || fallback}
onError={({ currentTarget }) => {
currentTarget.onerror = null;
currentTarget.src = fallback;
}}
decoding="async"
alt="lume default img"
style={{ contentVisibility: "auto" }}
/>
);
}