import { sinceUnixDate } from "#/api/utils"; import { Chip } from "../Chip/Chip"; interface ChipProps { settings?: any; grade?: any; status?: any; status_id?: any; user_list?: any; episodes_released?: any; episodes_total?: any; category?: any; is_favorite?: any; last_view_episode?: any; last_view_timestamp?: any; } export const ReleaseChips = ({ settings, grade, status, status_id, user_list, episodes_released, episodes_total, category, is_favorite, last_view_episode, last_view_timestamp, }: ChipProps) => { const chipSettings = { enabled: true, gradeHidden: false, statusHidden: false, categoryHidden: false, episodesHidden: false, listHidden: false, favHidden: false, lastWatchedHidden: true, ...settings, }; return ( <div className={`${chipSettings.enabled ? "flex" : "hidden"} gap-1 flex-wrap`}> {!chipSettings.gradeHidden && grade ? <Chip className="w-12" bg_color={ grade == 0 ? "hidden" : grade < 2 ? "bg-red-500" : grade < 3 ? "bg-orange-500" : grade < 4 ? "bg-yellow-500" : "bg-green-500" } name={`${grade}`} /> : ""} {!chipSettings.listHidden && user_list && ( <Chip bg_color={user_list.bg_color} name={user_list.name} /> )} {!chipSettings.statusHidden && status ? <Chip name={status.name} /> : status_id != 0 && ( <Chip name={ status_id == 1 ? "Завершено" : status_id == 2 ? "Онгоинг" : status_id == 3 && "Анонс" } /> ) } {!chipSettings.episodesHidden && ( <Chip name={episodes_released && episodes_released} name_2={episodes_total ? episodes_total + " эп." : "? эп."} devider="/" /> )} {!chipSettings.categoryHidden && category && <Chip name={category.name} />} {!chipSettings.favHidden && is_favorite && ( <div className="flex items-center justify-center bg-pink-500 rounded-sm"> <span className="w-3 px-4 py-2.5 text-white sm:px-4 sm:py-3 xl:px-6 xl:py-4 iconify mdi--heart"></span> </div> )} {!chipSettings.lastWatchedHidden && last_view_episode && ( <Chip name={ last_view_episode.name ? last_view_episode.name : `${last_view_episode.position + 1} серия` } name_2={last_view_timestamp && sinceUnixDate(last_view_timestamp)} devider=", " /> )} </div> ); };