@coko/client
Version:
Client side common code for coko apps
90 lines (88 loc) • 3.68 kB
JavaScript
"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;