memorium/components/MovieCard.tsx

24 lines
635 B
TypeScript
Raw Normal View History

2023-07-30 23:55:51 +02:00
import { Card } from "@components/Card.tsx";
2023-08-01 17:50:00 +02:00
import { Movie } from "@lib/resource/movies.ts";
2023-08-08 21:50:23 +02:00
import { Series } from "@lib/resource/series.ts";
2023-08-08 21:55:10 +02:00
import { isLocalImage } from "@lib/string.ts";
2023-07-30 23:55:51 +02:00
2023-08-09 13:32:28 +02:00
export function MovieCard(
{ movie, sublink = "movies" }: { sublink?: string; movie: Movie | Series },
) {
2023-07-30 23:55:51 +02:00
const { meta: { image = "/placeholder.svg" } = {} } = movie;
2023-08-08 21:55:10 +02:00
const imageUrl = isLocalImage(image)
2023-07-30 23:55:51 +02:00
? `/api/images?image=${image}&width=200&height=200`
: image;
return (
<Card
title={movie.name}
thumbnail={movie.meta.thumbnail}
2023-07-30 23:55:51 +02:00
image={imageUrl}
2023-08-09 13:32:28 +02:00
link={`/${sublink}/${movie.id}`}
2023-08-08 21:50:23 +02:00
/>
);
}