import PropTypes from 'prop-types'; import React from 'react'; import AuthorMetadataProfilePopoverContent from 'AddAuthor/AuthorMetadataProfilePopoverContent'; import AuthorMonitoringOptionsPopoverContent from 'AddAuthor/AuthorMonitoringOptionsPopoverContent'; 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 Icon from 'Components/Icon'; import Button from 'Components/Link/Button'; import SpinnerErrorButton from 'Components/Link/SpinnerErrorButton'; import LoadingIndicator from 'Components/Loading/LoadingIndicator'; import ModalBody from 'Components/Modal/ModalBody'; import ModalContent from 'Components/Modal/ModalContent'; import ModalFooter from 'Components/Modal/ModalFooter'; import ModalHeader from 'Components/Modal/ModalHeader'; import Popover from 'Components/Tooltip/Popover'; import { calibreProfiles, icons, inputTypes, kinds, tooltipPositions } from 'Helpers/Props'; import styles from './EditRootFolderModalContent.css'; function EditRootFolderModalContent(props) { const { advancedSettings, isFetching, error, isSaving, saveError, item, onInputChange, onModalClose, onSavePress, onDeleteRootFolderPress, showMetadataProfile, ...otherProps } = props; const { id, name, path, defaultQualityProfileId, defaultMetadataProfileId, defaultMonitorOption, defaultTags, isCalibreLibrary, host, port, urlBase, username, password, library, outputFormat, outputProfile, useSsl } = item; const profileHelpText = calibreProfiles.options.find((x) => x.key === outputProfile.value).description; return ( {id ? 'Edit Root Folder' : 'Add Root Folder'} { isFetching && } { !isFetching && !!error &&
Unable to add a new root folder, please try again.
} { !isFetching && !error &&
Name Path Use Calibre } title="Calibre content server" body={'Using a Calibre content server allows Readarr to add books to your Calibre library and trigger conversions between formats'} position={tooltipPositions.RIGHT} /> { isCalibreLibrary !== undefined && isCalibreLibrary.value &&
Calibre Host Calibre Port Calibre Url Base Calibre Username Calibre Password Calibre Library Convert to format } title="Calibre output format" body={'Specify the output format. Options are: MOBI, EPUB, AZW3, DOCX, FB2, HTMLZ, LIT, LRF, PDB, PDF, PMLZ, RB, RTF, SNB, TCR, TXT, TXTZ, ZIP'} position={tooltipPositions.RIGHT} /> Calibre Output Profile } title="Calibre output profile" body={'Specify the output profile. The output profile tells the Calibre conversion system how to optimize the created document for the specified device (such as by resizing images for the device screen size). In some cases, an output profile can be used to optimize the output for a particular device, but this is rarely necessary.'} position={tooltipPositions.RIGHT} /> Use SSL
} Monitor } title="Monitoring Options" body={} position={tooltipPositions.RIGHT} /> Quality Profile Metadata Profile } title="Metadata Profile" body={} position={tooltipPositions.RIGHT} /> Default Readarr Tags
}
{ id && } Save
); } EditRootFolderModalContent.propTypes = { advancedSettings: PropTypes.bool.isRequired, isFetching: PropTypes.bool.isRequired, error: PropTypes.object, isSaving: PropTypes.bool.isRequired, saveError: PropTypes.object, item: PropTypes.object.isRequired, showMetadataProfile: PropTypes.bool.isRequired, onInputChange: PropTypes.func.isRequired, onModalClose: PropTypes.func.isRequired, onSavePress: PropTypes.func.isRequired, onDeleteRootFolderPress: PropTypes.func }; export default EditRootFolderModalContent;