@@ -64,6 +64,9 @@ const messages = defineMessages('components.Settings.SettingsMain', {
6464 validationApplicationUrlTrailingSlash : 'URL must not end in a trailing slash' ,
6565 partialRequestsEnabled : 'Allow Partial Series Requests' ,
6666 enableSpecialEpisodes : 'Allow Special Episodes Requests' ,
67+ removeUnmonitoredEnabled : 'Remove Unmonitored Media' ,
68+ removeUnmonitoredExplanation :
69+ 'Remove Movies/Seasons from Jellyseerr that are not available and have been un-monitored since' ,
6770 locale : 'Display Language' ,
6871 youtubeUrl : 'YouTube URL' ,
6972 youtubeUrlTip :
@@ -175,6 +178,7 @@ const SettingsMain = () => {
175178 enableSpecialEpisodes : data ?. enableSpecialEpisodes ,
176179 cacheImages : data ?. cacheImages ,
177180 youtubeUrl : data ?. youtubeUrl ,
181+ removeUnmonitoredEnabled : data ?. removeUnmonitoredEnabled ,
178182 } }
179183 enableReinitialize
180184 validationSchema = { MainSettingsSchema }
@@ -195,6 +199,7 @@ const SettingsMain = () => {
195199 enableSpecialEpisodes : values . enableSpecialEpisodes ,
196200 cacheImages : values . cacheImages ,
197201 youtubeUrl : values . youtubeUrl ,
202+ removeUnmonitoredEnabled : values . removeUnmonitoredEnabled ,
198203 } ) ;
199204 mutate ( '/api/v1/settings/public' ) ;
200205 mutate ( '/api/v1/status' ) ;
@@ -535,6 +540,35 @@ const SettingsMain = () => {
535540 />
536541 </ div >
537542 </ div >
543+ < div className = "form-row" >
544+ < label
545+ htmlFor = "removeUnmonitoredEnabled"
546+ className = "checkbox-label"
547+ >
548+ < span className = "mr-2" >
549+ { intl . formatMessage ( messages . removeUnmonitoredEnabled ) }
550+ </ span >
551+ < SettingsBadge badgeType = "experimental" />
552+ < span className = "label-tip" >
553+ { intl . formatMessage (
554+ messages . removeUnmonitoredExplanation
555+ ) }
556+ </ span >
557+ </ label >
558+ < div className = "form-input-area" >
559+ < Field
560+ type = "checkbox"
561+ id = "removeUnmonitoredEnabled"
562+ name = "removeUnmonitoredEnabled"
563+ onChange = { ( ) => {
564+ setFieldValue (
565+ 'removeUnmonitoredEnabled' ,
566+ ! values . removeUnmonitoredEnabled
567+ ) ;
568+ } }
569+ />
570+ </ div >
571+ </ div >
538572 < div className = "form-row" >
539573 < label htmlFor = "youtubeUrl" className = "text-label" >
540574 { intl . formatMessage ( messages . youtubeUrl ) }
0 commit comments