Lidarr/frontend/src/Album/SceneInfo.js

85 lines
2.4 KiB
JavaScript
Raw Normal View History

2017-09-04 02:20:56 +00:00
import PropTypes from 'prop-types';
import React from 'react';
import DescriptionList from 'Components/DescriptionList/DescriptionList';
import DescriptionListItem from 'Components/DescriptionList/DescriptionListItem';
2021-10-03 15:01:09 +00:00
import translate from 'Utilities/String/translate';
2017-09-04 02:20:56 +00:00
import styles from './SceneInfo.css';
function SceneInfo(props) {
const {
sceneSeasonNumber,
sceneEpisodeNumber,
sceneAbsoluteEpisodeNumber,
alternateTitles,
2017-10-07 22:38:31 +00:00
artistType
2017-09-04 02:20:56 +00:00
} = props;
return (
<DescriptionList className={styles.descriptionList}>
2017-09-04 02:20:56 +00:00
{
sceneSeasonNumber !== undefined &&
<DescriptionListItem
titleClassName={styles.title}
descriptionClassName={styles.description}
2021-10-03 15:01:09 +00:00
title={translate('Season')}
2017-09-04 02:20:56 +00:00
data={sceneSeasonNumber}
/>
}
{
sceneEpisodeNumber !== undefined &&
<DescriptionListItem
titleClassName={styles.title}
descriptionClassName={styles.description}
2021-10-03 15:01:09 +00:00
title={translate('Episode')}
2017-09-04 02:20:56 +00:00
data={sceneEpisodeNumber}
/>
}
{
2017-10-07 22:38:31 +00:00
artistType === 'anime' && sceneAbsoluteEpisodeNumber !== undefined &&
2017-09-04 02:20:56 +00:00
<DescriptionListItem
titleClassName={styles.title}
descriptionClassName={styles.description}
2021-10-03 15:01:09 +00:00
title={translate('Absolute')}
2017-09-04 02:20:56 +00:00
data={sceneAbsoluteEpisodeNumber}
/>
}
{
!!alternateTitles.length &&
<DescriptionListItem
titleClassName={styles.title}
descriptionClassName={styles.description}
2021-10-03 15:01:09 +00:00
title={alternateTitles.length === 1 ? translate('AlternateTitleslength1Title') : translate('AlternateTitleslength1Titles')}
2017-09-04 02:20:56 +00:00
data={
<div>
{
alternateTitles.map((alternateTitle) => {
return (
<div
key={alternateTitle.title}
>
{alternateTitle.title}
</div>
);
})
}
</div>
}
/>
}
</DescriptionList>
);
}
SceneInfo.propTypes = {
sceneSeasonNumber: PropTypes.number,
sceneEpisodeNumber: PropTypes.number,
sceneAbsoluteEpisodeNumber: PropTypes.number,
alternateTitles: PropTypes.arrayOf(PropTypes.object).isRequired,
2017-10-07 22:38:31 +00:00
artistType: PropTypes.string
2017-09-04 02:20:56 +00:00
};
export default SceneInfo;