cspace-ui
Version:
CollectionSpace user interface for browsers
58 lines (49 loc) • 1.29 kB
JSX
import React from 'react';
import PropTypes from 'prop-types';
import { defineMessages, FormattedMessage } from 'react-intl';
import { Modal } from 'cspace-layout';
import LoginFormContainer from '../../containers/login/LoginFormContainer';
const formId = 'loginModal.loginForm';
const renderButtonBar = () => null;
const messages = defineMessages({
title: {
id: 'loginModal.title',
description: 'The title of the login modal.',
defaultMessage: 'Sign In',
},
});
const propTypes = {
isOpen: PropTypes.bool,
onCloseButtonClick: PropTypes.func,
onSuccess: PropTypes.func,
};
export default function LoginModal(props) {
const {
isOpen,
onCloseButtonClick,
onSuccess,
} = props;
if (!isOpen) {
return null;
}
return (
<Modal
isOpen={isOpen}
title={<h1><FormattedMessage {...messages.title} /></h1>}
closeButtonClassName="material-icons"
closeButtonLabel="close"
renderButtonBar={renderButtonBar}
onCloseButtonClick={onCloseButtonClick}
>
<LoginFormContainer
formId={formId}
isExpired
showForgotLink={false}
showHeader={false}
onSuccess={onSuccess}
/>
</Modal>
);
}
LoginModal.modalName = 'LoginModal';
LoginModal.propTypes = propTypes;