gogoclient 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +1 -0
- package/dist/components/AuthWrapper.js +61 -0
- package/dist/components/PageLayout.js +53 -0
- package/dist/components/RequireAuth.js +86 -0
- package/dist/components/index.js +27 -0
- package/dist/helpers/Root.js +206 -0
- package/dist/helpers/SubscriptionManager.js +61 -0
- package/dist/helpers/currentUserContext.js +12 -0
- package/dist/helpers/currentUserQuery.js +11 -0
- package/dist/helpers/getUrl.js +18 -0
- package/dist/helpers/sentry.js +25 -0
- package/dist/helpers/startClient.js +25 -0
- package/dist/helpers/subscriptionManagerContext.js +22 -0
- package/dist/index.js +109 -0
- package/dist/pages/ProviderConnection.page.js +99 -0
- package/dist/pages/ProviderConnection.queries.js +12 -0
- package/dist/pages/index.js +28 -0
- package/dist/theme/elements/Action.js +29 -0
- package/dist/theme/elements/ActionGroup.js +14 -0
- package/dist/theme/elements/AppBar.js +17 -0
- package/dist/theme/elements/Button.js +31 -0
- package/dist/theme/elements/Checkbox.js +38 -0
- package/dist/theme/elements/GlobalStyle.js +10 -0
- package/dist/theme/elements/Logo.js +10 -0
- package/dist/theme/elements/Menu.js +15 -0
- package/dist/theme/elements/Radio.js +27 -0
- package/dist/theme/elements/TextField.js +39 -0
- package/dist/theme/elements/index.js +76 -0
- package/dist/theme/index.js +93 -0
- package/dist/toolkit/darkenLighten.js +57 -0
- package/dist/toolkit/headingScale.js +29 -0
- package/dist/toolkit/index.js +79 -0
- package/dist/toolkit/media.js +23 -0
- package/dist/toolkit/override.js +74 -0
- package/dist/toolkit/styles/fadeInOut.js +11 -0
- package/dist/toolkit/styles/rotate360.js +11 -0
- package/dist/toolkit/themeHelper.js +53 -0
- package/dist/ui/_helpers/_helpers.js +69 -0
- package/dist/ui/_helpers/cssSnippets.js +11 -0
- package/dist/ui/_helpers/index.js +40 -0
- package/dist/ui/_helpers/useBreakpoint.js +35 -0
- package/dist/ui/assignReviewers/AssignReviewers.js +174 -0
- package/dist/ui/assignReviewers/InviteRowProp.js +130 -0
- package/dist/ui/assignReviewers/ReviewerTable.js +268 -0
- package/dist/ui/assignReviewers/SearchBox.js +160 -0
- package/dist/ui/assignReviewers/SuggestedReviewer.js +28 -0
- package/dist/ui/assignReviewers/index.js +13 -0
- package/dist/ui/authentication/AuthenticationForm.js +87 -0
- package/dist/ui/authentication/AuthenticationHeader.js +13 -0
- package/dist/ui/authentication/AuthenticationWrapper.js +13 -0
- package/dist/ui/authentication/ChangePassword.js +128 -0
- package/dist/ui/authentication/DeactivatedUser.js +17 -0
- package/dist/ui/authentication/Login.js +74 -0
- package/dist/ui/authentication/ProfileForm.js +79 -0
- package/dist/ui/authentication/ProviderConnection.js +69 -0
- package/dist/ui/authentication/RequestPasswordReset.js +89 -0
- package/dist/ui/authentication/ResetPassword.js +96 -0
- package/dist/ui/authentication/Signup.js +180 -0
- package/dist/ui/authentication/SuccessSubTitle.js +20 -0
- package/dist/ui/authentication/VerifyCheck.js +55 -0
- package/dist/ui/authentication/VerifyEmail.js +119 -0
- package/dist/ui/authentication/index.js +104 -0
- package/dist/ui/chat/ChatInput.js +63 -0
- package/dist/ui/chat/ChatMessage.js +67 -0
- package/dist/ui/chat/ChatMessageList.js +45 -0
- package/dist/ui/chat/ChatThread.js +41 -0
- package/dist/ui/chat/index.js +34 -0
- package/dist/ui/common/AutoComplete.js +56 -0
- package/dist/ui/common/Button.js +83 -0
- package/dist/ui/common/ButtonGroup.js +58 -0
- package/dist/ui/common/Checkbox.js +30 -0
- package/dist/ui/common/CheckboxGroup.js +42 -0
- package/dist/ui/common/CokoLink.js +24 -0
- package/dist/ui/common/Collapse.js +14 -0
- package/dist/ui/common/DateParser.js +49 -0
- package/dist/ui/common/Divider.js +8 -0
- package/dist/ui/common/Empty.js +14 -0
- package/dist/ui/common/Form.js +216 -0
- package/dist/ui/common/FormSection.js +35 -0
- package/dist/ui/common/Headings.js +74 -0
- package/dist/ui/common/Input.js +72 -0
- package/dist/ui/common/InputNumber.js +54 -0
- package/dist/ui/common/InviteStatus.js +63 -0
- package/dist/ui/common/Layout.js +17 -0
- package/dist/ui/common/LinkWithoutStyles.js +12 -0
- package/dist/ui/common/List.js +390 -0
- package/dist/ui/common/Modal.js +17 -0
- package/dist/ui/common/Note.js +23 -0
- package/dist/ui/common/Page.js +33 -0
- package/dist/ui/common/Pagination.js +126 -0
- package/dist/ui/common/Popup.js +146 -0
- package/dist/ui/common/Radio.js +54 -0
- package/dist/ui/common/Result.js +8 -0
- package/dist/ui/common/Ribbon.js +54 -0
- package/dist/ui/common/Search.js +30 -0
- package/dist/ui/common/Select.js +148 -0
- package/dist/ui/common/Spin.js +87 -0
- package/dist/ui/common/Split.js +49 -0
- package/dist/ui/common/Status.js +53 -0
- package/dist/ui/common/Switch.js +47 -0
- package/dist/ui/common/Table.js +111 -0
- package/dist/ui/common/Tabs.js +8 -0
- package/dist/ui/common/TabsStyled.js +65 -0
- package/dist/ui/common/TextArea.js +29 -0
- package/dist/ui/common/Typography.js +9 -0
- package/dist/ui/common/VisuallyHiddenElement.js +17 -0
- package/dist/ui/common/_reusableStyles.js +14 -0
- package/dist/ui/common/index.js +341 -0
- package/dist/ui/index.js +49 -0
- package/package.json +114 -0
- package/scripts/coko-client-build.js +42 -0
- package/scripts/coko-client-build.sh +28 -0
- package/scripts/coko-client-dev.js +16 -0
- package/scripts/coko-client-dev.sh +28 -0
- package/scripts/env.sh +41 -0
- package/webpack/changes.md +20 -0
- package/webpack/index.ejs +15 -0
- package/webpack/noop.js +11 -0
- package/webpack/webpack.config.js +483 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
|
+
var _Spin = _interopRequireDefault(require("../common/Spin"));
|
|
11
|
+
var _Result = _interopRequireDefault(require("../common/Result"));
|
|
12
|
+
var _templateObject;
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
14
|
+
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
15
|
+
var Wrapper = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral([""])));
|
|
16
|
+
var ProviderConnection = function ProviderConnection(props) {
|
|
17
|
+
var className = props.className,
|
|
18
|
+
closeOnSuccess = props.closeOnSuccess,
|
|
19
|
+
connecting = props.connecting,
|
|
20
|
+
redirectUrlLabel = props.redirectUrlLabel,
|
|
21
|
+
successfullyConnected = props.successfullyConnected;
|
|
22
|
+
var resultProps;
|
|
23
|
+
if (connecting) {
|
|
24
|
+
resultProps = {
|
|
25
|
+
icon: /*#__PURE__*/_react["default"].createElement(_Spin["default"], {
|
|
26
|
+
size: 18,
|
|
27
|
+
spinning: true
|
|
28
|
+
}),
|
|
29
|
+
title: 'Authenticating...'
|
|
30
|
+
};
|
|
31
|
+
} else if (successfullyConnected) {
|
|
32
|
+
var nextPageSubTitle = '';
|
|
33
|
+
if (closeOnSuccess) {
|
|
34
|
+
nextPageSubTitle = 'This window should close automatically...';
|
|
35
|
+
} else if (redirectUrlLabel) {
|
|
36
|
+
nextPageSubTitle = "Redirecting you to ".concat(redirectUrlLabel, "...");
|
|
37
|
+
} else {
|
|
38
|
+
nextPageSubTitle = 'Redirecting you...';
|
|
39
|
+
}
|
|
40
|
+
resultProps = {
|
|
41
|
+
status: 'success',
|
|
42
|
+
subTitle: nextPageSubTitle,
|
|
43
|
+
title: 'Connection established!'
|
|
44
|
+
};
|
|
45
|
+
} else {
|
|
46
|
+
// Connection must have failed
|
|
47
|
+
resultProps = {
|
|
48
|
+
status: 'error',
|
|
49
|
+
subTitle: 'Try reconnecting or contact us',
|
|
50
|
+
title: 'Something went wrong!'
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
return /*#__PURE__*/_react["default"].createElement(Wrapper, {
|
|
54
|
+
className: className
|
|
55
|
+
}, /*#__PURE__*/_react["default"].createElement(_Result["default"], resultProps));
|
|
56
|
+
};
|
|
57
|
+
ProviderConnection.propTypes = {
|
|
58
|
+
closeOnSuccess: _propTypes["default"].bool,
|
|
59
|
+
connecting: _propTypes["default"].bool,
|
|
60
|
+
redirectUrlLabel: _propTypes["default"].string,
|
|
61
|
+
successfullyConnected: _propTypes["default"].bool
|
|
62
|
+
};
|
|
63
|
+
ProviderConnection.defaultProps = {
|
|
64
|
+
closeOnSuccess: false,
|
|
65
|
+
connecting: false,
|
|
66
|
+
redirectUrlLabel: null,
|
|
67
|
+
successfullyConnected: false
|
|
68
|
+
};
|
|
69
|
+
var _default = exports["default"] = ProviderConnection;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _reactRouterDom = require("react-router-dom");
|
|
10
|
+
var _AuthenticationForm = _interopRequireDefault(require("./AuthenticationForm"));
|
|
11
|
+
var _AuthenticationHeader = _interopRequireDefault(require("./AuthenticationHeader"));
|
|
12
|
+
var _AuthenticationWrapper = _interopRequireDefault(require("./AuthenticationWrapper"));
|
|
13
|
+
var _SuccessSubTitle = _interopRequireDefault(require("./SuccessSubTitle"));
|
|
14
|
+
var _common = require("../common");
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
16
|
+
// import styled from 'styled-components'
|
|
17
|
+
|
|
18
|
+
var RequestPasswordResetForm = function RequestPasswordResetForm(props) {
|
|
19
|
+
// disable prop types that will be checked in the exported component anyway
|
|
20
|
+
// eslint-disable-next-line react/prop-types
|
|
21
|
+
var hasError = props.hasError,
|
|
22
|
+
loading = props.loading,
|
|
23
|
+
onSubmit = props.onSubmit;
|
|
24
|
+
return /*#__PURE__*/_react["default"].createElement(_AuthenticationForm["default"], {
|
|
25
|
+
alternativeActionLabel: "Return to login form",
|
|
26
|
+
alternativeActionLink: "/login",
|
|
27
|
+
errorMessage: "Something went wrong! Please contact the administrator.",
|
|
28
|
+
hasError: hasError,
|
|
29
|
+
loading: loading,
|
|
30
|
+
onSubmit: onSubmit
|
|
31
|
+
// submitButtonLabel="Send"
|
|
32
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Paragraph, null, "Please enter the email address connected to your account."), /*#__PURE__*/_react["default"].createElement(_common.Form.Item, {
|
|
33
|
+
label: "Email",
|
|
34
|
+
name: "email",
|
|
35
|
+
rules: [{
|
|
36
|
+
required: true,
|
|
37
|
+
message: 'Email is required'
|
|
38
|
+
}, {
|
|
39
|
+
type: 'email',
|
|
40
|
+
message: "Doesn't look like a valid email"
|
|
41
|
+
}]
|
|
42
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Input, {
|
|
43
|
+
placeholder: "Enter your email"
|
|
44
|
+
})));
|
|
45
|
+
};
|
|
46
|
+
var RequestPasswordReset = function RequestPasswordReset(props) {
|
|
47
|
+
var className = props.className,
|
|
48
|
+
hasError = props.hasError,
|
|
49
|
+
hasSuccess = props.hasSuccess,
|
|
50
|
+
loading = props.loading,
|
|
51
|
+
onSubmit = props.onSubmit,
|
|
52
|
+
userEmail = props.userEmail;
|
|
53
|
+
return /*#__PURE__*/_react["default"].createElement(_common.Page, {
|
|
54
|
+
maxWidth: 600
|
|
55
|
+
}, /*#__PURE__*/_react["default"].createElement(_AuthenticationWrapper["default"], {
|
|
56
|
+
className: className
|
|
57
|
+
}, /*#__PURE__*/_react["default"].createElement(_AuthenticationHeader["default"], null, "Request password reset"), hasSuccess && /*#__PURE__*/_react["default"].createElement("div", {
|
|
58
|
+
role: "alert"
|
|
59
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Result, {
|
|
60
|
+
"data-testid": "result-request-password-success",
|
|
61
|
+
extra: [/*#__PURE__*/_react["default"].createElement(_reactRouterDom.Link, {
|
|
62
|
+
key: 1,
|
|
63
|
+
to: "/login"
|
|
64
|
+
}, "Return to the login form")],
|
|
65
|
+
status: "success",
|
|
66
|
+
subTitle: /*#__PURE__*/_react["default"].createElement(_SuccessSubTitle["default"], {
|
|
67
|
+
userEmail: userEmail
|
|
68
|
+
}),
|
|
69
|
+
title: "Request successful!"
|
|
70
|
+
})), !hasSuccess && /*#__PURE__*/_react["default"].createElement(RequestPasswordResetForm, {
|
|
71
|
+
hasError: hasError,
|
|
72
|
+
loading: loading,
|
|
73
|
+
onSubmit: onSubmit
|
|
74
|
+
})));
|
|
75
|
+
};
|
|
76
|
+
RequestPasswordReset.propTypes = {
|
|
77
|
+
onSubmit: _propTypes["default"].func.isRequired,
|
|
78
|
+
hasError: _propTypes["default"].bool,
|
|
79
|
+
hasSuccess: _propTypes["default"].bool,
|
|
80
|
+
loading: _propTypes["default"].bool,
|
|
81
|
+
userEmail: _propTypes["default"].string
|
|
82
|
+
};
|
|
83
|
+
RequestPasswordReset.defaultProps = {
|
|
84
|
+
hasError: false,
|
|
85
|
+
hasSuccess: false,
|
|
86
|
+
loading: false,
|
|
87
|
+
userEmail: null
|
|
88
|
+
};
|
|
89
|
+
var _default = exports["default"] = RequestPasswordReset;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _AuthenticationForm = _interopRequireDefault(require("./AuthenticationForm"));
|
|
10
|
+
var _AuthenticationHeader = _interopRequireDefault(require("./AuthenticationHeader"));
|
|
11
|
+
var _AuthenticationWrapper = _interopRequireDefault(require("./AuthenticationWrapper"));
|
|
12
|
+
var _common = require("../common");
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
14
|
+
// import styled from 'styled-components'
|
|
15
|
+
|
|
16
|
+
var ResetPassword = function ResetPassword(props) {
|
|
17
|
+
var className = props.className,
|
|
18
|
+
hasError = props.hasError,
|
|
19
|
+
hasSuccess = props.hasSuccess,
|
|
20
|
+
onSubmit = props.onSubmit,
|
|
21
|
+
verifying = props.verifying,
|
|
22
|
+
redirectToLogin = props.redirectToLogin,
|
|
23
|
+
redirectToLoginDelay = props.redirectToLoginDelay;
|
|
24
|
+
var success = !verifying && hasSuccess;
|
|
25
|
+
if (success) {
|
|
26
|
+
setTimeout(function () {
|
|
27
|
+
return redirectToLogin();
|
|
28
|
+
}, redirectToLoginDelay);
|
|
29
|
+
}
|
|
30
|
+
return /*#__PURE__*/_react["default"].createElement(_common.Page, {
|
|
31
|
+
maxWidth: 600
|
|
32
|
+
}, /*#__PURE__*/_react["default"].createElement(_AuthenticationWrapper["default"], {
|
|
33
|
+
className: className
|
|
34
|
+
}, /*#__PURE__*/_react["default"].createElement(_AuthenticationHeader["default"], null, "Reset password"), verifying && /*#__PURE__*/_react["default"].createElement(_common.Result, {
|
|
35
|
+
icon: /*#__PURE__*/_react["default"].createElement(_common.Spin, null),
|
|
36
|
+
title: "Verifying..."
|
|
37
|
+
}), success && /*#__PURE__*/_react["default"].createElement("div", {
|
|
38
|
+
role: "alert"
|
|
39
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Result, {
|
|
40
|
+
status: "success",
|
|
41
|
+
subTitle: "Redirecting you to login screen...",
|
|
42
|
+
title: "Password successfully changed"
|
|
43
|
+
})), !hasSuccess && !verifying && /*#__PURE__*/_react["default"].createElement(_AuthenticationForm["default"], {
|
|
44
|
+
errorMessage: "Something went wrong!",
|
|
45
|
+
hasError: hasError,
|
|
46
|
+
onSubmit: onSubmit,
|
|
47
|
+
submitButtonLabel: "Set new password"
|
|
48
|
+
}, hasError && /*#__PURE__*/_react["default"].createElement(_common.Paragraph, {
|
|
49
|
+
type: "danger"
|
|
50
|
+
}, "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, {
|
|
51
|
+
label: "New password",
|
|
52
|
+
name: "password",
|
|
53
|
+
rules: [{
|
|
54
|
+
required: true,
|
|
55
|
+
message: 'New password is required'
|
|
56
|
+
}]
|
|
57
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Input, {
|
|
58
|
+
placeholder: "Enter new password",
|
|
59
|
+
type: "password"
|
|
60
|
+
})), /*#__PURE__*/_react["default"].createElement(_common.Form.Item, {
|
|
61
|
+
label: "Confirm new password",
|
|
62
|
+
name: "confirmPassword",
|
|
63
|
+
rules: [{
|
|
64
|
+
required: true,
|
|
65
|
+
message: 'Please confirm your new password!'
|
|
66
|
+
}, function (_ref) {
|
|
67
|
+
var getFieldValue = _ref.getFieldValue;
|
|
68
|
+
return {
|
|
69
|
+
validator: function validator(_, value) {
|
|
70
|
+
if (!value || getFieldValue('password') === value) {
|
|
71
|
+
return Promise.resolve();
|
|
72
|
+
}
|
|
73
|
+
return Promise.reject(new Error('The two passwords that you entered do not match!'));
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
}]
|
|
77
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Input, {
|
|
78
|
+
placeholder: "Enter new password again",
|
|
79
|
+
type: "password"
|
|
80
|
+
})))));
|
|
81
|
+
};
|
|
82
|
+
ResetPassword.propTypes = {
|
|
83
|
+
redirectToLogin: _propTypes["default"].func.isRequired,
|
|
84
|
+
onSubmit: _propTypes["default"].func.isRequired,
|
|
85
|
+
hasError: _propTypes["default"].bool,
|
|
86
|
+
hasSuccess: _propTypes["default"].bool,
|
|
87
|
+
verifying: _propTypes["default"].bool,
|
|
88
|
+
redirectToLoginDelay: _propTypes["default"].number
|
|
89
|
+
};
|
|
90
|
+
ResetPassword.defaultProps = {
|
|
91
|
+
hasError: false,
|
|
92
|
+
hasSuccess: false,
|
|
93
|
+
verifying: false,
|
|
94
|
+
redirectToLoginDelay: 3000
|
|
95
|
+
};
|
|
96
|
+
var _default = exports["default"] = ResetPassword;
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _AuthenticationForm = _interopRequireDefault(require("./AuthenticationForm"));
|
|
10
|
+
var _AuthenticationHeader = _interopRequireDefault(require("./AuthenticationHeader"));
|
|
11
|
+
var _AuthenticationWrapper = _interopRequireDefault(require("./AuthenticationWrapper"));
|
|
12
|
+
var _common = require("../common");
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
14
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
15
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
16
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
17
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
18
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
19
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } // import SuccessSubTitle from './SuccessSubTitle'
|
|
20
|
+
var ModalContext = /*#__PURE__*/_react["default"].createContext(null);
|
|
21
|
+
var ModalHeader = _common.Modal.header;
|
|
22
|
+
var ModalFooter = _common.Modal.footer;
|
|
23
|
+
var Signup = function Signup(props) {
|
|
24
|
+
var className = props.className,
|
|
25
|
+
errorMessage = props.errorMessage,
|
|
26
|
+
hasError = props.hasError,
|
|
27
|
+
hasSuccess = props.hasSuccess,
|
|
28
|
+
loading = props.loading,
|
|
29
|
+
onSubmit = props.onSubmit,
|
|
30
|
+
termsAndConditionsContent = props.termsAndConditionsContent;
|
|
31
|
+
var _Modal$useModal = _common.Modal.useModal(),
|
|
32
|
+
_Modal$useModal2 = _slicedToArray(_Modal$useModal, 2),
|
|
33
|
+
modal = _Modal$useModal2[0],
|
|
34
|
+
contextHolder = _Modal$useModal2[1];
|
|
35
|
+
var showTermsAndConditions = function showTermsAndConditions(e) {
|
|
36
|
+
e.preventDefault();
|
|
37
|
+
var termsAndConditionsModal = modal.info();
|
|
38
|
+
termsAndConditionsModal.update({
|
|
39
|
+
title: /*#__PURE__*/_react["default"].createElement(ModalHeader, null, "Agreeing to Terms and Conditions"),
|
|
40
|
+
content: /*#__PURE__*/_react["default"].createElement(_common.Paragraph, null, termsAndConditionsContent),
|
|
41
|
+
footer: [/*#__PURE__*/_react["default"].createElement(ModalFooter, {
|
|
42
|
+
key: "footer"
|
|
43
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Button, {
|
|
44
|
+
autoFocus: true,
|
|
45
|
+
onClick: termsAndConditionsModal.destroy,
|
|
46
|
+
type: "primary"
|
|
47
|
+
}, "OK"))],
|
|
48
|
+
maskClosable: true,
|
|
49
|
+
width: 570,
|
|
50
|
+
bodyStyle: {
|
|
51
|
+
marginRight: 38,
|
|
52
|
+
textAlign: 'justify'
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
return /*#__PURE__*/_react["default"].createElement(_common.Page, {
|
|
57
|
+
maxWidth: 600
|
|
58
|
+
}, /*#__PURE__*/_react["default"].createElement(_AuthenticationWrapper["default"], {
|
|
59
|
+
className: className
|
|
60
|
+
}, /*#__PURE__*/_react["default"].createElement(_AuthenticationHeader["default"], null, "Sign up"), hasSuccess && /*#__PURE__*/_react["default"].createElement("div", {
|
|
61
|
+
role: "alert"
|
|
62
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Result, {
|
|
63
|
+
className: className,
|
|
64
|
+
status: "success",
|
|
65
|
+
subTitle: /*#__PURE__*/_react["default"].createElement(_common.Paragraph, null, "We've sent you a verification email. Click on the link in the email to activate your account."),
|
|
66
|
+
title: "Sign up successful!"
|
|
67
|
+
})), !hasSuccess && /*#__PURE__*/_react["default"].createElement(_AuthenticationForm["default"], {
|
|
68
|
+
alternativeActionLabel: "Do you want to login instead?",
|
|
69
|
+
alternativeActionLink: "/login",
|
|
70
|
+
errorMessage: errorMessage,
|
|
71
|
+
hasError: hasError,
|
|
72
|
+
loading: loading,
|
|
73
|
+
onSubmit: onSubmit,
|
|
74
|
+
showForgotPassword: false,
|
|
75
|
+
submitButtonLabel: "Sign up",
|
|
76
|
+
title: "Sign up"
|
|
77
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Form.Item, {
|
|
78
|
+
label: "First Name",
|
|
79
|
+
name: "firstName",
|
|
80
|
+
rules: [{
|
|
81
|
+
required: true,
|
|
82
|
+
message: 'First name is required'
|
|
83
|
+
}]
|
|
84
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Input, {
|
|
85
|
+
autoComplete: "given-name",
|
|
86
|
+
placeholder: "Fill in your first name"
|
|
87
|
+
})), /*#__PURE__*/_react["default"].createElement(_common.Form.Item, {
|
|
88
|
+
label: "Last Name",
|
|
89
|
+
name: "lastName",
|
|
90
|
+
rules: [{
|
|
91
|
+
required: true,
|
|
92
|
+
message: 'Last name is required'
|
|
93
|
+
}]
|
|
94
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Input, {
|
|
95
|
+
autoComplete: "family-name",
|
|
96
|
+
placeholder: "Fill in your last name"
|
|
97
|
+
})), /*#__PURE__*/_react["default"].createElement(_common.Form.Item, {
|
|
98
|
+
label: "Email",
|
|
99
|
+
name: "email",
|
|
100
|
+
rules: [{
|
|
101
|
+
required: true,
|
|
102
|
+
message: 'Email is required'
|
|
103
|
+
}, {
|
|
104
|
+
type: 'email',
|
|
105
|
+
message: 'This is not a valid email address'
|
|
106
|
+
}]
|
|
107
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Input, {
|
|
108
|
+
autoComplete: "email",
|
|
109
|
+
placeholder: "Fill in your email",
|
|
110
|
+
type: "email"
|
|
111
|
+
})), /*#__PURE__*/_react["default"].createElement(_common.Form.Item, {
|
|
112
|
+
label: "Password",
|
|
113
|
+
name: "password",
|
|
114
|
+
rules: [{
|
|
115
|
+
required: true,
|
|
116
|
+
message: 'Password is required'
|
|
117
|
+
}]
|
|
118
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Input, {
|
|
119
|
+
autoComplete: "new-password",
|
|
120
|
+
placeholder: "Fill in your password",
|
|
121
|
+
type: "password"
|
|
122
|
+
})), /*#__PURE__*/_react["default"].createElement(_common.Form.Item, {
|
|
123
|
+
dependencies: ['password'],
|
|
124
|
+
label: "Confirm Password",
|
|
125
|
+
name: "confirmPassword",
|
|
126
|
+
rules: [{
|
|
127
|
+
required: true,
|
|
128
|
+
message: 'Please confirm your password!'
|
|
129
|
+
}, function (_ref) {
|
|
130
|
+
var getFieldValue = _ref.getFieldValue;
|
|
131
|
+
return {
|
|
132
|
+
validator: function validator(_, value) {
|
|
133
|
+
if (!value || getFieldValue('password') === value) {
|
|
134
|
+
return Promise.resolve();
|
|
135
|
+
}
|
|
136
|
+
return Promise.reject(new Error('The two passwords that you entered do not match!'));
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
}]
|
|
140
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Input, {
|
|
141
|
+
autoComplete: "new-password",
|
|
142
|
+
placeholder: "Fill in your password again",
|
|
143
|
+
type: "password"
|
|
144
|
+
})), termsAndConditionsContent && /*#__PURE__*/_react["default"].createElement(ModalContext.Provider, {
|
|
145
|
+
value: null
|
|
146
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Form.Item, {
|
|
147
|
+
name: "agreedTc",
|
|
148
|
+
rules: [{
|
|
149
|
+
validator: function validator(_, value) {
|
|
150
|
+
return value ? Promise.resolve() : Promise.reject(new Error('You need to agree to the terms and conditions'));
|
|
151
|
+
}
|
|
152
|
+
}],
|
|
153
|
+
valuePropName: "checked"
|
|
154
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Checkbox, {
|
|
155
|
+
"aria-label": "I agree to the terms and conditions"
|
|
156
|
+
}, "I agree to the", ' ', /*#__PURE__*/_react["default"].createElement(_common.CokoLink, {
|
|
157
|
+
as: "a",
|
|
158
|
+
href: "#termsAndCondition",
|
|
159
|
+
id: "termsAndConditions",
|
|
160
|
+
onClick: showTermsAndConditions
|
|
161
|
+
}, "terms and conditions"))), contextHolder))));
|
|
162
|
+
};
|
|
163
|
+
Signup.propTypes = {
|
|
164
|
+
onSubmit: _propTypes["default"].func.isRequired,
|
|
165
|
+
errorMessage: _propTypes["default"].string,
|
|
166
|
+
hasError: _propTypes["default"].bool,
|
|
167
|
+
hasSuccess: _propTypes["default"].bool,
|
|
168
|
+
loading: _propTypes["default"].bool,
|
|
169
|
+
termsAndConditionsContent: _propTypes["default"].node
|
|
170
|
+
// userEmail: PropTypes.string,
|
|
171
|
+
};
|
|
172
|
+
Signup.defaultProps = {
|
|
173
|
+
errorMessage: null,
|
|
174
|
+
hasError: false,
|
|
175
|
+
hasSuccess: false,
|
|
176
|
+
loading: false,
|
|
177
|
+
termsAndConditionsContent: null
|
|
178
|
+
// userEmail: null,
|
|
179
|
+
};
|
|
180
|
+
var _default = exports["default"] = Signup;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _common = require("../common");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
11
|
+
var SuccessSubTitle = function SuccessSubTitle(_ref) {
|
|
12
|
+
var userEmail = _ref.userEmail;
|
|
13
|
+
return /*#__PURE__*/_react["default"].createElement(_common.Paragraph, null, "An email has been sent to ", /*#__PURE__*/_react["default"].createElement(_common.Text, {
|
|
14
|
+
strong: true
|
|
15
|
+
}, userEmail), " containing further instructions.");
|
|
16
|
+
};
|
|
17
|
+
SuccessSubTitle.propTypes = {
|
|
18
|
+
userEmail: _propTypes["default"].string.isRequired
|
|
19
|
+
};
|
|
20
|
+
var _default = exports["default"] = SuccessSubTitle;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
|
+
var _common = require("../common");
|
|
11
|
+
var _templateObject, _templateObject2;
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
13
|
+
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
14
|
+
var Wrapper = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral([""])));
|
|
15
|
+
var ExtraWrapper = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([""])));
|
|
16
|
+
var VerifyCheck = function VerifyCheck(props) {
|
|
17
|
+
var className = props.className,
|
|
18
|
+
resend = props.resend,
|
|
19
|
+
resending = props.resending,
|
|
20
|
+
resent = props.resent;
|
|
21
|
+
var initial = !(resending || resent);
|
|
22
|
+
return /*#__PURE__*/_react["default"].createElement(_common.Page, {
|
|
23
|
+
maxWidth: 600
|
|
24
|
+
}, /*#__PURE__*/_react["default"].createElement(Wrapper, {
|
|
25
|
+
className: className
|
|
26
|
+
}, initial && /*#__PURE__*/_react["default"].createElement(_common.Result, {
|
|
27
|
+
extra: /*#__PURE__*/_react["default"].createElement(ExtraWrapper, null, /*#__PURE__*/_react["default"].createElement(_common.Button, {
|
|
28
|
+
onClick: resend,
|
|
29
|
+
type: "primary"
|
|
30
|
+
}, "Send me a new verification email")),
|
|
31
|
+
status: "warning",
|
|
32
|
+
subTitle: "It appears you haven't verified your email address yet. Please check your inbox for an email containing instructions. ",
|
|
33
|
+
title: "Email not verified"
|
|
34
|
+
}), resending && /*#__PURE__*/_react["default"].createElement(_common.Result, {
|
|
35
|
+
icon: /*#__PURE__*/_react["default"].createElement(_common.Spin, {
|
|
36
|
+
size: 18,
|
|
37
|
+
spinning: true
|
|
38
|
+
}),
|
|
39
|
+
title: "Sending verification email..."
|
|
40
|
+
}), resent && /*#__PURE__*/_react["default"].createElement(_common.Result, {
|
|
41
|
+
status: "success",
|
|
42
|
+
subTitle: "Check your email for further instructions",
|
|
43
|
+
title: "New verification email has been sent!"
|
|
44
|
+
})));
|
|
45
|
+
};
|
|
46
|
+
VerifyCheck.propTypes = {
|
|
47
|
+
resend: _propTypes["default"].func.isRequired,
|
|
48
|
+
resending: _propTypes["default"].bool,
|
|
49
|
+
resent: _propTypes["default"].bool
|
|
50
|
+
};
|
|
51
|
+
VerifyCheck.defaultProps = {
|
|
52
|
+
resending: false,
|
|
53
|
+
resent: false
|
|
54
|
+
};
|
|
55
|
+
var _default = exports["default"] = VerifyCheck;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
|
+
var _common = require("../common");
|
|
11
|
+
var _templateObject;
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
13
|
+
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
14
|
+
var Wrapper = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral([""])));
|
|
15
|
+
var VerifyEmail = function VerifyEmail(props) {
|
|
16
|
+
var className = props.className,
|
|
17
|
+
verifying = props.verifying,
|
|
18
|
+
successfullyVerified = props.successfullyVerified,
|
|
19
|
+
alreadyVerified = props.alreadyVerified,
|
|
20
|
+
expired = props.expired,
|
|
21
|
+
resend = props.resend,
|
|
22
|
+
resending = props.resending,
|
|
23
|
+
resent = props.resent,
|
|
24
|
+
redirectToLogin = props.redirectToLogin,
|
|
25
|
+
redirectDelay = props.redirectDelay;
|
|
26
|
+
var redirect = function redirect() {
|
|
27
|
+
return setTimeout(function () {
|
|
28
|
+
redirectToLogin();
|
|
29
|
+
}, redirectDelay);
|
|
30
|
+
};
|
|
31
|
+
if (verifying) return /*#__PURE__*/_react["default"].createElement(Wrapper, {
|
|
32
|
+
className: className
|
|
33
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Result, {
|
|
34
|
+
icon: /*#__PURE__*/_react["default"].createElement(_common.Spin, {
|
|
35
|
+
size: 18,
|
|
36
|
+
spinning: true
|
|
37
|
+
}),
|
|
38
|
+
title: "Verifying your email address..."
|
|
39
|
+
}));
|
|
40
|
+
if (successfullyVerified) {
|
|
41
|
+
redirect();
|
|
42
|
+
return /*#__PURE__*/_react["default"].createElement(Wrapper, {
|
|
43
|
+
className: className
|
|
44
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Result, {
|
|
45
|
+
status: "success",
|
|
46
|
+
subTitle: "Redirecting you to login...",
|
|
47
|
+
title: "Email successfully verified!"
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
if (alreadyVerified) {
|
|
51
|
+
redirect();
|
|
52
|
+
return /*#__PURE__*/_react["default"].createElement(Wrapper, {
|
|
53
|
+
className: className
|
|
54
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Result, {
|
|
55
|
+
status: "success",
|
|
56
|
+
subTitle: "Redirecting you to login...",
|
|
57
|
+
title: "This email has already been verified!"
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
if (expired && !(resending || resent)) return /*#__PURE__*/_react["default"].createElement(Wrapper, {
|
|
61
|
+
className: className
|
|
62
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Result, {
|
|
63
|
+
extra: /*#__PURE__*/_react["default"].createElement(_common.Button, {
|
|
64
|
+
onClick: resend,
|
|
65
|
+
type: "primary"
|
|
66
|
+
}, "Resend verification email"),
|
|
67
|
+
status: "error",
|
|
68
|
+
subTitle: "Click the button below to get a new token",
|
|
69
|
+
title: "Your verification token has expired!"
|
|
70
|
+
}));
|
|
71
|
+
if (resending) return /*#__PURE__*/_react["default"].createElement(Wrapper, {
|
|
72
|
+
className: className
|
|
73
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Result, {
|
|
74
|
+
icon: /*#__PURE__*/_react["default"].createElement(_common.Spin, {
|
|
75
|
+
size: 18,
|
|
76
|
+
spinning: true
|
|
77
|
+
}),
|
|
78
|
+
title: "Sending verification email..."
|
|
79
|
+
}));
|
|
80
|
+
if (resent) return /*#__PURE__*/_react["default"].createElement(Wrapper, {
|
|
81
|
+
className: className
|
|
82
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Result, {
|
|
83
|
+
status: "success",
|
|
84
|
+
subTitle: "Check your email for further instructions",
|
|
85
|
+
title: "New verification email has been sent!"
|
|
86
|
+
}));
|
|
87
|
+
|
|
88
|
+
// if (hasError)
|
|
89
|
+
return /*#__PURE__*/_react["default"].createElement(Wrapper, {
|
|
90
|
+
className: className
|
|
91
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Result, {
|
|
92
|
+
status: "error",
|
|
93
|
+
subTitle: "Try reloading the page or contact us",
|
|
94
|
+
title: "Something went wrong!"
|
|
95
|
+
}));
|
|
96
|
+
|
|
97
|
+
// return null
|
|
98
|
+
};
|
|
99
|
+
VerifyEmail.propTypes = {
|
|
100
|
+
verifying: _propTypes["default"].bool,
|
|
101
|
+
successfullyVerified: _propTypes["default"].bool,
|
|
102
|
+
alreadyVerified: _propTypes["default"].bool,
|
|
103
|
+
expired: _propTypes["default"].bool,
|
|
104
|
+
resend: _propTypes["default"].func.isRequired,
|
|
105
|
+
resending: _propTypes["default"].bool,
|
|
106
|
+
resent: _propTypes["default"].bool,
|
|
107
|
+
redirectToLogin: _propTypes["default"].func.isRequired,
|
|
108
|
+
redirectDelay: _propTypes["default"].number
|
|
109
|
+
};
|
|
110
|
+
VerifyEmail.defaultProps = {
|
|
111
|
+
verifying: false,
|
|
112
|
+
successfullyVerified: false,
|
|
113
|
+
alreadyVerified: false,
|
|
114
|
+
expired: false,
|
|
115
|
+
resending: false,
|
|
116
|
+
resent: false,
|
|
117
|
+
redirectDelay: 3000
|
|
118
|
+
};
|
|
119
|
+
var _default = exports["default"] = VerifyEmail;
|