diff --git a/src/components/RequestList/RequestItem/index.tsx b/src/components/RequestList/RequestItem/index.tsx
index a4ad2a442..7d742ed8a 100644
--- a/src/components/RequestList/RequestItem/index.tsx
+++ b/src/components/RequestList/RequestItem/index.tsx
@@ -41,6 +41,7 @@ const messages = defineMessages({
tmdbid: 'TMDB ID',
tvdbid: 'TheTVDB ID',
unknowntitle: 'Unknown Title',
+ removearr: 'Remove from {arr}',
});
const isMovie = (movie: MovieDetails | TvDetails): movie is MovieDetails => {
@@ -320,6 +321,14 @@ const RequestItem = ({ request, revalidateList }: RequestItemProps) => {
revalidateList();
};
+ const deleteMediaFile = async () => {
+ if (request.media) {
+ await axios.delete(`/api/v1/media/${request.media.id}/file`);
+ await axios.delete(`/api/v1/media/${request.media.id}`);
+ revalidateList();
+ }
+ };
+
const retryRequest = async () => {
setRetrying(true);
@@ -622,14 +631,28 @@ const RequestItem = ({ request, revalidateList }: RequestItemProps) => {
)}
{requestData.status !== MediaRequestStatus.PENDING &&
hasPermission(Permission.MANAGE_REQUESTS) && (
- deleteRequest()}
- confirmText={intl.formatMessage(globalMessages.areyousure)}
- className="w-full"
- >
-
- {intl.formatMessage(messages.deleterequest)}
-
+ <>
+ deleteRequest()}
+ confirmText={intl.formatMessage(globalMessages.areyousure)}
+ className="w-full"
+ >
+
+ {intl.formatMessage(messages.deleterequest)}
+
+ deleteMediaFile()}
+ confirmText={intl.formatMessage(globalMessages.areyousure)}
+ className="w-full"
+ >
+
+
+ {intl.formatMessage(messages.removearr, {
+ arr: request.type === 'movie' ? 'Radarr' : 'Sonarr',
+ })}
+
+
+ >
)}
{requestData.status === MediaRequestStatus.PENDING &&
hasPermission(Permission.MANAGE_REQUESTS) && (