UNPKG

@coko/client

Version:

Client side common code for coko apps

121 lines (117 loc) 4.47 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 _styledComponents = _interopRequireDefault(require("styled-components")); var _common = require("../common"); var _templateObject; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } var Wrapper = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral([""]))); var VerifyEmail = function VerifyEmail(props) { var className = props.className, verifying = props.verifying, successfullyVerified = props.successfullyVerified, alreadyVerified = props.alreadyVerified, expired = props.expired, resend = props.resend, resending = props.resending, resent = props.resent, redirectToLogin = props.redirectToLogin, redirectDelay = props.redirectDelay; var redirect = function redirect() { return setTimeout(function () { redirectToLogin(); }, redirectDelay); }; if (verifying) return /*#__PURE__*/_react["default"].createElement(Wrapper, { className: className }, /*#__PURE__*/_react["default"].createElement(_common.Result, { icon: /*#__PURE__*/_react["default"].createElement(_common.Spin, { size: 18, spinning: true }), title: "Verifying your email address..." })); if (successfullyVerified) { redirect(); return /*#__PURE__*/_react["default"].createElement(Wrapper, { className: className }, /*#__PURE__*/_react["default"].createElement(_common.Result, { status: "success", subTitle: "Redirecting you to login...", title: "Email successfully verified!" })); } if (alreadyVerified) { redirect(); return /*#__PURE__*/_react["default"].createElement(Wrapper, { className: className }, /*#__PURE__*/_react["default"].createElement(_common.Result, { status: "success", subTitle: "Redirecting you to login...", title: "This email has already been verified!" })); } if (expired && !(resending || resent)) return /*#__PURE__*/_react["default"].createElement(Wrapper, { className: className }, /*#__PURE__*/_react["default"].createElement(_common.Result, { extra: /*#__PURE__*/_react["default"].createElement(_common.Button, { onClick: resend, type: "primary" }, "Resend verification email"), status: "error", subTitle: "Click the button below to get a new token", title: "Your verification token has expired!" })); if (resending) return /*#__PURE__*/_react["default"].createElement(Wrapper, { className: className }, /*#__PURE__*/_react["default"].createElement(_common.Result, { icon: /*#__PURE__*/_react["default"].createElement(_common.Spin, { size: 18, spinning: true }), title: "Sending verification email..." })); if (resent) return /*#__PURE__*/_react["default"].createElement(Wrapper, { className: className }, /*#__PURE__*/_react["default"].createElement(_common.Result, { status: "success", subTitle: "Check your email for further instructions", title: "New verification email has been sent!" })); // if (hasError) return /*#__PURE__*/_react["default"].createElement(Wrapper, { className: className }, /*#__PURE__*/_react["default"].createElement(_common.Result, { status: "error", subTitle: "Try reloading the page or contact us", title: "Something went wrong!" })); // return null }; VerifyEmail.propTypes = { verifying: _propTypes["default"].bool, successfullyVerified: _propTypes["default"].bool, alreadyVerified: _propTypes["default"].bool, expired: _propTypes["default"].bool, resend: _propTypes["default"].func.isRequired, resending: _propTypes["default"].bool, resent: _propTypes["default"].bool, redirectToLogin: _propTypes["default"].func.isRequired, redirectDelay: _propTypes["default"].number }; VerifyEmail.defaultProps = { verifying: false, successfullyVerified: false, alreadyVerified: false, expired: false, resending: false, resent: false, redirectDelay: 3000 }; var _default = VerifyEmail; exports["default"] = _default;