diff --git a/src/components/Settings/SettingsServices.tsx b/src/components/Settings/SettingsServices.tsx index abc4f66a..635c0541 100644 --- a/src/components/Settings/SettingsServices.tsx +++ b/src/components/Settings/SettingsServices.tsx @@ -28,6 +28,7 @@ const messages = defineMessages({ ssl: 'SSL', default: 'Default', default4k: 'Default 4K', + is4k: '4K', address: 'Address', activeProfile: 'Active Profile', addradarr: 'Add Radarr Server', @@ -36,6 +37,8 @@ const messages = defineMessages({ 'At least one {serverType} server must be marked as default in order for {mediaType} requests to be processed.', noDefaultNon4kServer: 'If you only have a single {serverType} server for both non-4K and 4K content (or if you only download 4K content), your {serverType} server should NOT be designated as a 4K server.', + noDefault4kServer: + 'A 4K {serverType} server must be marked as default in order to enable users to submit 4K {mediaType} requests.', mediaTypeMovie: 'movie', mediaTypeSeries: 'series', }); @@ -43,7 +46,7 @@ const messages = defineMessages({ interface ServerInstanceProps { name: string; isDefault?: boolean; - isDefault4K?: boolean; + is4k?: boolean; hostname: string; port: number; isSSL?: boolean; @@ -59,7 +62,7 @@ const ServerInstance: React.FC = ({ hostname, port, profileName, - isDefault4K = false, + is4k = false, isDefault = false, isSSL = false, isSonarr = false, @@ -77,7 +80,7 @@ const ServerInstance: React.FC = ({
  • -
    +

    = ({ {name}

    - {isDefault && {intl.formatMessage(messages.default)}} - {isDefault4K && ( + {isDefault && !is4k && ( + {intl.formatMessage(messages.default)} + )} + {isDefault && is4k && ( + {intl.formatMessage(messages.default4k)} + )} + {!isDefault && is4k && ( - {intl.formatMessage(messages.default4k)} + {intl.formatMessage(messages.is4k)} )} {isSSL && ( @@ -274,20 +282,30 @@ const SettingsServices: React.FC = () => { mediaType: intl.formatMessage(messages.mediaTypeMovie), })} /> + ) : !radarrData.some( + (radarr) => radarr.isDefault && !radarr.is4k + ) ? ( + + {msg} + + ); + }, + })} + /> ) : ( + radarrData.some((radarr) => radarr.is4k) && !radarrData.some( - (radarr) => radarr.isDefault && !radarr.is4k + (radarr) => radarr.isDefault && radarr.is4k ) && ( - {msg} - - ); - }, + mediaType: intl.formatMessage(messages.mediaTypeMovie), })} /> ) @@ -301,8 +319,8 @@ const SettingsServices: React.FC = () => { port={radarr.port} profileName={radarr.activeProfileName} isSSL={radarr.useSsl} - isDefault={radarr.isDefault && !radarr.is4k} - isDefault4K={radarr.is4k && radarr.isDefault} + isDefault={radarr.isDefault} + is4k={radarr.is4k} externalUrl={radarr.externalUrl} onEdit={() => setEditRadarrModal({ open: true, radarr })} onDelete={() => @@ -354,20 +372,30 @@ const SettingsServices: React.FC = () => { mediaType: intl.formatMessage(messages.mediaTypeSeries), })} /> + ) : !sonarrData.some( + (sonarr) => sonarr.isDefault && !sonarr.is4k + ) ? ( + + {msg} + + ); + }, + })} + /> ) : ( + sonarrData.some((sonarr) => sonarr.is4k) && !sonarrData.some( - (sonarr) => sonarr.isDefault && !sonarr.is4k + (sonarr) => sonarr.isDefault && sonarr.is4k ) && ( - {msg} - - ); - }, + mediaType: intl.formatMessage(messages.mediaTypeSeries), })} /> ) @@ -382,8 +410,8 @@ const SettingsServices: React.FC = () => { profileName={sonarr.activeProfileName} isSSL={sonarr.useSsl} isSonarr - isDefault4K={sonarr.isDefault && sonarr.is4k} - isDefault={sonarr.isDefault && !sonarr.is4k} + isDefault={sonarr.isDefault} + is4k={sonarr.is4k} externalUrl={sonarr.externalUrl} onEdit={() => setEditSonarrModal({ open: true, sonarr })} onDelete={() => diff --git a/src/i18n/locale/en.json b/src/i18n/locale/en.json index 8a997c06..589b1de2 100644 --- a/src/i18n/locale/en.json +++ b/src/i18n/locale/en.json @@ -542,6 +542,7 @@ "components.Settings.generalsettingsDescription": "Configure global and default settings for Overseerr.", "components.Settings.hideAvailable": "Hide Available Media", "components.Settings.hostname": "Hostname or IP Address", + "components.Settings.is4k": "4K", "components.Settings.librariesRemaining": "Libraries Remaining: {count}", "components.Settings.manualscan": "Manual Library Scan", "components.Settings.manualscanDescription": "Normally, this will only be run once every 24 hours. Overseerr will check your Plex server's recently added more aggressively. If this is your first time configuring Plex, a one-time full manual library scan is recommended!", @@ -555,6 +556,7 @@ "components.Settings.menuPlexSettings": "Plex", "components.Settings.menuServices": "Services", "components.Settings.menuUsers": "Users", + "components.Settings.noDefault4kServer": "A 4K {serverType} server must be marked as default in order to enable users to submit 4K {mediaType} requests.", "components.Settings.noDefaultNon4kServer": "If you only have a single {serverType} server for both non-4K and 4K content (or if you only download 4K content), your {serverType} server should NOT be designated as a 4K server.", "components.Settings.noDefaultServer": "At least one {serverType} server must be marked as default in order for {mediaType} requests to be processed.", "components.Settings.notificationAgentSettingsDescription": "Configure and enable notification agents.",