import Link from "next/link"; import { sinceUnixDate } from "#/api/utils"; import { Chip } from "#/components/Chip/Chip"; const profile_lists = { // 0: "Не смотрю", 1: { name: "Смотрю", bg_color: "bg-green-500" }, 2: { name: "В планах", bg_color: "bg-purple-500" }, 3: { name: "Просмотрено", bg_color: "bg-blue-500" }, 4: { name: "Отложено", bg_color: "bg-yellow-500" }, 5: { name: "Брошено", bg_color: "bg-red-500" }, }; export const ReleaseLinkPoster = (props: any) => { const grade = props.grade.toFixed(1); const profile_list_status = props.profile_list_status; let user_list = null; if (profile_list_status != null || profile_list_status != 0) { user_list = profile_lists[profile_list_status]; } return ( <Link href={`/release/${props.id}`} className={props.isLinkDisabled ? "pointer-events-none" : ""} aria-disabled={props.isLinkDisabled} tabIndex={props.isLinkDisabled ? -1 : undefined} > <div className="relative w-full h-64 gap-8 p-2 overflow-hidden bg-white bg-center bg-no-repeat bg-cover border border-gray-200 rounded-lg shadow-md lg:min-w-[300px] lg:min-h-[385px] lg:max-w-[300px] lg:max-h-[385px] lg:bg-top dark:border-gray-700 dark:bg-gray-800" style={{ backgroundImage: `linear-gradient(to bottom, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.9) 100%), url(${props.image})`, }} > <div className="flex flex-wrap gap-1"> <Chip bg_color={ props.grade.toFixed(1) == 0 ? "hidden" : props.grade.toFixed(1) < 2 ? "bg-red-500" : props.grade.toFixed(1) < 3 ? "bg-orange-500" : props.grade.toFixed(1) < 4 ? "bg-yellow-500" : "bg-green-500" } name={props.grade.toFixed(1)} /> {props.status ? ( <Chip name={props.status.name} /> ) : ( <Chip name={ props.status_id == 1 ? "Завершено" : props.status_id == 2 ? "Онгоинг" : "Анонс" } /> )} <Chip name={props.episodes_released && props.episodes_released} name_2={ props.episodes_total ? props.episodes_total + " эп." : "? эп." } devider="/" /> </div> <div className="absolute flex flex-col gap-2 text-white bottom-4 left-2 right-2"> {props.title_ru && ( <p className="text-xl font-bold text-white md:text-2xl"> {props.title_ru} </p> )} {props.title_original && ( <p className="text-sm text-gray-300 md:text-base"> {props.title_original} </p> )} </div> </div> </Link> ); };