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 RemotePathMappingsConnector from 'Settings/DownloadClients/RemotePathMappings/RemotePathMappingsConnector'; 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: 'Always' }, { key: 'afterManual', value: 'After Manual Refresh' }, { key: 'never', value: 'Never' } ]; const allowFingerprintingOptions = [ { key: 'allFiles', value: 'Always' }, { key: 'newFiles', value: 'For new imports only' }, { key: 'never', value: 'Never' } ]; const downloadPropersAndRepacksOptions = [ { key: 'preferAndUpgrade', value: 'Prefer and Upgrade' }, { key: 'doNotUpgrade', value: 'Do not Upgrade Automatically' }, { key: 'doNotPrefer', value: 'Do not Prefer' } ]; const fileDateOptions = [ { key: 'none', value: 'None' }, { key: 'bookReleaseDate', value: 'Book Release Date' } ]; 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('CreateEmptyAuthorFolders')} {translate('DeleteEmptyFolders')}
} { advancedSettings &&
{ !isWindows && {translate('SkipFreeSpaceCheck')} } {translate('MinimumFreeSpace')} {translate('UseHardlinksInsteadOfCopy')} {translate('ImportExtraFiles')} { settings.importExtraFiles.value ? {translate('ImportExtraFiles')} : null }
}
{translate('IgnoreDeletedBooks')} {translate('PropersAndRepacks')} {translate('WatchRootFoldersForFileChanges')} {translate('RescanAuthorFolderAfterRefresh')} {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;