This commit is contained in:
2025-09-05 00:47:42 +02:00
parent 26ff7a7cea
commit 097e991aec

View File

@@ -1,8 +1,20 @@
import {Badge, Card, CardContent, CardCover, ColorPaletteProp, Skeleton, Typography,} from '@mui/joy' import {
Badge,
Card,
CardContent,
CardCover,
ColorPaletteProp,
Skeleton,
Typography,
} from '@mui/joy'
import { EventHandler, ReactNode, useContext } from 'react' import { EventHandler, ReactNode, useContext } from 'react'
import './MangaCard.css' import './MangaCard.css'
import MangaConnectorIcon from './MangaConnectorIcon.tsx' import MangaConnectorIcon from './MangaConnectorIcon.tsx'
import {Manga, MangaReleaseStatus, MinimalManga} from '../../api/data-contracts.ts' import {
Manga,
MangaReleaseStatus,
MinimalManga,
} from '../../api/data-contracts.ts'
import { ApiContext } from '../../contexts/ApiContext.tsx' import { ApiContext } from '../../contexts/ApiContext.tsx'
export default function MangaCard(props: MangaCardProps): ReactNode { export default function MangaCard(props: MangaCardProps): ReactNode {
@@ -16,7 +28,9 @@ export default function MangaCard(props: MangaCardProps): ReactNode {
/> />
))} ))}
className={'manga-card-badge'} className={'manga-card-badge'}
color={releaseColor(props.manga?.releaseStatus??MangaReleaseStatus.Unreleased)} color={releaseColor(
props.manga?.releaseStatus ?? MangaReleaseStatus.Unreleased
)}
> >
<Card className={'manga-card'} onClick={props.onClick}> <Card className={'manga-card'} onClick={props.onClick}>
<CardCover className={'manga-card-cover'}> <CardCover className={'manga-card-cover'}>
@@ -52,11 +66,17 @@ const stringWithRandomLength = (): string => {
const releaseColor = (status: MangaReleaseStatus): ColorPaletteProp => { const releaseColor = (status: MangaReleaseStatus): ColorPaletteProp => {
switch (status) { switch (status) {
case MangaReleaseStatus.Cancelled: return 'danger'; case MangaReleaseStatus.Cancelled:
case MangaReleaseStatus.Completed: return 'success'; return 'danger'
case MangaReleaseStatus.Unreleased: return 'neutral'; case MangaReleaseStatus.Completed:
case MangaReleaseStatus.Continuing: return 'primary'; return 'success'
case MangaReleaseStatus.OnHiatus: return 'neutral'; case MangaReleaseStatus.Unreleased:
default: return 'neutral'; return 'neutral'
case MangaReleaseStatus.Continuing:
return 'primary'
case MangaReleaseStatus.OnHiatus:
return 'neutral'
default:
return 'neutral'
} }
} }