import Image from 'next/future/image';
import { getProxiedIMDbImgUrl, modifyIMDbImg } from 'src/utils/helpers';
import { Card } from 'src/components/card';
import type { Data } from 'src/interfaces/shared/list';
import styles from 'src/styles/modules/components/list/titles.module.scss';
import { CSSProperties } from 'react';
import OptionalLink from './OptionalLink';
type Props = {
titles: Data<'titles'>[];
};
const Titles = ({ titles }: Props) => {
return (
{titles.map(title => (
))}
);
};
export default Titles;
const Title = (props: Props['titles'][number]) => {
const style: CSSProperties = {
backgroundImage: props.image
? `url(${getProxiedIMDbImgUrl(modifyIMDbImg(props.image, 300))})`
: undefined,
};
return (
{props.image ? (
) : (
)}
{props.name} {props.year}
{props.certificate && - {props.certificate}
}
{props.runtime && - {props.runtime}
}
{props.genre && - {props.genre}
}
{Boolean(props.rating) && -
{props.rating}
Avg. rating
}
{Boolean(props.metascore) && -
{props.metascore}
Metascore
}
Plot: {props.plot}
{props.otherInfo.map(([infoHeading, info]) => (
-
{infoHeading}: {info}
))}
);
};