@coko/client
Version:
Client side common code for coko apps
121 lines (117 loc) • 4.47 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 _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;