refactor: release section

This commit is contained in:
Kentai Radiquum 2025-03-26 00:51:30 +05:00
parent e1e176c24b
commit 1530fa3937
Signed by: Radiquum
GPG key ID: 858E8EE696525EED
11 changed files with 167 additions and 56 deletions

View file

@ -1,3 +1,4 @@
import { sinceUnixDate } from "#/api/utils";
import { Chip } from "../Chip/Chip";
interface ChipProps {
@ -10,6 +11,8 @@ interface ChipProps {
episodes_total?: any;
category?: any;
is_favorite?: any;
last_view_episode?: any;
last_view_timestamp?: any;
}
export const ReleaseChips = ({
@ -22,12 +25,24 @@ export const ReleaseChips = ({
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={`${settings.chips.enabled ? "flex" : "hidden"} gap-1 flex-wrap`}
>
{!settings.chips.gradeHidden && grade ?
<div className={`${chipSettings.enabled ? "flex" : "hidden"} gap-1 flex-wrap`}>
{!chipSettings.gradeHidden && grade ?
<Chip
className="w-12"
bg_color={
@ -43,10 +58,10 @@ export const ReleaseChips = ({
name={`${grade}`}
/>
: ""}
{!settings.chips.listHidden && user_list && (
{!chipSettings.listHidden && user_list && (
<Chip bg_color={user_list.bg_color} name={user_list.name} />
)}
{!settings.chips.statusHidden && status ?
{!chipSettings.statusHidden && status ?
<Chip name={status.name} />
: status_id != 0 && (
<Chip
@ -59,21 +74,30 @@ export const ReleaseChips = ({
/>
)
}
{!settings.chips.episodesHidden && (
{!chipSettings.episodesHidden && (
<Chip
name={episodes_released && episodes_released}
name_2={episodes_total ? episodes_total + " эп." : "? эп."}
devider="/"
/>
)}
{!settings.chips.categoryHidden && category && (
<Chip name={category.name} />
)}
{!settings.chips.favHidden && is_favorite && (
{!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>
);
};