diff --git a/server/lib/scanners/baseScanner.ts b/server/lib/scanners/baseScanner.ts index b78ea811f6..d837da2727 100644 --- a/server/lib/scanners/baseScanner.ts +++ b/server/lib/scanners/baseScanner.ts @@ -111,9 +111,11 @@ class BaseScanner { let changedExisting = false; if (existing[is4k ? 'status4k' : 'status'] !== MediaStatus.AVAILABLE) { - existing[is4k ? 'status4k' : 'status'] = processing - ? MediaStatus.PROCESSING - : MediaStatus.AVAILABLE; + existing[is4k ? 'status4k' : 'status'] = !processing + ? MediaStatus.AVAILABLE + : existing[is4k ? 'status4k' : 'status'] === MediaStatus.DELETED + ? MediaStatus.DELETED + : MediaStatus.PROCESSING; if (mediaAddedAt) { existing.mediaAddedAt = mediaAddedAt; } diff --git a/src/components/StatusBadge/index.tsx b/src/components/StatusBadge/index.tsx index 920df72277..d5f986dca8 100644 --- a/src/components/StatusBadge/index.tsx +++ b/src/components/StatusBadge/index.tsx @@ -139,7 +139,11 @@ const StatusBadge = ({
- - {intl.formatMessage(is4k ? messages.status4k : messages.status, { - status: intl.formatMessage(globalMessages.deleted), - })} + + + {inProgress && badgeDownloadProgress} +
+ + {intl.formatMessage( + is4k ? messages.status4k : messages.status, + { + status: inProgress + ? intl.formatMessage(globalMessages.processing) + : intl.formatMessage(globalMessages.deleted), + } + )} + + {inProgress && ( + <> + {mediaType === 'tv' && + downloadItem[0].episode && + (downloadItem.length > 1 && + downloadItem.every( + (item) => + item.downloadId && + item.downloadId === downloadItem[0].downloadId + ) ? ( + + {intl.formatMessage(messages.seasonnumber, { + seasonNumber: downloadItem[0].episode.seasonNumber, + })} + + ) : ( + + {intl.formatMessage(messages.seasonepisodenumber, { + seasonNumber: downloadItem[0].episode.seasonNumber, + episodeNumber: downloadItem[0].episode.episodeNumber, + })} + + ))} + + + )} +
);