micro/packages/web/src/components/embed/embed-image.tsx

36 lines
803 B
TypeScript

import Head from "next/head";
import { Embeddable } from "./embeddable";
export const EmbedImage = ({ data }: { data: Embeddable }) => {
return (
<>
<Head>
<meta name="twitter:image" content={data.paths.direct} />
<meta property="og:image" content={data.paths.direct} />
</Head>
<img
className="object-contain h-full"
src={data.paths.direct}
alt={data.displayName}
height={data.height}
width={data.width}
/>
</>
);
};
EmbedImage.embeddable = (data: Embeddable) => {
switch (data.type) {
case "image/png":
case "image/jpeg":
case "image/gif":
case "image/svg+xml":
case "image/webp":
case "image/bmp":
case "image/tiff":
return true;
default:
return false;
}
};