import PropTypes from 'prop-types'; import React, { Component } from 'react'; 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, sizes } from 'Helpers/Props'; import SettingsToolbarConnector from 'Settings/SettingsToolbarConnector'; import translate from 'Utilities/String/translate'; import NamingConnector from './Naming/NamingConnector'; import RootFoldersConnector from './RootFolder/RootFoldersConnector'; const rescanAfterRefreshOptions = [ { key: 'always', value: translate('Always') }, { key: 'afterManual', value: translate('AfterManualRefresh') }, { key: 'never', value: translate('Never') } ]; const allowFingerprintingOptions = [ { key: 'allFiles', value: translate('Always') }, { key: 'newFiles', value: translate('ForNewImportsOnly') }, { key: 'never', value: translate('Never') } ]; const downloadPropersAndRepacksOptions = [ { key: 'preferAndUpgrade', value: translate('PreferAndUpgrade') }, { key: 'doNotUpgrade', value: translate('DoNotUpgradeAutomatically') }, { key: 'doNotPrefer', value: translate('DoNotPrefer') } ]; const fileDateOptions = [ { key: 'none', value: translate('None') }, { key: 'albumReleaseDate', value: translate('AlbumReleaseDate') } ]; class MediaManagement extends Component { // // Render render() { const { advancedSettings, isFetching, error, settings, hasSettings, isWindows, onInputChange, onSavePress, ...otherProps } = this.props; return ( { isFetching &&
} { !isFetching && error &&
{translate('UnableToLoadMediaManagementSettings')}
} { hasSettings && !isFetching && !error &&
{ advancedSettings &&
{translate('CreateEmptyArtistFolders')} {translate('DeleteEmptyFolders')}
} { advancedSettings &&
{ !isWindows && {translate('SkipFreeSpaceCheck')} } {translate('MinimumFreeSpace')} {translate('UseHardlinksInsteadOfCopy')} {translate('ImportExtraFiles')} { settings.importExtraFiles.value && {translate('ImportExtraFiles')} }
}
{translate('PropersAndRepacks')} {translate('WatchRootFoldersForFileChanges')} {translate('RescanArtistFolderAfterRefresh')} {translate('AllowFingerprinting')} {translate('ChangeFileDate')} {translate('RecyclingBin')} {translate('RecyclingBinCleanup')}
{ advancedSettings && !isWindows &&
{translate('SetPermissions')} {translate('ChmodFolder')} {translate('ChownGroup')}
}
}
); } } 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;