diff --git a/src/components/RequestList/RequestItem/index.tsx b/src/components/RequestList/RequestItem/index.tsx
index 22a988cce..e989f2f6f 100644
--- a/src/components/RequestList/RequestItem/index.tsx
+++ b/src/components/RequestList/RequestItem/index.tsx
@@ -42,6 +42,7 @@ const messages = defineMessages('components.RequestList.RequestItem', {
tmdbid: 'TMDB ID',
tvdbid: 'TheTVDB ID',
unknowntitle: 'Unknown Title',
+ removearr: 'Remove from {arr}',
profileName: 'Profile',
});
@@ -341,6 +342,18 @@ const RequestItem = ({ request, revalidateList }: RequestItemProps) => {
revalidateList();
};
+ const deleteMediaFile = async () => {
+ if (request.media) {
+ await fetch(`/api/v1/media/${request.media.id}/file`, {
+ method: 'DELETE',
+ });
+ await fetch(`/api/v1/media/${request.media.id}`, {
+ method: 'DELETE',
+ });
+ revalidateList();
+ }
+ };
+
const retryRequest = async () => {
setRetrying(true);
@@ -666,14 +679,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) && (
diff --git a/src/i18n/locale/en.json b/src/i18n/locale/en.json
index c86c5d3e6..1642872b3 100644
--- a/src/i18n/locale/en.json
+++ b/src/i18n/locale/en.json
@@ -298,6 +298,7 @@
"components.ManageSlideOver.plays": "{playCount, number} {playCount, plural, one {play} other {plays}}",
"components.ManageSlideOver.removearr": "Remove from {arr}",
"components.ManageSlideOver.removearr4k": "Remove from 4K {arr}",
+ "components.RequestList.RequestItem.removearr": "Remove from {arr}",
"components.ManageSlideOver.tvshow": "series",
"components.MediaSlider.ShowMoreCard.seemore": "See More",
"components.MovieDetails.MovieCast.fullcast": "Full Cast",