Compare commits

...

6 Commits

Author SHA1 Message Date
Thomas Loubiou
b02711fd5e chore: merge develop 2024-09-18 20:57:05 +02:00
Thomas Loubiou
c661f09445 refactor: use fetch API 2024-09-18 20:52:46 +02:00
Thomas Loubiou
12eaf6505a Merge branch 'Fallenbagel:develop' into develop 2024-06-07 09:45:00 +02:00
Thomas Loubiou
ceb8ce9c33 fix(i18n): remove french translation 2024-04-18 12:26:11 +02:00
Thomas Loubiou
2f7422b312 fix(i18n): add missing translations 2024-02-02 23:12:51 +01:00
Thomas Loubiou
1ff73e3aab feat: allow requests managers to delete media files 2024-02-02 23:01:50 +01:00
2 changed files with 36 additions and 8 deletions

View File

@@ -43,6 +43,7 @@ const messages = defineMessages('components.RequestList.RequestItem', {
tmdbid: 'TMDB ID',
tvdbid: 'TheTVDB ID',
unknowntitle: 'Unknown Title',
removearr: 'Remove from {arr}',
profileName: 'Profile',
});
@@ -342,6 +343,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);
@@ -667,6 +680,7 @@ const RequestItem = ({ request, revalidateList }: RequestItemProps) => {
)}
{requestData.status !== MediaRequestStatus.PENDING &&
hasPermission(Permission.MANAGE_REQUESTS) && (
<>
<ConfirmButton
onClick={() => deleteRequest()}
confirmText={intl.formatMessage(globalMessages.areyousure)}
@@ -675,6 +689,19 @@ const RequestItem = ({ request, revalidateList }: RequestItemProps) => {
<TrashIcon />
<span>{intl.formatMessage(messages.deleterequest)}</span>
</ConfirmButton>
<ConfirmButton
onClick={() => deleteMediaFile()}
confirmText={intl.formatMessage(globalMessages.areyousure)}
className="w-full"
>
<TrashIcon />
<span>
{intl.formatMessage(messages.removearr, {
arr: request.type === 'movie' ? 'Radarr' : 'Sonarr',
})}
</span>
</ConfirmButton>
</>
)}
{requestData.status === MediaRequestStatus.PENDING &&
hasPermission(Permission.MANAGE_REQUESTS) && (

View File

@@ -298,6 +298,7 @@
"components.ManageSlideOver.plays": "<strong>{playCount, number}</strong> {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",