import {useTrans} from '@common/i18n/use-trans';
import {message} from '@common/i18n/message';
import clsx from 'clsx';
import {ImageSize, useImageSrc} from '@app/images/use-image-src';
import {Episode} from '@app/titles/models/episode';
import {EpisodeLink} from '@app/episodes/episode-link';
import {Title} from '@app/titles/models/title';
import {ReactNode} from 'react';
import {Link} from 'react-router-dom';
import {IconButton} from '@common/ui/buttons/icon-button';
import {getWatchLink} from '@app/videos/watch-page/get-watch-link';
import {MediaPlayIcon} from '@common/icons/media/media-play';
import {MovieIcon} from '@common/icons/material/Movie';
interface Props {
title: Title;
episode: Episode;
seasonNumber?: number;
className?: string;
size?: string;
lazy?: boolean;
srcSize?: ImageSize;
children?: ReactNode;
aspect?: string;
link?: string;
wrapWithLink?: boolean;
showPlayButton?: boolean;
rightAction?: ReactNode;
}
export function EpisodePoster({
episode,
title,
seasonNumber,
className,
size,
srcSize,
lazy = true,
children,
aspect = 'aspect-video',
link,
wrapWithLink = true,
showPlayButton,
rightAction,
}: Props) {
const {trans} = useTrans();
const src = useImageSrc(episode.poster, {size: srcSize});
const imageClassName = clsx(
'w-full h-full object-cover bg-fg-base/4',
!src ? 'flex items-center justify-center' : 'block',
);
let image = src ? (
) : (