feat: standard series type selector (#3628)

* feat: added a standard series type selector

* fix: moved series type property to correct interface
pull/3421/merge
Brandon Cohen 1 year ago committed by GitHub
parent f6286359cf
commit 7bdd25e5a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -984,7 +984,7 @@ export class MediaRequest {
(keyword) => keyword.id === ANIME_KEYWORD_ID (keyword) => keyword.id === ANIME_KEYWORD_ID
) )
) { ) {
seriesType = sonarrSettings.seriesType; seriesType = sonarrSettings.animeSeriesType ?? 'anime';
} }
let rootFolder = let rootFolder =

@ -70,6 +70,7 @@ export interface RadarrSettings extends DVRSettings {
export interface SonarrSettings extends DVRSettings { export interface SonarrSettings extends DVRSettings {
seriesType: 'standard' | 'daily' | 'anime'; seriesType: 'standard' | 'daily' | 'anime';
animeSeriesType: 'standard' | 'daily' | 'anime';
activeAnimeProfileId?: number; activeAnimeProfileId?: number;
activeAnimeProfileName?: string; activeAnimeProfileName?: string;
activeAnimeDirectory?: string; activeAnimeDirectory?: string;

@ -43,7 +43,8 @@ const messages = defineMessages({
qualityprofile: 'Quality Profile', qualityprofile: 'Quality Profile',
languageprofile: 'Language Profile', languageprofile: 'Language Profile',
rootfolder: 'Root Folder', rootfolder: 'Root Folder',
seriesType: 'Anime Series Type', seriesType: 'Series Type',
animeSeriesType: 'Anime Series Type',
animequalityprofile: 'Anime Quality Profile', animequalityprofile: 'Anime Quality Profile',
animelanguageprofile: 'Anime Language Profile', animelanguageprofile: 'Anime Language Profile',
animerootfolder: 'Anime Root Folder', animerootfolder: 'Anime Root Folder',
@ -246,6 +247,7 @@ const SonarrModal = ({ onClose, sonarr, onSave }: SonarrModalProps) => {
activeLanguageProfileId: sonarr?.activeLanguageProfileId, activeLanguageProfileId: sonarr?.activeLanguageProfileId,
rootFolder: sonarr?.activeDirectory, rootFolder: sonarr?.activeDirectory,
seriesType: sonarr?.seriesType, seriesType: sonarr?.seriesType,
animeSeriesType: sonarr?.animeSeriesType,
activeAnimeProfileId: sonarr?.activeAnimeProfileId, activeAnimeProfileId: sonarr?.activeAnimeProfileId,
activeAnimeLanguageProfileId: sonarr?.activeAnimeLanguageProfileId, activeAnimeLanguageProfileId: sonarr?.activeAnimeLanguageProfileId,
activeAnimeRootFolder: sonarr?.activeAnimeDirectory, activeAnimeRootFolder: sonarr?.activeAnimeDirectory,
@ -283,6 +285,7 @@ const SonarrModal = ({ onClose, sonarr, onSave }: SonarrModalProps) => {
activeProfileName: profileName, activeProfileName: profileName,
activeDirectory: values.rootFolder, activeDirectory: values.rootFolder,
seriesType: values.seriesType, seriesType: values.seriesType,
animeSeriesType: values.animeSeriesType,
activeAnimeProfileId: values.activeAnimeProfileId activeAnimeProfileId: values.activeAnimeProfileId
? Number(values.activeAnimeProfileId) ? Number(values.activeAnimeProfileId)
: undefined, : undefined,
@ -540,6 +543,27 @@ const SonarrModal = ({ onClose, sonarr, onSave }: SonarrModalProps) => {
)} )}
</div> </div>
</div> </div>
<div className="form-row">
<label htmlFor="seriesType" className="text-label">
{intl.formatMessage(messages.seriesType)}
</label>
<div className="form-input-area">
<div className="form-input-field">
<Field
as="select"
id="seriesType"
name="seriesType"
disabled={!isValidated || isTesting}
>
<option value="standard">Standard</option>
<option value="daily">Daily</option>
</Field>
</div>
</div>
{errors.seriesType && touched.seriesType && (
<div className="error">{errors.seriesType}</div>
)}
</div>
<div className="form-row"> <div className="form-row">
<label htmlFor="activeProfileId" className="text-label"> <label htmlFor="activeProfileId" className="text-label">
{intl.formatMessage(messages.qualityprofile)} {intl.formatMessage(messages.qualityprofile)}
@ -727,15 +751,15 @@ const SonarrModal = ({ onClose, sonarr, onSave }: SonarrModalProps) => {
</div> </div>
</div> </div>
<div className="form-row"> <div className="form-row">
<label htmlFor="seriesType" className="text-label"> <label htmlFor="animeSeriesType" className="text-label">
{intl.formatMessage(messages.seriesType)} {intl.formatMessage(messages.animeSeriesType)}
</label> </label>
<div className="form-input-area"> <div className="form-input-area">
<div className="form-input-field"> <div className="form-input-field">
<Field <Field
as="select" as="select"
id="seriesType" id="animeSeriesType"
name="seriesType" name="animeSeriesType"
disabled={!isValidated || isTesting} disabled={!isValidated || isTesting}
> >
<option value="standard">Standard</option> <option value="standard">Standard</option>
@ -743,8 +767,8 @@ const SonarrModal = ({ onClose, sonarr, onSave }: SonarrModalProps) => {
</Field> </Field>
</div> </div>
</div> </div>
{errors.seriesType && touched.seriesType && ( {errors.animeSeriesType && touched.animeSeriesType && (
<div className="error">{errors.seriesType}</div> <div className="error">{errors.animeSeriesType}</div>
)} )}
</div> </div>
<div className="form-row"> <div className="form-row">

@ -831,6 +831,7 @@
"components.Settings.SettingsUsers.userSettingsDescription": "Configure global and default user settings.", "components.Settings.SettingsUsers.userSettingsDescription": "Configure global and default user settings.",
"components.Settings.SettingsUsers.users": "Users", "components.Settings.SettingsUsers.users": "Users",
"components.Settings.SonarrModal.add": "Add Server", "components.Settings.SonarrModal.add": "Add Server",
"components.Settings.SonarrModal.animeSeriesType": "Anime Series Type",
"components.Settings.SonarrModal.animeTags": "Anime Tags", "components.Settings.SonarrModal.animeTags": "Anime Tags",
"components.Settings.SonarrModal.animelanguageprofile": "Anime Language Profile", "components.Settings.SonarrModal.animelanguageprofile": "Anime Language Profile",
"components.Settings.SonarrModal.animequalityprofile": "Anime Quality Profile", "components.Settings.SonarrModal.animequalityprofile": "Anime Quality Profile",
@ -860,7 +861,7 @@
"components.Settings.SonarrModal.selectQualityProfile": "Select quality profile", "components.Settings.SonarrModal.selectQualityProfile": "Select quality profile",
"components.Settings.SonarrModal.selectRootFolder": "Select root folder", "components.Settings.SonarrModal.selectRootFolder": "Select root folder",
"components.Settings.SonarrModal.selecttags": "Select tags", "components.Settings.SonarrModal.selecttags": "Select tags",
"components.Settings.SonarrModal.seriesType": "Anime Series Type", "components.Settings.SonarrModal.seriesType": "Series Type",
"components.Settings.SonarrModal.server4k": "4K Server", "components.Settings.SonarrModal.server4k": "4K Server",
"components.Settings.SonarrModal.servername": "Server Name", "components.Settings.SonarrModal.servername": "Server Name",
"components.Settings.SonarrModal.ssl": "Use SSL", "components.Settings.SonarrModal.ssl": "Use SSL",

Loading…
Cancel
Save