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 SettingsToolbarConnector from 'Settings/SettingsToolbarConnector'; import translate from 'Utilities/String/translate'; import NamingConnector from './Naming/NamingConnector'; import RootFoldersConnector from './RootFolder/RootFoldersConnector'; const rescanAfterRefreshOptions = [ { key: 'always', get value() { return translate('Always'); } }, { key: 'afterManual', get value() { return translate('AfterManualRefresh'); } }, { key: 'never', get value() { return translate('Never'); } } ]; const allowFingerprintingOptions = [ { key: 'allFiles', get value() { return translate('Always'); } }, { key: 'newFiles', get value() { return translate('ForNewImportsOnly'); } }, { 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: 'albumReleaseDate', get value() { return 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;