UNPKG

@coko/client

Version:

Client side common code for coko apps

90 lines (88 loc) 3.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _reactRouterDom = require("react-router-dom"); var _AuthenticationForm = _interopRequireDefault(require("./AuthenticationForm")); var _AuthenticationHeader = _interopRequireDefault(require("./AuthenticationHeader")); var _AuthenticationWrapper = _interopRequireDefault(require("./AuthenticationWrapper")); var _SuccessSubTitle = _interopRequireDefault(require("./SuccessSubTitle")); var _common = require("../common"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } // import styled from 'styled-components' var RequestPasswordResetForm = function RequestPasswordResetForm(props) { // disable prop types that will be checked in the exported component anyway // eslint-disable-next-line react/prop-types var hasError = props.hasError, loading = props.loading, onSubmit = props.onSubmit; return /*#__PURE__*/_react["default"].createElement(_AuthenticationForm["default"], { alternativeActionLabel: "Return to login form", alternativeActionLink: "/login", errorMessage: "Something went wrong! Please contact the administrator.", hasError: hasError, loading: loading, onSubmit: onSubmit // submitButtonLabel="Send" }, /*#__PURE__*/_react["default"].createElement(_common.Paragraph, null, "Please enter the email address connected to your account."), /*#__PURE__*/_react["default"].createElement(_common.Form.Item, { label: "Email", name: "email", rules: [{ required: true, message: 'Email is required' }, { type: 'email', message: "Doesn't look like a valid email" }] }, /*#__PURE__*/_react["default"].createElement(_common.Input, { placeholder: "Enter your email" }))); }; var RequestPasswordReset = function RequestPasswordReset(props) { var className = props.className, hasError = props.hasError, hasSuccess = props.hasSuccess, loading = props.loading, onSubmit = props.onSubmit, userEmail = props.userEmail; return /*#__PURE__*/_react["default"].createElement(_common.Page, { maxWidth: 600 }, /*#__PURE__*/_react["default"].createElement(_AuthenticationWrapper["default"], { className: className }, /*#__PURE__*/_react["default"].createElement(_AuthenticationHeader["default"], null, "Request password reset"), hasSuccess && /*#__PURE__*/_react["default"].createElement("div", { role: "alert" }, /*#__PURE__*/_react["default"].createElement(_common.Result, { "data-testid": "result-request-password-success", extra: [/*#__PURE__*/_react["default"].createElement(_reactRouterDom.Link, { key: 1, to: "/login" }, "Return to the login form")], status: "success", subTitle: /*#__PURE__*/_react["default"].createElement(_SuccessSubTitle["default"], { userEmail: userEmail }), title: "Request successful!" })), !hasSuccess && /*#__PURE__*/_react["default"].createElement(RequestPasswordResetForm, { hasError: hasError, loading: loading, onSubmit: onSubmit }))); }; RequestPasswordReset.propTypes = { onSubmit: _propTypes["default"].func.isRequired, hasError: _propTypes["default"].bool, hasSuccess: _propTypes["default"].bool, loading: _propTypes["default"].bool, userEmail: _propTypes["default"].string }; RequestPasswordReset.defaultProps = { hasError: false, hasSuccess: false, loading: false, userEmail: null }; var _default = RequestPasswordReset; exports["default"] = _default;