import PropTypes from 'prop-types'; import React, { Component } from 'react'; import Alert from 'Components/Alert'; import FieldSet from 'Components/FieldSet'; import Form from 'Components/Form/Form'; import FormGroup from 'Components/Form/FormGroup'; import FormInputGroup from 'Components/Form/FormInputGroup'; import FormLabel from 'Components/Form/FormLabel'; import LoadingIndicator from 'Components/Loading/LoadingIndicator'; import PageContent from 'Components/Page/PageContent'; import PageContentBody from 'Components/Page/PageContentBody'; import { inputTypes, kinds, sizes } from 'Helpers/Props'; import RootFolders from 'RootFolder/RootFolders'; import SettingsToolbarConnector from 'Settings/SettingsToolbarConnector'; import translate from 'Utilities/String/translate'; import NamingConnector from './Naming/NamingConnector'; import AddRootFolder from './RootFolder/AddRootFolder'; const episodeTitleRequiredOptions = [ { key: 'always', get value() { return translate('Always'); } }, { key: 'bulkSeasonReleases', get value() { return translate('OnlyForBulkSeasonReleases'); } }, { key: 'never', get value() { return translate('Never'); } } ]; const rescanAfterRefreshOptions = [ { key: 'always', get value() { return translate('Always'); } }, { key: 'afterManual', get value() { return translate('AfterManualRefresh'); } }, { key: 'never', get value() { return translate('Never'); } } ]; const downloadPropersAndRepacksOptions = [ { key: 'preferAndUpgrade', get value() { return translate('PreferAndUpgrade'); } }, { key: 'doNotUpgrade', get value() { return translate('DoNotUpgradeAutomatically'); } }, { key: 'doNotPrefer', get value() { return translate('DoNotPrefer'); } } ]; const fileDateOptions = [ { key: 'none', get value() { return translate('None'); } }, { key: 'localAirDate', get value() { return translate('LocalAirDate'); } }, { key: 'utcAirDate', get value() { return translate('UtcAirDate'); } } ]; class MediaManagement extends Component { // // Render render() { const { advancedSettings, isFetching, error, settings, hasSettings, isWindows, onInputChange, onSavePress, ...otherProps } = this.props; return ( { isFetching ?
: null } { !isFetching && error ?
{translate('MediaManagementSettingsLoadError')}
: null } { hasSettings && !isFetching && !error ?
{ advancedSettings ?
{translate('CreateEmptySeriesFolders')} {translate('DeleteEmptyFolders')}
: null } { advancedSettings ?
{translate('EpisodeTitleRequired')} { isWindows ? null : {translate('SkipFreeSpaceCheck')} } {translate('MinimumFreeSpace')} {translate('UseHardlinksInsteadOfCopy')} {translate('ImportUsingScript')} { settings.useScriptImport.value ? {translate('ImportScriptPath')} : null } {translate('ImportExtraFiles')} { settings.importExtraFiles.value ? {translate('ImportExtraFiles')} : null }
: null }
{translate('UnmonitorDeletedEpisodes')} {translate('DownloadPropersAndRepacks')} {translate('AnalyseVideoFiles')} {translate('RescanSeriesFolderAfterRefresh')} {translate('ChangeFileDate')} {translate('RecyclingBin')} {translate('RecyclingBinCleanup')}
{ advancedSettings && !isWindows ?
{translate('SetPermissions')} {translate('ChmodFolder')} {translate('ChownGroup')}
: null }
: null }
); } } MediaManagement.propTypes = { advancedSettings: PropTypes.bool.isRequired, isFetching: PropTypes.bool.isRequired, error: PropTypes.object, settings: PropTypes.object.isRequired, hasSettings: PropTypes.bool.isRequired, isWindows: PropTypes.bool.isRequired, onSavePress: PropTypes.func.isRequired, onInputChange: PropTypes.func.isRequired }; export default MediaManagement;