@stokr/components-library 2.0.0-beta.9 β 2.0.0
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/dist/api/fetchData.js +6 -5
- package/dist/components/2FA/Connect2FA.js +23 -18
- package/dist/components/2FA/EnterCode.js +5 -10
- package/dist/components/2FA/InstallAuthApp.js +3 -3
- package/dist/components/2FA/ResetCode.js +11 -4
- package/dist/components/2FA/Sucess2FA.js +29 -16
- package/dist/components/2FA/disable-2fa-flow.js +45 -140
- package/dist/components/2FA/enable-2fa-flow.js +30 -19
- package/dist/components/2FA/login-with-otp-flow.js +10 -2
- package/dist/components/2FA/main-flow.js +25 -9
- package/dist/components/2FA/main-flow.stories.js +1 -1
- package/dist/components/CryptoAddress/CryptoAddress.js +7 -4
- package/dist/components/Footer/Footer.js +4 -4
- package/dist/components/Footer/Footer.styles.js +18 -13
- package/dist/components/ForgotPasswordModal/ForgotPasswordModal.stories.js +4 -1
- package/dist/components/Grid/Grid.styles.js +9 -2
- package/dist/components/Header/Header.js +16 -9
- package/dist/components/Header/Header.styles.js +2 -2
- package/dist/components/InfoIcon/InfoIcon.js +11 -2
- package/dist/components/Input/OtpInput.js +3 -2
- package/dist/components/LoginModal/LoginModal.js +9 -8
- package/dist/components/LoginModal/LoginModal.stories.js +8 -0
- package/dist/components/MainMenu/MainMenu.js +6 -16
- package/dist/components/MainMenu/MainMenu.styles.js +1 -1
- package/dist/components/RegisterConfirmModal/RegisterConfirmModal.js +10 -3
- package/dist/components/RegisterConfirmModal/RegisterConfirmModal.stories.js +6 -2
- package/dist/components/RegisterModal/RegisterModal.js +4 -5
- package/dist/components/ResetConfirmModal/ResetConfirmModal.styles.js +2 -3
- package/dist/components/Switch/Switch.js +16 -6
- package/dist/components/Switch/Switch.styles.js +3 -3
- package/dist/components/TextLink/TextLink.styles.js +4 -2
- package/dist/components/VerifyEmailModal/VerifyEmailModal.js +117 -42
- package/dist/components/VerifyEmailModal/VerifyEmailModal.stories.js +22 -5
- package/dist/components/headerHo/HeaderHo.js +93 -70
- package/dist/components/headerHo/HeaderHo.stories.js +6 -1
- package/dist/constants/globalVariables.js +23 -2
- package/dist/context/Auth.js +17 -12
- package/dist/context/AuthContext.js +428 -340
- package/dist/firebase-config.js +1 -0
- package/dist/index.js +11 -0
- package/dist/static/images/avatar-placeholder.png +0 -0
- package/dist/utils/check-sale-time-left.js +120 -0
- package/dist/utils/customHooks.js +60 -2
- package/package.json +1 -1
package/dist/api/fetchData.js
CHANGED
|
@@ -42,21 +42,22 @@ var fetchData = /*#__PURE__*/function () {
|
|
|
42
42
|
});
|
|
43
43
|
case 8:
|
|
44
44
|
result = _context.sent;
|
|
45
|
+
console.log('π ~ result:', result);
|
|
45
46
|
// console.log(result);
|
|
46
47
|
|
|
47
48
|
resolve(result.data);
|
|
48
|
-
_context.next =
|
|
49
|
+
_context.next = 17;
|
|
49
50
|
break;
|
|
50
|
-
case
|
|
51
|
-
_context.prev =
|
|
51
|
+
case 13:
|
|
52
|
+
_context.prev = 13;
|
|
52
53
|
_context.t0 = _context["catch"](5);
|
|
53
54
|
console.log("Error: ".concat(_context.t0));
|
|
54
55
|
reject(_context.t0);
|
|
55
|
-
case
|
|
56
|
+
case 17:
|
|
56
57
|
case "end":
|
|
57
58
|
return _context.stop();
|
|
58
59
|
}
|
|
59
|
-
}, _callee, null, [[5,
|
|
60
|
+
}, _callee, null, [[5, 13]]);
|
|
60
61
|
}));
|
|
61
62
|
return function (_x3, _x4) {
|
|
62
63
|
return _ref2.apply(this, arguments);
|
|
@@ -7,50 +7,55 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
-
var
|
|
10
|
+
var _rwd = require("../../styles/rwd");
|
|
11
11
|
var _Text = _interopRequireDefault(require("../Text/Text.styles"));
|
|
12
12
|
var _Button = _interopRequireDefault(require("../Button/Button.styles"));
|
|
13
|
-
var _FAQ = _interopRequireDefault(require("../FAQ/FAQ"));
|
|
14
|
-
var _SectionTitle = _interopRequireDefault(require("../SectionTitle/SectionTitle.styles"));
|
|
15
13
|
var _ComponentWrapper = _interopRequireDefault(require("../ComponentWrapper/ComponentWrapper.styles"));
|
|
16
|
-
var _ComponentScroll = _interopRequireDefault(require("../ComponentScroll/ComponentScroll"));
|
|
17
14
|
var _Modal = require("../Modal/Modal.styles");
|
|
18
|
-
var _StyledText = _interopRequireDefault(require("../Text/StyledText"));
|
|
19
15
|
var _reactQrCode = _interopRequireDefault(require("react-qr-code"));
|
|
20
16
|
var _Grid = require("../Grid/Grid.styles");
|
|
17
|
+
var _CryptoAddress = _interopRequireDefault(require("../CryptoAddress/CryptoAddress"));
|
|
18
|
+
var _customHooks = require("../../utils/customHooks");
|
|
21
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
20
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
21
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
24
22
|
var Connect2FA = function Connect2FA(props) {
|
|
25
23
|
var _totpData$totpSecret;
|
|
26
24
|
var changeStep = props.changeStep,
|
|
27
|
-
totpData = props.totpData
|
|
25
|
+
totpData = props.totpData,
|
|
26
|
+
user = props.user;
|
|
27
|
+
var isMobile = (0, _customHooks.useMobileView)(_rwd.sizes.Mobile);
|
|
28
28
|
return /*#__PURE__*/_react.default.createElement(_Modal.ModalWrapper, null, /*#__PURE__*/_react.default.createElement(_Grid.Row, null, /*#__PURE__*/_react.default.createElement(_Grid.Column, {
|
|
29
29
|
part: 8
|
|
30
30
|
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
|
|
31
31
|
modalTop: true
|
|
32
|
-
}, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("h3", null, "
|
|
32
|
+
}, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("h3", null, "Activate log in 2FA"), /*#__PURE__*/_react.default.createElement("p", null, "1. Open your authenticator app"), /*#__PURE__*/_react.default.createElement("p", null, "2. Scan the QR code or copy the set up key"))), /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
|
|
33
33
|
modalBot: true
|
|
34
34
|
})), /*#__PURE__*/_react.default.createElement(_Grid.Column, {
|
|
35
35
|
part: 8
|
|
36
|
-
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, null, /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
37
|
-
|
|
36
|
+
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, null, totpData && /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
37
|
+
center: true,
|
|
38
38
|
noPaddingHorizontal: true
|
|
39
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
40
|
-
small: true
|
|
41
|
-
}, /*#__PURE__*/_react.default.createElement("p", null, "1. Start Google Authenticator or a similar app on your phone"), /*#__PURE__*/_react.default.createElement("p", null, "2. In the app, add a new account and scan the QR code below"), /*#__PURE__*/_react.default.createElement("p", null, "3. Click Continue when you are done"))), totpData && /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
42
|
-
center: true
|
|
43
|
-
}, /*#__PURE__*/_react.default.createElement(_reactQrCode.default, {
|
|
39
|
+
}, !isMobile && /*#__PURE__*/_react.default.createElement(_reactQrCode.default, {
|
|
44
40
|
size: 180
|
|
45
41
|
//style={{ height: 'auto', maxWidth: '100%', width: '100%' }}
|
|
46
42
|
,
|
|
47
43
|
value: totpData === null || totpData === void 0 ? void 0 : totpData.totpUri,
|
|
48
44
|
viewBox: "0 0 256 256"
|
|
49
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
50
|
-
|
|
51
|
-
|
|
45
|
+
}), /*#__PURE__*/_react.default.createElement(_CryptoAddress.default, {
|
|
46
|
+
data: {
|
|
47
|
+
value: (_totpData$totpSecret = totpData.totpSecret) === null || _totpData$totpSecret === void 0 ? void 0 : _totpData$totpSecret.secretKey,
|
|
48
|
+
tooltip: true
|
|
49
|
+
},
|
|
50
|
+
fontSize: 11,
|
|
51
|
+
wrapperStyle: {
|
|
52
|
+
paddingRight: 0
|
|
53
|
+
},
|
|
54
|
+
dataBoxStyle: {
|
|
55
|
+
width: '100%',
|
|
56
|
+
whiteSpace: 'nowrap'
|
|
52
57
|
}
|
|
53
|
-
}
|
|
58
|
+
})), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
54
59
|
noPaddingTop: true,
|
|
55
60
|
center: true,
|
|
56
61
|
noPaddingHorizontal: true
|
|
@@ -34,19 +34,14 @@ var EnterCode = function EnterCode(props) {
|
|
|
34
34
|
part: 8
|
|
35
35
|
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
|
|
36
36
|
modalTop: true
|
|
37
|
-
}, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("h3", null, "Enter
|
|
37
|
+
}, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("h3", null, "Enter 2FA code"), /*#__PURE__*/_react.default.createElement("p", null, "Enter the log in 2FA code from your authenticator app"))), /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
|
|
38
38
|
modalBot: true
|
|
39
|
-
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalLinkWrap, null, /*#__PURE__*/_react.default.createElement(_Modal.ModalLink, {
|
|
39
|
+
}, onModalSwitch && /*#__PURE__*/_react.default.createElement(_Modal.ModalLinkWrap, null, /*#__PURE__*/_react.default.createElement(_Modal.ModalLink, {
|
|
40
40
|
as: "button",
|
|
41
41
|
onClick: onModalSwitch
|
|
42
|
-
}, "Lost your device")))), /*#__PURE__*/_react.default.createElement(_Grid.Column, {
|
|
42
|
+
}, "Lost your device?")))), /*#__PURE__*/_react.default.createElement(_Grid.Column, {
|
|
43
43
|
part: 8
|
|
44
|
-
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, null, /*#__PURE__*/_react.default.createElement(
|
|
45
|
-
noPaddingTop: true,
|
|
46
|
-
noPaddingHorizontal: true
|
|
47
|
-
}, /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
48
|
-
small: true
|
|
49
|
-
}, /*#__PURE__*/_react.default.createElement("p", null, "1. Start authenticator app on your phone"), /*#__PURE__*/_react.default.createElement("p", null, "2. Select connected STOKR account"), /*#__PURE__*/_react.default.createElement("p", null, "3. Copy the code below"))), /*#__PURE__*/_react.default.createElement(_formik.Formik, {
|
|
44
|
+
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, null, /*#__PURE__*/_react.default.createElement(_formik.Formik, {
|
|
50
45
|
initialValues: {
|
|
51
46
|
otpInput: ''
|
|
52
47
|
},
|
|
@@ -72,7 +67,7 @@ var EnterCode = function EnterCode(props) {
|
|
|
72
67
|
setFieldValue('otpInput', e);
|
|
73
68
|
setFieldTouched('otpInput');
|
|
74
69
|
},
|
|
75
|
-
label: "
|
|
70
|
+
label: "2FA code"
|
|
76
71
|
}), /*#__PURE__*/_react.default.createElement(_Form.FormError, {
|
|
77
72
|
show: errors.otpInput && touched.otpInput
|
|
78
73
|
}, errors.otpInput))), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
@@ -27,7 +27,7 @@ var InstallAuthApp = function InstallAuthApp(props) {
|
|
|
27
27
|
part: 8
|
|
28
28
|
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
|
|
29
29
|
modalTop: true
|
|
30
|
-
}, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("h3", null, "Install
|
|
30
|
+
}, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("h3", null, "Install 2FA APP"), /*#__PURE__*/_react.default.createElement("p", null, "Download and install a 2FA app on your device. We recommend using Google Authenticator"))), /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
|
|
31
31
|
modalBot: true
|
|
32
32
|
})), /*#__PURE__*/_react.default.createElement(_Grid.Column, {
|
|
33
33
|
part: 8
|
|
@@ -36,7 +36,7 @@ var InstallAuthApp = function InstallAuthApp(props) {
|
|
|
36
36
|
noPaddingHorizontal: true
|
|
37
37
|
}, /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
38
38
|
small: true
|
|
39
|
-
}, /*#__PURE__*/_react.default.createElement("p", null, "Click
|
|
39
|
+
}, /*#__PURE__*/_react.default.createElement("p", null, "Click 'Continue' if you already have an app installed."))), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
40
40
|
noPaddingHorizontal: true,
|
|
41
41
|
center: true
|
|
42
42
|
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
@@ -46,7 +46,7 @@ var InstallAuthApp = function InstallAuthApp(props) {
|
|
|
46
46
|
window.open('https://onelink.to/ev63j9', '_blank');
|
|
47
47
|
},
|
|
48
48
|
secondary: true
|
|
49
|
-
}, "
|
|
49
|
+
}, "DOWNLOAD THE APP", ' ', /*#__PURE__*/_react.default.createElement("img", {
|
|
50
50
|
src: _google_auth.default,
|
|
51
51
|
width: 20,
|
|
52
52
|
style: {
|
|
@@ -33,14 +33,21 @@ var ResetCode = function ResetCode(props) {
|
|
|
33
33
|
part: 8
|
|
34
34
|
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
|
|
35
35
|
modalTop: true
|
|
36
|
-
}, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("h3", null, "
|
|
36
|
+
}, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("h3", null, "Lost your device?"), /*#__PURE__*/_react.default.createElement("p", null, "No problem! We are here to help you..."))), /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
|
|
37
37
|
modalBot: true
|
|
38
|
-
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalLinkWrap, null,
|
|
38
|
+
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalLinkWrap, null, /*#__PURE__*/_react.default.createElement(_Modal.ModalLink, {
|
|
39
39
|
as: "button",
|
|
40
40
|
onClick: onModalSwitch
|
|
41
|
-
}, "Enter code")))), /*#__PURE__*/_react.default.createElement(_Grid.Column, {
|
|
41
|
+
}, "Enter 2FA code")))), /*#__PURE__*/_react.default.createElement(_Grid.Column, {
|
|
42
42
|
part: 8
|
|
43
|
-
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, null, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("p", null, "
|
|
43
|
+
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, null, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("a", {
|
|
44
|
+
href: "https://stokr.zendesk.com/hc/en-us/requests/new",
|
|
45
|
+
target: "_blank",
|
|
46
|
+
rel: "noreferrer",
|
|
47
|
+
style: {
|
|
48
|
+
textDecoration: 'underline'
|
|
49
|
+
}
|
|
50
|
+
}, "Contact us to reset your 2FA.")))))));
|
|
44
51
|
};
|
|
45
52
|
exports.ResetCode = ResetCode;
|
|
46
53
|
var _default = ResetCode;
|
|
@@ -1,39 +1,52 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.default = exports.Sucess2FA = void 0;
|
|
8
|
-
var _react =
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
9
|
var _Text = _interopRequireDefault(require("../Text/Text.styles"));
|
|
11
10
|
var _Button = _interopRequireDefault(require("../Button/Button.styles"));
|
|
12
|
-
var _SectionTitle = _interopRequireDefault(require("../SectionTitle/SectionTitle.styles"));
|
|
13
11
|
var _ComponentWrapper = _interopRequireDefault(require("../ComponentWrapper/ComponentWrapper.styles"));
|
|
14
|
-
var
|
|
12
|
+
var _Grid = require("../Grid/Grid.styles");
|
|
15
13
|
var _Modal = require("../Modal/Modal.styles");
|
|
16
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
15
|
var Sucess2FA = function Sucess2FA(_ref) {
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
16
|
+
var _ref$onClick = _ref.onClick,
|
|
17
|
+
_onClick = _ref$onClick === void 0 ? function () {} : _ref$onClick,
|
|
18
|
+
_ref$titleText = _ref.titleText,
|
|
19
|
+
titleText = _ref$titleText === void 0 ? 'Success!' : _ref$titleText,
|
|
20
|
+
_ref$subTitleLeft = _ref.subTitleLeft,
|
|
21
|
+
subTitleLeft = _ref$subTitleLeft === void 0 ? '' : _ref$subTitleLeft,
|
|
22
|
+
_ref$textRight = _ref.textRight,
|
|
23
|
+
textRight = _ref$textRight === void 0 ? '' : _ref$textRight,
|
|
24
|
+
_ref$buttonText = _ref.buttonText,
|
|
25
|
+
buttonText = _ref$buttonText === void 0 ? 'Continue' : _ref$buttonText;
|
|
26
|
+
return /*#__PURE__*/_react.default.createElement(_Modal.ModalWrapper, null, /*#__PURE__*/_react.default.createElement(_Grid.Row, null, /*#__PURE__*/_react.default.createElement(_Grid.Column, {
|
|
27
|
+
part: 8
|
|
28
|
+
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
|
|
29
|
+
modalTop: true
|
|
30
|
+
}, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("h3", null, titleText, " "), /*#__PURE__*/_react.default.createElement("p", null, subTitleLeft))), /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
|
|
31
|
+
modalBot: true
|
|
32
|
+
})), /*#__PURE__*/_react.default.createElement(_Grid.Column, {
|
|
33
|
+
part: 8
|
|
34
|
+
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, null, /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
35
|
+
noPaddingVertical: true,
|
|
36
|
+
noPaddingHorizontal: true
|
|
37
|
+
}, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("p", null, textRight))), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
38
|
+
noPaddingHorizontal: true
|
|
26
39
|
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
27
40
|
minWidth: "240px",
|
|
28
41
|
onClick: function onClick() {
|
|
29
|
-
// deleteRedirectCookieAndNavigate()
|
|
30
42
|
_onClick();
|
|
31
|
-
}
|
|
32
|
-
|
|
43
|
+
},
|
|
44
|
+
fluid: true
|
|
45
|
+
}, buttonText))))));
|
|
33
46
|
};
|
|
34
47
|
exports.Sucess2FA = Sucess2FA;
|
|
35
48
|
Sucess2FA.propTypes = {
|
|
36
|
-
|
|
49
|
+
onClick: _propTypes.default.func.isRequired
|
|
37
50
|
};
|
|
38
51
|
var _default = Sucess2FA;
|
|
39
52
|
exports.default = _default;
|
|
@@ -7,12 +7,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = exports.Disable2FA = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _AuthContext = require("../../context/AuthContext");
|
|
10
|
-
var _LoginModal = _interopRequireDefault(require("../LoginModal/LoginModal"));
|
|
11
10
|
var _ComponentWrapper = _interopRequireDefault(require("../ComponentWrapper/ComponentWrapper.styles"));
|
|
12
11
|
var _Modal = require("../Modal/Modal");
|
|
12
|
+
var _Modal2 = require("../Modal/Modal.styles");
|
|
13
13
|
var _Text = _interopRequireDefault(require("../Text/Text.styles"));
|
|
14
14
|
var _Button = _interopRequireDefault(require("../Button/Button.styles"));
|
|
15
|
-
var
|
|
15
|
+
var _Grid = require("../Grid/Grid.styles");
|
|
16
|
+
var _Sucess2FA = _interopRequireDefault(require("./Sucess2FA"));
|
|
17
|
+
var _excluded = ["showFlow", "setShowFlow", "onSuccess", "onRequiresRecentLoginError"];
|
|
16
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
19
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
20
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -36,30 +38,17 @@ var Disable2FA = function Disable2FA(_ref) {
|
|
|
36
38
|
var showFlow = _ref.showFlow,
|
|
37
39
|
setShowFlow = _ref.setShowFlow,
|
|
38
40
|
onSuccess = _ref.onSuccess,
|
|
41
|
+
onRequiresRecentLoginError = _ref.onRequiresRecentLoginError,
|
|
39
42
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
40
43
|
var _useContext = (0, _react.useContext)(_AuthContext.AuthContext),
|
|
41
|
-
loginUser = _useContext.loginUser,
|
|
42
|
-
user = _useContext.user,
|
|
43
44
|
unenrollUser2FA = _useContext.unenrollUser2FA;
|
|
44
45
|
var _useState = (0, _react.useState)({
|
|
45
46
|
confirmDisable: false,
|
|
46
|
-
|
|
47
|
-
enter2fa: false
|
|
47
|
+
sucess: false
|
|
48
48
|
}),
|
|
49
49
|
_useState2 = _slicedToArray(_useState, 2),
|
|
50
50
|
isModalOpen = _useState2[0],
|
|
51
51
|
setIsModalOpen = _useState2[1];
|
|
52
|
-
var _useState3 = (0, _react.useState)(),
|
|
53
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
54
|
-
isActionLoading = _useState4[0],
|
|
55
|
-
setIsActionLoading = _useState4[1];
|
|
56
|
-
var _useState5 = (0, _react.useState)({
|
|
57
|
-
popup: undefined,
|
|
58
|
-
message: undefined
|
|
59
|
-
}),
|
|
60
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
61
|
-
popupError = _useState6[0],
|
|
62
|
-
setPopupError = _useState6[1];
|
|
63
52
|
(0, _react.useEffect)(function () {
|
|
64
53
|
if (showFlow) {
|
|
65
54
|
setIsModalOpen(_objectSpread(_objectSpread({}, isModalOpen), {}, {
|
|
@@ -67,22 +56,6 @@ var Disable2FA = function Disable2FA(_ref) {
|
|
|
67
56
|
}));
|
|
68
57
|
}
|
|
69
58
|
}, [props.showFlow]);
|
|
70
|
-
var switchOpenModal = function switchOpenModal(prevModalId, nextModalId) {
|
|
71
|
-
var _objectSpread2;
|
|
72
|
-
setIsModalOpen(_objectSpread(_objectSpread({}, isModalOpen), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, prevModalId, false), _defineProperty(_objectSpread2, nextModalId, true), _objectSpread2)));
|
|
73
|
-
};
|
|
74
|
-
var handleSetPopupError = function handleSetPopupError(popup, message) {
|
|
75
|
-
setPopupError({
|
|
76
|
-
popup: popup,
|
|
77
|
-
message: message
|
|
78
|
-
});
|
|
79
|
-
};
|
|
80
|
-
var clearPopupError = function clearPopupError() {
|
|
81
|
-
setPopupError({
|
|
82
|
-
popup: undefined,
|
|
83
|
-
message: undefined
|
|
84
|
-
});
|
|
85
|
-
};
|
|
86
59
|
var handleDisableClick = /*#__PURE__*/function () {
|
|
87
60
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
88
61
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
@@ -92,19 +65,23 @@ var Disable2FA = function Disable2FA(_ref) {
|
|
|
92
65
|
_context.next = 3;
|
|
93
66
|
return unenrollUser2FA();
|
|
94
67
|
case 3:
|
|
95
|
-
|
|
96
|
-
|
|
68
|
+
setIsModalOpen(_objectSpread(_objectSpread({}, isModalOpen), {}, {
|
|
69
|
+
sucess: true
|
|
70
|
+
}));
|
|
97
71
|
_context.next = 10;
|
|
98
72
|
break;
|
|
99
|
-
case
|
|
100
|
-
_context.prev =
|
|
73
|
+
case 6:
|
|
74
|
+
_context.prev = 6;
|
|
101
75
|
_context.t0 = _context["catch"](0);
|
|
102
|
-
console.log('π ~ file: disable-2fa-flow.js
|
|
76
|
+
console.log('π ~ file: disable-2fa-flow.js ~ error:', _context.t0);
|
|
77
|
+
if (_context.t0.code === 'auth/requires-recent-login') {
|
|
78
|
+
onRequiresRecentLoginError && onRequiresRecentLoginError();
|
|
79
|
+
}
|
|
103
80
|
case 10:
|
|
104
81
|
case "end":
|
|
105
82
|
return _context.stop();
|
|
106
83
|
}
|
|
107
|
-
}, _callee, null, [[0,
|
|
84
|
+
}, _callee, null, [[0, 6]]);
|
|
108
85
|
}));
|
|
109
86
|
return function handleDisableClick() {
|
|
110
87
|
return _ref2.apply(this, arguments);
|
|
@@ -116,8 +93,27 @@ var Disable2FA = function Disable2FA(_ref) {
|
|
|
116
93
|
//setIsModalOpen({ ...isModalOpen, confirmDisable: false })
|
|
117
94
|
setShowFlow(false);
|
|
118
95
|
}
|
|
119
|
-
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner,
|
|
120
|
-
|
|
96
|
+
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
|
|
97
|
+
noPadding: true
|
|
98
|
+
}, isModalOpen.sucess ? /*#__PURE__*/_react.default.createElement(_Sucess2FA.default, {
|
|
99
|
+
onClick: function onClick() {
|
|
100
|
+
setShowFlow(false);
|
|
101
|
+
onSuccess && onSuccess();
|
|
102
|
+
},
|
|
103
|
+
subTitleLeft: "Your log in 2FA authentication is removed",
|
|
104
|
+
textRight: "You will not be asked for your 2FA code next time you log in."
|
|
105
|
+
}) : /*#__PURE__*/_react.default.createElement(_Modal2.ModalWrapper, null, /*#__PURE__*/_react.default.createElement(_Grid.Row, null, /*#__PURE__*/_react.default.createElement(_Grid.Column, {
|
|
106
|
+
part: 8
|
|
107
|
+
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
|
|
108
|
+
modalTop: true
|
|
109
|
+
}, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("h3", null, "Remove your log in 2FA authentication? "), /*#__PURE__*/_react.default.createElement("p", null, "We recommend you to keep 2FA authentication and protect your account with an additional layer of security"))), /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
|
|
110
|
+
modalBot: true
|
|
111
|
+
})), /*#__PURE__*/_react.default.createElement(_Grid.Column, {
|
|
112
|
+
part: 8
|
|
113
|
+
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, null, /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
114
|
+
noPaddingVertical: true,
|
|
115
|
+
noPaddingHorizontal: true
|
|
116
|
+
}, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("p", null, "Do you want to remove your log in 2FA authentication?"))), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
121
117
|
noPaddingHorizontal: true
|
|
122
118
|
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
123
119
|
secondary: true,
|
|
@@ -126,106 +122,15 @@ var Disable2FA = function Disable2FA(_ref) {
|
|
|
126
122
|
},
|
|
127
123
|
onClick: function onClick() {
|
|
128
124
|
return setShowFlow(false);
|
|
129
|
-
}
|
|
130
|
-
}, "Cancel"), /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
131
|
-
onClick: handleDisableClick
|
|
132
|
-
}, "Yes")))), /*#__PURE__*/_react.default.createElement(_LoginModal.default, {
|
|
133
|
-
isActionLoading: isActionLoading,
|
|
134
|
-
popupError: popupError
|
|
135
|
-
//background={backgroundProp}
|
|
136
|
-
,
|
|
137
|
-
isModalOpen: isModalOpen.login,
|
|
138
|
-
onModalClose: function onModalClose() {
|
|
139
|
-
window.location.href = 'https://stokr.info/';
|
|
140
125
|
},
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
onFormSend: /*#__PURE__*/function () {
|
|
150
|
-
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref3) {
|
|
151
|
-
var email, password;
|
|
152
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
153
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
154
|
-
case 0:
|
|
155
|
-
email = _ref3.email, password = _ref3.password;
|
|
156
|
-
clearPopupError();
|
|
157
|
-
setIsActionLoading('login');
|
|
158
|
-
_context2.prev = 3;
|
|
159
|
-
if (!(password.length > 128)) {
|
|
160
|
-
_context2.next = 8;
|
|
161
|
-
break;
|
|
162
|
-
}
|
|
163
|
-
handleSetPopupError('login', 'Your password cannot exceed 128 characters');
|
|
164
|
-
setIsActionLoading(undefined);
|
|
165
|
-
return _context2.abrupt("return");
|
|
166
|
-
case 8:
|
|
167
|
-
_context2.next = 10;
|
|
168
|
-
return loginUser(email, password);
|
|
169
|
-
case 10:
|
|
170
|
-
_context2.next = 22;
|
|
171
|
-
break;
|
|
172
|
-
case 12:
|
|
173
|
-
_context2.prev = 12;
|
|
174
|
-
_context2.t0 = _context2["catch"](3);
|
|
175
|
-
_context2.t1 = _context2.t0.code;
|
|
176
|
-
_context2.next = _context2.t1 === 'auth/multi-factor-auth-required' ? 17 : 19;
|
|
177
|
-
break;
|
|
178
|
-
case 17:
|
|
179
|
-
// Initiate your second factor sign-in flow. (See next step.)
|
|
180
|
-
// ...
|
|
181
|
-
switchOpenModal('login', 'enter2fa');
|
|
182
|
-
return _context2.abrupt("break", 21);
|
|
183
|
-
case 19:
|
|
184
|
-
console.log({
|
|
185
|
-
error: _context2.t0
|
|
186
|
-
}); // Handle other errors, such as wrong passwords.
|
|
187
|
-
return _context2.abrupt("break", 21);
|
|
188
|
-
case 21:
|
|
189
|
-
// const errorMessage =
|
|
190
|
-
// error &&
|
|
191
|
-
// error.response &&
|
|
192
|
-
// error.response.data === 'E_AUTH_OBJECTNOTFOUND::User'
|
|
193
|
-
// ? error.response.data
|
|
194
|
-
// : error.response.data.error_description
|
|
195
|
-
|
|
196
|
-
// if (errorMessage === 'E_AUTH_USERNOTACTIVATED') {
|
|
197
|
-
// handleSetPopupError(
|
|
198
|
-
// 'login',
|
|
199
|
-
// "You're not activated. We're sending you an activation email right now.",
|
|
200
|
-
// )
|
|
201
|
-
// } else if (errorMessage === 'E_AUTH_PASSWORDINCORRECT') {
|
|
202
|
-
// handleSetPopupError(
|
|
203
|
-
// 'login',
|
|
204
|
-
// 'The password is not correct. Try again?',
|
|
205
|
-
// )
|
|
206
|
-
// } else if (errorMessage === 'E_AUTH_OBJECTNOTFOUND::User') {
|
|
207
|
-
// handleSetPopupError(
|
|
208
|
-
// 'login',
|
|
209
|
-
// "This email is not registered. Are you sure that's the right one?",
|
|
210
|
-
// )
|
|
211
|
-
// } else {
|
|
212
|
-
// handleSetPopupError(
|
|
213
|
-
// 'login',
|
|
214
|
-
// "Oops. Something's not right there. Try again?",
|
|
215
|
-
// )
|
|
216
|
-
// }
|
|
217
|
-
setIsActionLoading(undefined);
|
|
218
|
-
case 22:
|
|
219
|
-
case "end":
|
|
220
|
-
return _context2.stop();
|
|
221
|
-
}
|
|
222
|
-
}, _callee2, null, [[3, 12]]);
|
|
223
|
-
}));
|
|
224
|
-
return function (_x) {
|
|
225
|
-
return _ref4.apply(this, arguments);
|
|
226
|
-
};
|
|
227
|
-
}()
|
|
228
|
-
}));
|
|
126
|
+
fluid: true
|
|
127
|
+
}, "NO")), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
128
|
+
noPaddingHorizontal: true,
|
|
129
|
+
noPaddingTop: true
|
|
130
|
+
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
131
|
+
onClick: handleDisableClick,
|
|
132
|
+
fluid: true
|
|
133
|
+
}, "Yes")))))))));
|
|
229
134
|
};
|
|
230
135
|
exports.Disable2FA = Disable2FA;
|
|
231
136
|
var _default = Disable2FA;
|
|
@@ -47,6 +47,13 @@ var Enable2FAFlow = function Enable2FAFlow(_ref) {
|
|
|
47
47
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
48
48
|
totpData = _useState4[0],
|
|
49
49
|
settotpData = _useState4[1];
|
|
50
|
+
var _useState5 = (0, _react.useState)({
|
|
51
|
+
popup: undefined,
|
|
52
|
+
message: undefined
|
|
53
|
+
}),
|
|
54
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
55
|
+
popupError = _useState6[0],
|
|
56
|
+
setpopupError = _useState6[1];
|
|
50
57
|
(0, _react.useEffect)(function () {
|
|
51
58
|
if (user) {
|
|
52
59
|
generateTotpSecret(user).then(function (data) {
|
|
@@ -54,7 +61,7 @@ var Enable2FAFlow = function Enable2FAFlow(_ref) {
|
|
|
54
61
|
return;
|
|
55
62
|
}).catch(function (error) {
|
|
56
63
|
console.log(error);
|
|
57
|
-
if (error.code === 'auth/requires-recent-login') {
|
|
64
|
+
if (error.code === 'auth/requires-recent-login' || error.code === 'auth/unsupported-first-factor') {
|
|
58
65
|
onRequiresRecentLoginError && onRequiresRecentLoginError();
|
|
59
66
|
}
|
|
60
67
|
});
|
|
@@ -76,20 +83,33 @@ var Enable2FAFlow = function Enable2FAFlow(_ref) {
|
|
|
76
83
|
return enrollUserToTotp(user, totpData.totpSecret, data.otpInput, user.displayName);
|
|
77
84
|
case 5:
|
|
78
85
|
setshowSuccess(true);
|
|
79
|
-
_context.next =
|
|
86
|
+
_context.next = 17;
|
|
80
87
|
break;
|
|
81
88
|
case 8:
|
|
82
89
|
_context.prev = 8;
|
|
83
90
|
_context.t0 = _context["catch"](2);
|
|
84
91
|
console.log('π ~ file: enable-2fa-flow.js:60 ~ error:', _context.t0);
|
|
85
92
|
if (!(_context.t0.code === 'auth/invalid-verification-code')) {
|
|
86
|
-
_context.next =
|
|
93
|
+
_context.next = 16;
|
|
87
94
|
break;
|
|
88
95
|
}
|
|
96
|
+
setpopupError({
|
|
97
|
+
popup: 'enter2fa',
|
|
98
|
+
message: 'Thatβs not the right 2FA code. Try again'
|
|
99
|
+
});
|
|
89
100
|
return _context.abrupt("return", {
|
|
90
101
|
otpInput: 'Invalid code'
|
|
91
102
|
});
|
|
92
|
-
case
|
|
103
|
+
case 16:
|
|
104
|
+
if (_context.t0.code === 'auth/requires-recent-login') {
|
|
105
|
+
onRequiresRecentLoginError && onRequiresRecentLoginError();
|
|
106
|
+
} else {
|
|
107
|
+
setpopupError({
|
|
108
|
+
popup: 'enter2fa',
|
|
109
|
+
message: "".concat(_context.t0 !== null && _context.t0 !== void 0 && _context.t0.message ? _context.t0 === null || _context.t0 === void 0 ? void 0 : _context.t0.message : 'Something went wrong. Try again?')
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
case 17:
|
|
93
113
|
case "end":
|
|
94
114
|
return _context.stop();
|
|
95
115
|
}
|
|
@@ -100,18 +120,6 @@ var Enable2FAFlow = function Enable2FAFlow(_ref) {
|
|
|
100
120
|
};
|
|
101
121
|
}();
|
|
102
122
|
var onBackButtonClick = function onBackButtonClick(stepController, prevStepIndex) {
|
|
103
|
-
if (prevStepIndex === 0) {
|
|
104
|
-
//setselectedProject({})
|
|
105
|
-
}
|
|
106
|
-
// if (prevStepIndex === 0 || prevStepIndex === 1) {
|
|
107
|
-
// setWallet(null)
|
|
108
|
-
// setAddressToRegister(null)
|
|
109
|
-
// setNameToRegister(null)
|
|
110
|
-
// setRegisteredAddress(false)
|
|
111
|
-
// setError('')
|
|
112
|
-
// setverifiedAddress(false)
|
|
113
|
-
// }
|
|
114
|
-
|
|
115
123
|
stepController.changeStep(stepsNames[prevStepIndex], prevStepIndex);
|
|
116
124
|
};
|
|
117
125
|
return /*#__PURE__*/_react.default.createElement(_Modal.Modal, {
|
|
@@ -126,7 +134,9 @@ var Enable2FAFlow = function Enable2FAFlow(_ref) {
|
|
|
126
134
|
setshowSuccess(false);
|
|
127
135
|
setShowFlow(false);
|
|
128
136
|
onSuccess && onSuccess();
|
|
129
|
-
}
|
|
137
|
+
},
|
|
138
|
+
subTitleLeft: "Your log in 2FA authentication is now set",
|
|
139
|
+
textRight: "You will now be asked for your 2FA code next time you log in."
|
|
130
140
|
}) : /*#__PURE__*/_react.default.createElement(_StepControllerContext.StepControllerProvider, null, /*#__PURE__*/_react.default.createElement(_StepControllerContext.StepControllerConsumer, null, function (stepController) {
|
|
131
141
|
var prevStepIndex = stepController.activeStepIndex - 1;
|
|
132
142
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Modal.ModalBack, {
|
|
@@ -161,13 +171,14 @@ var Enable2FAFlow = function Enable2FAFlow(_ref) {
|
|
|
161
171
|
changeStep: function changeStep() {
|
|
162
172
|
return stepController.changeStep('enter-code', 2, 1);
|
|
163
173
|
},
|
|
164
|
-
totpData: totpData
|
|
174
|
+
totpData: totpData,
|
|
175
|
+
user: user
|
|
165
176
|
}), /*#__PURE__*/_react.default.createElement(_EnterCode.default, {
|
|
166
177
|
id: "enter-code",
|
|
167
178
|
changeStep: function changeStep() {
|
|
168
179
|
console.log('here');
|
|
169
180
|
},
|
|
170
|
-
popupError:
|
|
181
|
+
popupError: popupError,
|
|
171
182
|
onFormSend: onSubmit
|
|
172
183
|
})));
|
|
173
184
|
}))));
|