From 20b82146acc8fbe31f6f27165f4662dfa5d2c32b Mon Sep 17 00:00:00 2001 From: bakerboy448 <55419169+bakerboy448@users.noreply.github.com> Date: Thu, 30 Oct 2025 23:34:07 -0500 Subject: [PATCH] New: Deprecate Readarr --- .../Applications/AddApplicationItem.js | 26 ++++++++++++++++- .../Applications/Applications/Application.js | 29 ++++++++++++++++++- .../EditApplicationModalContent.js | 29 +++++++++++++++++++ .../Applications/Lidarr/LidarrV1Proxy.cs | 2 +- .../Applications/Radarr/RadarrV3Proxy.cs | 2 +- .../Applications/Readarr/Readarr.cs | 1 + .../Applications/Readarr/ReadarrV1Proxy.cs | 2 +- .../Applications/Sonarr/SonarrV3Proxy.cs | 2 +- .../Applications/Whisparr/WhisparrV3Proxy.cs | 2 +- src/NzbDrone.Core/Localization/Core/en.json | 6 ++++ 10 files changed, 94 insertions(+), 7 deletions(-) diff --git a/frontend/src/Settings/Applications/Applications/AddApplicationItem.js b/frontend/src/Settings/Applications/Applications/AddApplicationItem.js index bae97990b..3eaac45f6 100644 --- a/frontend/src/Settings/Applications/Applications/AddApplicationItem.js +++ b/frontend/src/Settings/Applications/Applications/AddApplicationItem.js @@ -1,14 +1,18 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; +import Label from 'Components/Label'; import Button from 'Components/Link/Button'; import Link from 'Components/Link/Link'; import Menu from 'Components/Menu/Menu'; import MenuContent from 'Components/Menu/MenuContent'; -import { sizes } from 'Helpers/Props'; +import { kinds, sizes } from 'Helpers/Props'; import translate from 'Utilities/String/translate'; import AddApplicationPresetMenuItem from './AddApplicationPresetMenuItem'; import styles from './AddApplicationItem.css'; +const DEPRECATED_APPLICATIONS = ['Readarr']; +const OBSOLETE_APPLICATIONS = []; + class AddApplicationItem extends Component { // @@ -36,6 +40,8 @@ class AddApplicationItem extends Component { } = this.props; const hasPresets = !!presets && !!presets.length; + const isDeprecated = DEPRECATED_APPLICATIONS.includes(implementation); + const isObsolete = OBSOLETE_APPLICATIONS.includes(implementation); return (
{implementationName} + { + isDeprecated && + + } + { + isObsolete && + + }
diff --git a/frontend/src/Settings/Applications/Applications/Application.js b/frontend/src/Settings/Applications/Applications/Application.js index 086d39ee1..f2ce84ee6 100644 --- a/frontend/src/Settings/Applications/Applications/Application.js +++ b/frontend/src/Settings/Applications/Applications/Application.js @@ -10,6 +10,9 @@ import translate from 'Utilities/String/translate'; import EditApplicationModalConnector from './EditApplicationModalConnector'; import styles from './Application.css'; +const DEPRECATED_APPLICATIONS = ['Readarr']; +const OBSOLETE_APPLICATIONS = []; + class Application extends Component { // @@ -61,10 +64,13 @@ class Application extends Component { syncLevel, fields, tags, - tagList + tagList, + implementation } = this.props; const applicationUrl = fields.find((field) => field.name === 'baseUrl')?.value; + const isDeprecated = DEPRECATED_APPLICATIONS.includes(implementation); + const isObsolete = OBSOLETE_APPLICATIONS.includes(implementation); return ( + { + isDeprecated && + + } + + { + isObsolete && + + } + { syncLevel === 'addOnly' &&