1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-04-20 21:54:58 -04:00

New: Delete files for Select Series

Closes #5110
This commit is contained in:
Mark McDowall
2026-03-01 09:05:56 -08:00
parent e56dd15928
commit c64f4adfc4
17 changed files with 399 additions and 79 deletions
@@ -0,0 +1,66 @@
import React, { useCallback } from 'react';
import CommandNames from 'Commands/CommandNames';
import { useExecuteCommand } from 'Commands/useCommands';
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 { kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import SeriesDeleteList from '../SeriesDeleteList';
import useSelectedSeriesStats from '../useSelectedSeriesStats';
import styles from './DeleteSeriesFilesModalContent.css';
export interface DeleteSeriesFilesModalContentProps {
onModalClose(): void;
}
function DeleteSeriesFilesModalContent({
onModalClose,
}: DeleteSeriesFilesModalContentProps) {
const { series, seriesIds, totalEpisodeFileCount, totalSizeOnDisk } =
useSelectedSeriesStats();
const executeCommand = useExecuteCommand();
const onDeleteSeriesConfirmed = useCallback(() => {
executeCommand({
name: CommandNames.DeleteSeriesFiles,
seriesIds,
});
onModalClose();
}, [seriesIds, executeCommand, onModalClose]);
return (
<ModalContent onModalClose={onModalClose}>
<ModalHeader>{translate('DeleteSelectedSeriesFiles')}</ModalHeader>
<ModalBody>
<div className={styles.message}>
{translate('DeleteSeriesFilesConfirmation', {
count: series.length,
})}
</div>
<SeriesDeleteList
series={series}
showFileDetails={true}
totalEpisodeFileCount={totalEpisodeFileCount}
totalSizeOnDisk={totalSizeOnDisk}
styles={styles}
/>
</ModalBody>
<ModalFooter>
<Button onPress={onModalClose}>{translate('Cancel')}</Button>
<Button kind={kinds.DANGER} onPress={onDeleteSeriesConfirmed}>
{translate('Delete')}
</Button>
</ModalFooter>
</ModalContent>
);
}
export default DeleteSeriesFilesModalContent;