import PropTypes from 'prop-types'; import React from 'react'; import { inputTypes, kinds } from 'Helpers/Props'; import Alert from 'Components/Alert'; import Button from 'Components/Link/Button'; import SpinnerErrorButton from 'Components/Link/SpinnerErrorButton'; import LoadingIndicator from 'Components/Loading/LoadingIndicator'; import ModalContent from 'Components/Modal/ModalContent'; import ModalHeader from 'Components/Modal/ModalHeader'; import ModalBody from 'Components/Modal/ModalBody'; import ModalFooter from 'Components/Modal/ModalFooter'; import Form from 'Components/Form/Form'; import FormGroup from 'Components/Form/FormGroup'; import FormLabel from 'Components/Form/FormLabel'; import FormInputGroup from 'Components/Form/FormInputGroup'; import FormInputHelpText from 'Components/Form/FormInputHelpText'; import ProviderFieldFormGroup from 'Components/Form/ProviderFieldFormGroup'; import styles from './EditNotificationModalContent.css'; function EditNotificationModalContent(props) { const { advancedSettings, isFetching, error, isSaving, isTesting, saveError, item, onInputChange, onFieldChange, onModalClose, onSavePress, onTestPress, onDeleteNotificationPress, ...otherProps } = props; const { id, implementationName, name, onGrab, onDownload, onUpgrade, onRename, onSeriesDelete, onEpisodeFileDelete, onEpisodeFileDeleteForUpgrade, onHealthIssue, supportsOnGrab, supportsOnDownload, supportsOnUpgrade, supportsOnRename, supportsOnSeriesDelete, supportsOnEpisodeFileDelete, supportsOnEpisodeFileDeleteForUpgrade, supportsOnHealthIssue, includeHealthWarnings, tags, fields, message } = item; return ( {`${id ? 'Edit' : 'Add'} Connection - ${implementationName}`} { isFetching && } { !isFetching && !!error &&
Unable to add a new notification, please try again.
} { !isFetching && !error &&
{ !!message && {message.value.message} } Name Triggers
{ onDownload.value ? : null } { onEpisodeFileDelete.value ? : null } { onHealthIssue.value ? : null }
Tags { fields.map((field) => { return ( ); }) } }
{ id && } Test Save
); } EditNotificationModalContent.propTypes = { advancedSettings: PropTypes.bool.isRequired, isFetching: PropTypes.bool.isRequired, error: PropTypes.object, isSaving: PropTypes.bool.isRequired, isTesting: PropTypes.bool.isRequired, saveError: PropTypes.object, item: PropTypes.object.isRequired, onInputChange: PropTypes.func.isRequired, onFieldChange: PropTypes.func.isRequired, onModalClose: PropTypes.func.isRequired, onSavePress: PropTypes.func.isRequired, onTestPress: PropTypes.func.isRequired, onDeleteNotificationPress: PropTypes.func }; export default EditNotificationModalContent;