Skip to content

Commit 5c34c91

Browse files
authored
feat(sonarr): add monitorNewItems option to sonarr settings & modal (seerr-team#2071)
1 parent a2d1e1b commit 5c34c91

5 files changed

Lines changed: 30 additions & 0 deletions

File tree

server/api/servarr/sonarr.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export interface SonarrSeries {
4949
languageProfileId: number;
5050
seasonFolder: boolean;
5151
monitored: boolean;
52+
monitorNewItems: 'all' | 'none';
5253
useSceneNumbering: boolean;
5354
runtime: number;
5455
tvdbId: number;
@@ -98,6 +99,7 @@ export interface AddSeriesOptions {
9899
tags?: number[];
99100
seriesType: SonarrSeries['seriesType'];
100101
monitored?: boolean;
102+
monitorNewItems?: SonarrSeries['monitorNewItems'];
101103
searchNow?: boolean;
102104
}
103105

@@ -269,6 +271,7 @@ class SonarrAPI extends ServarrBase<{
269271
tags: options.tags,
270272
seasonFolder: options.seasonFolder,
271273
monitored: options.monitored,
274+
monitorNewItems: options.monitorNewItems,
272275
rootFolderPath: options.rootFolderPath,
273276
seriesType: options.seriesType,
274277
addOptions: {

server/lib/settings/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ export interface SonarrSettings extends DVRSettings {
9393
activeLanguageProfileId?: number;
9494
animeTags?: number[];
9595
enableSeasonFolders: boolean;
96+
monitorNewItems: 'all' | 'none';
9697
}
9798

9899
interface Quota {

server/subscriber/MediaRequestSubscriber.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -693,6 +693,7 @@ export class MediaRequestSubscriber implements EntitySubscriberInterface<MediaRe
693693
seriesType,
694694
tags,
695695
monitored: true,
696+
monitorNewItems: sonarrSettings.monitorNewItems,
696697
searchNow: !sonarrSettings.preventSearch,
697698
};
698699

src/components/Settings/SonarrModal/index.tsx

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ const messages = defineMessages('components.Settings.SonarrModal', {
7878
animeTags: 'Anime Tags',
7979
notagoptions: 'No tags.',
8080
selecttags: 'Select tags',
81+
monitorNewItems: 'Monitor New Seasons',
8182
});
8283

8384
interface SonarrModalProps {
@@ -247,6 +248,7 @@ const SonarrModal = ({ onClose, sonarr, onSave }: SonarrModalProps) => {
247248
syncEnabled: sonarr?.syncEnabled ?? false,
248249
enableSearch: !sonarr?.preventSearch,
249250
tagRequests: sonarr?.tagRequests ?? false,
251+
monitorNewItems: sonarr?.monitorNewItems ?? 'all',
250252
}}
251253
validationSchema={SonarrSettingsSchema}
252254
onSubmit={async (values) => {
@@ -290,6 +292,7 @@ const SonarrModal = ({ onClose, sonarr, onSave }: SonarrModalProps) => {
290292
syncEnabled: values.syncEnabled,
291293
preventSearch: !values.enableSearch,
292294
tagRequests: values.tagRequests,
295+
monitorNewItems: values.monitorNewItems,
293296
};
294297
if (!sonarr) {
295298
await axios.post('/api/v1/settings/sonarr', submission);
@@ -972,6 +975,27 @@ const SonarrModal = ({ onClose, sonarr, onSave }: SonarrModalProps) => {
972975
/>
973976
</div>
974977
</div>
978+
<div className="form-row">
979+
<label htmlFor="monitorNewItems" className="text-label">
980+
{intl.formatMessage(messages.monitorNewItems)}
981+
</label>
982+
<div className="form-input-area">
983+
<div className="form-input-field">
984+
<Field
985+
as="select"
986+
id="monitorNewItems"
987+
name="monitorNewItems"
988+
disabled={!isValidated || isTesting}
989+
>
990+
<option value="all">All</option>
991+
<option value="none">None</option>
992+
</Field>
993+
</div>
994+
</div>
995+
{errors.monitorNewItems && touched.monitorNewItems && (
996+
<div className="error">{errors.monitorNewItems}</div>
997+
)}
998+
</div>
975999
<div className="form-row">
9761000
<label htmlFor="externalUrl" className="text-label">
9771001
{intl.formatMessage(messages.externalUrl)}

src/i18n/locale/en.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1072,6 +1072,7 @@
10721072
"components.Settings.SonarrModal.loadinglanguageprofiles": "Loading language profiles…",
10731073
"components.Settings.SonarrModal.loadingprofiles": "Loading quality profiles…",
10741074
"components.Settings.SonarrModal.loadingrootfolders": "Loading root folders…",
1075+
"components.Settings.SonarrModal.monitorNewItems": "Monitor New Seasons",
10751076
"components.Settings.SonarrModal.notagoptions": "No tags.",
10761077
"components.Settings.SonarrModal.port": "Port",
10771078
"components.Settings.SonarrModal.qualityprofile": "Quality Profile",

0 commit comments

Comments
 (0)