parent
64cc39bae4
commit
f6dcf28887
@ -0,0 +1,64 @@
|
|||||||
|
import TitleCard from '@app/components/TitleCard';
|
||||||
|
import { MediaType } from '@server/constants/media';
|
||||||
|
import type {
|
||||||
|
ArtistResult,
|
||||||
|
RecordingResult,
|
||||||
|
ReleaseGroupResult,
|
||||||
|
ReleaseResult,
|
||||||
|
WorkResult,
|
||||||
|
} from '@server/models/Search';
|
||||||
|
|
||||||
|
export interface FetchedDataTitleCardProps {
|
||||||
|
data:
|
||||||
|
| ArtistResult
|
||||||
|
| ReleaseGroupResult
|
||||||
|
| ReleaseResult
|
||||||
|
| WorkResult
|
||||||
|
| RecordingResult;
|
||||||
|
canExpand?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
const FetchedDataTitleCard = ({
|
||||||
|
canExpand,
|
||||||
|
data,
|
||||||
|
}: FetchedDataTitleCardProps) => {
|
||||||
|
if (data.mediaType === 'artist') {
|
||||||
|
const newData = data as ArtistResult;
|
||||||
|
return (
|
||||||
|
<TitleCard
|
||||||
|
id={data.id}
|
||||||
|
image={data.posterPath}
|
||||||
|
status={newData.mediaInfo?.status}
|
||||||
|
title={newData.name}
|
||||||
|
mediaType={data.mediaType}
|
||||||
|
canExpand={canExpand}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
} else if (data.mediaType === 'release-group') {
|
||||||
|
return (
|
||||||
|
<TitleCard
|
||||||
|
id={data.id}
|
||||||
|
image={data.posterPath}
|
||||||
|
status={data.mediaInfo?.status}
|
||||||
|
title={data.title}
|
||||||
|
mediaType={data.mediaType}
|
||||||
|
canExpand={canExpand}
|
||||||
|
type={data.type ?? MediaType.MUSIC}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
} else if (data.mediaType === 'release') {
|
||||||
|
return (
|
||||||
|
<TitleCard
|
||||||
|
id={data.id}
|
||||||
|
image={data.posterPath}
|
||||||
|
status={data.mediaInfo?.status}
|
||||||
|
title={data.title}
|
||||||
|
mediaType={data.mediaType}
|
||||||
|
canExpand={canExpand}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default FetchedDataTitleCard;
|
Loading…
Reference in new issue