Sonarr/frontend/src/Series/Search/SeasonInteractiveSearchModalContent.tsx
2025-04-07 16:33:09 -07:00

59 lines
1.7 KiB
TypeScript

import React from 'react';
import Button from 'Components/Link/Button';
import ModalBody from 'Components/Modal/ModalBody';
import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { scrollDirections } from 'Helpers/Props';
import InteractiveSearch from 'InteractiveSearch/InteractiveSearch';
import formatSeason from 'Season/formatSeason';
import translate from 'Utilities/String/translate';
import styles from './SeasonInteractiveSearchModalContent.css';
export interface SeasonInteractiveSearchModalContentProps {
episodeCount: number;
seriesId: number;
seasonNumber: number;
onModalClose(): void;
}
function SeasonInteractiveSearchModalContent({
episodeCount,
seriesId,
seasonNumber,
onModalClose,
}: SeasonInteractiveSearchModalContentProps) {
return (
<ModalContent onModalClose={onModalClose}>
<ModalHeader>
{seasonNumber === null
? translate('InteractiveSearchModalHeader')
: translate('InteractiveSearchModalHeaderSeason', {
season: formatSeason(seasonNumber) as string,
})}
</ModalHeader>
<ModalBody scrollDirection={scrollDirections.BOTH}>
<InteractiveSearch
type="season"
searchPayload={{
seriesId,
seasonNumber,
}}
/>
</ModalBody>
<ModalFooter className={styles.modalFooter}>
<div>
{translate('EpisodesInSeason', {
episodeCount,
})}
</div>
<Button onPress={onModalClose}>{translate('Close')}</Button>
</ModalFooter>
</ModalContent>
);
}
export default SeasonInteractiveSearchModalContent;