mirror of
https://github.com/Sonarr/Sonarr.git
synced 2026-04-17 21:26:13 -04:00
New: Season packs and multi-episode releases will show as a single item in the queue Closes #6537
67 lines
1.6 KiB
TypeScript
67 lines
1.6 KiB
TypeScript
import React from 'react';
|
|
import Popover from 'Components/Tooltip/Popover';
|
|
import Episode from 'Episode/Episode';
|
|
import EpisodeTitleLink from 'Episode/EpisodeTitleLink';
|
|
import Series from 'Series/Series';
|
|
import translate from 'Utilities/String/translate';
|
|
import styles from './EpisodeTitleCellContent.css';
|
|
|
|
interface EpisodeTitleCellContentProps {
|
|
episodes: Episode[];
|
|
series?: Series;
|
|
}
|
|
|
|
export default function EpisodeTitleCellContent({
|
|
episodes,
|
|
series,
|
|
}: EpisodeTitleCellContentProps) {
|
|
if (episodes.length === 0 || !series) {
|
|
return '-';
|
|
}
|
|
|
|
if (episodes.length === 1) {
|
|
const episode = episodes[0];
|
|
|
|
return (
|
|
<EpisodeTitleLink
|
|
episodeId={episode.id}
|
|
seriesId={series.id}
|
|
episodeTitle={episode.title}
|
|
episodeEntity="episodes"
|
|
showOpenSeriesButton={true}
|
|
/>
|
|
);
|
|
}
|
|
|
|
return (
|
|
<Popover
|
|
anchor={
|
|
<span className={styles.multiple}>{translate('MultipleEpisodes')}</span>
|
|
}
|
|
title={translate('EpisodeTitles')}
|
|
body={
|
|
<>
|
|
{episodes.map((episode) => {
|
|
return (
|
|
<div key={episode.id} className={styles.row}>
|
|
<div className={styles.episodeNumber}>
|
|
{episode.episodeNumber}
|
|
</div>
|
|
|
|
<EpisodeTitleLink
|
|
episodeId={episode.id}
|
|
seriesId={series.id}
|
|
episodeTitle={episode.title}
|
|
episodeEntity="episodes"
|
|
showOpenSeriesButton={true}
|
|
/>
|
|
</div>
|
|
);
|
|
})}
|
|
</>
|
|
}
|
|
position="right"
|
|
/>
|
|
);
|
|
}
|