UNPKG

@coko/client

Version:

Client side common code for coko apps

97 lines (95 loc) 4.11 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 _AuthenticationForm = _interopRequireDefault(require("./AuthenticationForm")); var _AuthenticationHeader = _interopRequireDefault(require("./AuthenticationHeader")); var _AuthenticationWrapper = _interopRequireDefault(require("./AuthenticationWrapper")); var _common = require("../common"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } // import styled from 'styled-components' var ResetPassword = function ResetPassword(props) { var className = props.className, hasError = props.hasError, hasSuccess = props.hasSuccess, onSubmit = props.onSubmit, verifying = props.verifying, redirectToLogin = props.redirectToLogin, redirectToLoginDelay = props.redirectToLoginDelay; var success = !verifying && hasSuccess; if (success) { setTimeout(function () { return redirectToLogin(); }, redirectToLoginDelay); } return /*#__PURE__*/_react["default"].createElement(_common.Page, { maxWidth: 600 }, /*#__PURE__*/_react["default"].createElement(_AuthenticationWrapper["default"], { className: className }, /*#__PURE__*/_react["default"].createElement(_AuthenticationHeader["default"], null, "Reset password"), verifying && /*#__PURE__*/_react["default"].createElement(_common.Result, { icon: /*#__PURE__*/_react["default"].createElement(_common.Spin, null), title: "Verifying..." }), success && /*#__PURE__*/_react["default"].createElement("div", { role: "alert" }, /*#__PURE__*/_react["default"].createElement(_common.Result, { status: "success", subTitle: "Redirecting you to login screen...", title: "Password successfully changed" })), !hasSuccess && !verifying && /*#__PURE__*/_react["default"].createElement(_AuthenticationForm["default"], { errorMessage: "Something went wrong!", hasError: hasError, onSubmit: onSubmit, submitButtonLabel: "Set new password" }, hasError && /*#__PURE__*/_react["default"].createElement(_common.Paragraph, { type: "danger" }, "The most likely scenario is that you have already used this link to reset your password. If that is not the case, please contact the system administrator."), /*#__PURE__*/_react["default"].createElement(_common.Paragraph, null, "Please provide your new password in the fields below."), /*#__PURE__*/_react["default"].createElement(_common.Form.Item, { label: "New password", name: "password", rules: [{ required: true, message: 'New password is required' }] }, /*#__PURE__*/_react["default"].createElement(_common.Input, { placeholder: "Enter new password", type: "password" })), /*#__PURE__*/_react["default"].createElement(_common.Form.Item, { label: "Confirm new password", name: "confirmPassword", rules: [{ required: true, message: 'Please confirm your new password!' }, function (_ref) { var getFieldValue = _ref.getFieldValue; return { validator: function validator(_, value) { if (!value || getFieldValue('password') === value) { return Promise.resolve(); } return Promise.reject(new Error('The two passwords that you entered do not match!')); } }; }] }, /*#__PURE__*/_react["default"].createElement(_common.Input, { placeholder: "Enter new password again", type: "password" }))))); }; ResetPassword.propTypes = { redirectToLogin: _propTypes["default"].func.isRequired, onSubmit: _propTypes["default"].func.isRequired, hasError: _propTypes["default"].bool, hasSuccess: _propTypes["default"].bool, verifying: _propTypes["default"].bool, redirectToLoginDelay: _propTypes["default"].number }; ResetPassword.defaultProps = { hasError: false, hasSuccess: false, verifying: false, redirectToLoginDelay: 3000 }; var _default = ResetPassword; exports["default"] = _default;