ordering-ui-external 1.6.8 → 1.7.1

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.
Files changed (107) hide show
  1. package/_bundles/{0.ordering-ui.7635bd47ae9a481b3f59.js → 0.ordering-ui.8b7044a2b34939a44465.js} +0 -0
  2. package/_bundles/{1.ordering-ui.7635bd47ae9a481b3f59.js → 1.ordering-ui.8b7044a2b34939a44465.js} +0 -0
  3. package/_bundles/{2.ordering-ui.7635bd47ae9a481b3f59.js → 2.ordering-ui.8b7044a2b34939a44465.js} +0 -0
  4. package/_bundles/{4.ordering-ui.7635bd47ae9a481b3f59.js → 4.ordering-ui.8b7044a2b34939a44465.js} +0 -0
  5. package/_bundles/{5.ordering-ui.7635bd47ae9a481b3f59.js → 5.ordering-ui.8b7044a2b34939a44465.js} +0 -0
  6. package/_bundles/{6.ordering-ui.7635bd47ae9a481b3f59.js → 6.ordering-ui.8b7044a2b34939a44465.js} +0 -0
  7. package/_bundles/{7.ordering-ui.7635bd47ae9a481b3f59.js → 7.ordering-ui.8b7044a2b34939a44465.js} +1 -1
  8. package/_bundles/{7.ordering-ui.7635bd47ae9a481b3f59.js.LICENSE.txt → 7.ordering-ui.8b7044a2b34939a44465.js.LICENSE.txt} +0 -0
  9. package/_bundles/{8.ordering-ui.7635bd47ae9a481b3f59.js → 8.ordering-ui.8b7044a2b34939a44465.js} +0 -0
  10. package/_bundles/{9.ordering-ui.7635bd47ae9a481b3f59.js → 9.ordering-ui.8b7044a2b34939a44465.js} +0 -0
  11. package/_bundles/ordering-ui.8b7044a2b34939a44465.js +2 -0
  12. package/_bundles/{ordering-ui.7635bd47ae9a481b3f59.js.LICENSE.txt → ordering-ui.8b7044a2b34939a44465.js.LICENSE.txt} +0 -0
  13. package/_modules/components/BusinessInformation/index.js +8 -10
  14. package/_modules/components/LoginForm/index.js +58 -17
  15. package/_modules/components/SignUpForm/index.js +61 -20
  16. package/_modules/themes/callcenterOriginal/src/components/LoginForm/index.js +71 -25
  17. package/_modules/themes/callcenterOriginal/src/components/SignUpForm/index.js +60 -19
  18. package/_modules/themes/eight/src/components/LoginForm/index.js +63 -20
  19. package/_modules/themes/eight/src/components/SignUpForm/index.js +63 -22
  20. package/_modules/themes/five/src/components/BusinessController/index.js +2 -2
  21. package/_modules/themes/five/src/components/BusinessPreorder/index.js +6 -45
  22. package/_modules/themes/five/src/components/BusinessProductsListing/index.js +1 -1
  23. package/_modules/themes/five/src/components/Checkout/index.js +19 -3
  24. package/_modules/themes/five/src/components/Checkout/styles.js +5 -3
  25. package/_modules/themes/five/src/components/Footer/styles.js +1 -1
  26. package/_modules/themes/five/src/components/Header/index.js +3 -3
  27. package/_modules/themes/five/src/components/Header/styles.js +1 -1
  28. package/_modules/themes/five/src/components/HomeHero/layouts/OriginalHomeHero/index.js +1 -1
  29. package/_modules/themes/five/src/components/MomentControl/index.js +1 -41
  30. package/_modules/themes/five/src/components/OrderDetails/OrderBillSection.js +2 -2
  31. package/_modules/themes/five/src/components/OrderDetails/index.js +14 -16
  32. package/_modules/themes/five/src/components/OrderDetails/styles.js +7 -3
  33. package/_modules/themes/five/src/components/PaymentOptions/index.js +3 -6
  34. package/_modules/themes/five/src/components/PlaceSpot/styles.js +2 -2
  35. package/_modules/themes/five/src/components/ProductItemAccordion/index.js +7 -4
  36. package/_modules/themes/five/src/components/ProductOption/index.js +1 -1
  37. package/_modules/themes/five/src/components/ProductOptionSubOption/index.js +1 -1
  38. package/_modules/themes/five/src/components/ProfessionalProfile/index.js +1 -1
  39. package/_modules/themes/five/src/components/ServiceForm/index.js +136 -24
  40. package/_modules/themes/five/src/components/ServiceForm/styles.js +45 -3
  41. package/_modules/themes/four/src/components/LoginForm/index.js +64 -20
  42. package/_modules/themes/four/src/components/LoginForm/styles.js +5 -3
  43. package/_modules/themes/four/src/components/SignUpForm/index.js +67 -22
  44. package/_modules/themes/four/src/components/SignUpForm/styles.js +5 -3
  45. package/_modules/themes/franchise/src/components/LoginForm/index.js +61 -20
  46. package/_modules/themes/franchise/src/components/SignUpForm/index.js +57 -16
  47. package/_modules/themes/seven/src/components/LoginForm/index.js +60 -17
  48. package/_modules/themes/seven/src/components/SignUpForm/index.js +60 -19
  49. package/_modules/themes/six/src/components/LoginForm/index.js +62 -20
  50. package/_modules/themes/six/src/components/SignUpForm/index.js +58 -17
  51. package/_modules/themes/three/src/components/LoginForm/index.js +64 -20
  52. package/_modules/themes/three/src/components/LoginForm/styles.js +5 -3
  53. package/_modules/themes/three/src/components/SignUpForm/index.js +63 -18
  54. package/_modules/themes/three/src/components/SignUpForm/styles.js +5 -3
  55. package/_modules/themes/two/src/components/LoginForm/index.js +57 -17
  56. package/_modules/themes/two/src/components/SignUpForm/index.js +57 -17
  57. package/_modules/utils/index.js +56 -2
  58. package/package.json +2 -2
  59. package/src/components/BusinessInformation/index.js +8 -6
  60. package/src/components/LoginForm/index.js +32 -6
  61. package/src/components/SignUpForm/index.js +27 -2
  62. package/src/themes/callcenterOriginal/src/components/LoginForm/index.js +30 -2
  63. package/src/themes/callcenterOriginal/src/components/SignUpForm/index.js +27 -1
  64. package/src/themes/eight/src/components/LoginForm/index.js +30 -0
  65. package/src/themes/eight/src/components/SignUpForm/index.js +27 -1
  66. package/src/themes/five/src/components/BusinessController/index.js +2 -2
  67. package/src/themes/five/src/components/BusinessPreorder/index.js +6 -46
  68. package/src/themes/five/src/components/BusinessProductsListing/index.js +1 -1
  69. package/src/themes/five/src/components/Checkout/index.js +28 -3
  70. package/src/themes/five/src/components/Checkout/styles.js +30 -0
  71. package/src/themes/five/src/components/Footer/styles.js +1 -5
  72. package/src/themes/five/src/components/Header/index.js +7 -6
  73. package/src/themes/five/src/components/Header/styles.js +1 -3
  74. package/src/themes/five/src/components/HomeHero/layouts/OriginalHomeHero/index.js +1 -1
  75. package/src/themes/five/src/components/MomentControl/index.js +1 -42
  76. package/src/themes/five/src/components/OrderDetails/OrderBillSection.js +1 -1
  77. package/src/themes/five/src/components/OrderDetails/index.js +10 -8
  78. package/src/themes/five/src/components/OrderDetails/styles.js +21 -1
  79. package/src/themes/five/src/components/PaymentOptions/index.js +25 -26
  80. package/src/themes/five/src/components/PlaceSpot/styles.js +14 -4
  81. package/src/themes/five/src/components/ProductItemAccordion/index.js +7 -3
  82. package/src/themes/five/src/components/ProductOption/index.js +1 -1
  83. package/src/themes/five/src/components/ProductOptionSubOption/index.js +1 -1
  84. package/src/themes/five/src/components/ProfessionalProfile/index.js +1 -1
  85. package/src/themes/five/src/components/ServiceForm/index.js +151 -11
  86. package/src/themes/five/src/components/ServiceForm/styles.js +148 -0
  87. package/src/themes/four/src/components/LoginForm/index.js +37 -5
  88. package/src/themes/four/src/components/LoginForm/styles.js +4 -0
  89. package/src/themes/four/src/components/SignUpForm/index.js +39 -5
  90. package/src/themes/four/src/components/SignUpForm/styles.js +4 -0
  91. package/src/themes/franchise/src/components/LoginForm/index.js +26 -1
  92. package/src/themes/franchise/src/components/SignUpForm/index.js +27 -1
  93. package/src/themes/seven/src/components/LoginForm/index.js +31 -0
  94. package/src/themes/seven/src/components/SignUpForm/index.js +27 -1
  95. package/src/themes/six/src/components/LoginForm/index.js +28 -1
  96. package/src/themes/six/src/components/SignUpForm/index.js +27 -1
  97. package/src/themes/three/src/components/LoginForm/index.js +38 -6
  98. package/src/themes/three/src/components/LoginForm/styles.js +4 -0
  99. package/src/themes/three/src/components/SignUpForm/index.js +40 -4
  100. package/src/themes/three/src/components/SignUpForm/styles.js +4 -0
  101. package/src/themes/two/src/components/LoginForm/index.js +25 -1
  102. package/src/themes/two/src/components/SignUpForm/index.js +28 -3
  103. package/src/utils/index.js +53 -0
  104. package/template/app.js +15 -3
  105. package/template/config.json +1 -0
  106. package/template/pages/BusinessProductsList/index.js +2 -2
  107. package/_bundles/ordering-ui.7635bd47ae9a481b3f59.js +0 -2
@@ -21,6 +21,7 @@ var _FacebookLogin = require("../FacebookLogin");
21
21
  var _AppleLogin = require("../AppleLogin");
22
22
  var _SmsLogin = require("../../../../../components/SmsLogin");
23
23
  var _useCountdownTimer3 = require("../../../../../hooks/useCountdownTimer");
24
+ var _useRecaptcha3 = require("../../../../../hooks/useRecaptcha");
24
25
  var _utils = require("../../../../../utils");
25
26
  var _styledComponents = require("styled-components");
26
27
  var _libphonenumberJs = _interopRequireDefault(require("libphonenumber-js"));
@@ -50,6 +51,7 @@ var LoginFormUI = function LoginFormUI(props) {
50
51
  var useLoginByEmail = props.useLoginByEmail,
51
52
  useLoginByCellphone = props.useLoginByCellphone,
52
53
  handleChangeInput = props.handleChangeInput,
54
+ handleReCaptcha = props.handleReCaptcha,
53
55
  handleChangeTab = props.handleChangeTab,
54
56
  handleButtonLoginClick = props.handleButtonLoginClick,
55
57
  handleSendVerifyCode = props.handleSendVerifyCode,
@@ -61,7 +63,8 @@ var LoginFormUI = function LoginFormUI(props) {
61
63
  checkPhoneCodeState = props.checkPhoneCodeState,
62
64
  loginTab = props.loginTab,
63
65
  isPopup = props.isPopup,
64
- credentials = props.credentials;
66
+ credentials = props.credentials,
67
+ enableReCaptcha = props.enableReCaptcha;
65
68
  var numOtpInputs = 4;
66
69
  var _useLanguage = (0, _orderingComponentsExternal.useLanguage)(),
67
70
  _useLanguage2 = _slicedToArray(_useLanguage, 2),
@@ -70,6 +73,9 @@ var LoginFormUI = function LoginFormUI(props) {
70
73
  _useConfig2 = _slicedToArray(_useConfig, 1),
71
74
  configs = _useConfig2[0].configs;
72
75
  var formMethods = (0, _reactHookForm.useForm)();
76
+ var _useRecaptcha = (0, _useRecaptcha3.useRecaptcha)(enableReCaptcha),
77
+ _useRecaptcha2 = _slicedToArray(_useRecaptcha, 1),
78
+ recaptchaConfig = _useRecaptcha2[0];
73
79
  var _useState = (0, _react.useState)({
74
80
  open: false,
75
81
  content: []
@@ -77,31 +83,38 @@ var LoginFormUI = function LoginFormUI(props) {
77
83
  _useState2 = _slicedToArray(_useState, 2),
78
84
  alertState = _useState2[0],
79
85
  setAlertState = _useState2[1];
86
+ var _useState3 = (0, _react.useState)({
87
+ version: '',
88
+ siteKey: ''
89
+ }),
90
+ _useState4 = _slicedToArray(_useState3, 2),
91
+ reCaptchaVersion = _useState4[0],
92
+ setRecaptchaVersion = _useState4[1];
80
93
  var _useSession = (0, _orderingComponentsExternal.useSession)(),
81
94
  _useSession2 = _slicedToArray(_useSession, 2),
82
95
  login = _useSession2[1].login;
83
96
  var theme = (0, _styledComponents.useTheme)();
84
- var _useState3 = (0, _react.useState)(false),
85
- _useState4 = _slicedToArray(_useState3, 2),
86
- passwordSee = _useState4[0],
87
- setPasswordSee = _useState4[1];
88
- var emailInput = (0, _react.useRef)(null);
89
97
  var _useState5 = (0, _react.useState)(false),
90
98
  _useState6 = _slicedToArray(_useState5, 2),
91
- loginWithOtpState = _useState6[0],
92
- setLoginWithOtpState = _useState6[1];
99
+ passwordSee = _useState6[0],
100
+ setPasswordSee = _useState6[1];
101
+ var emailInput = (0, _react.useRef)(null);
93
102
  var _useState7 = (0, _react.useState)(false),
94
103
  _useState8 = _slicedToArray(_useState7, 2),
95
- willVerifyOtpState = _useState8[0],
96
- setWillVerifyOtpState = _useState8[1];
104
+ loginWithOtpState = _useState8[0],
105
+ setLoginWithOtpState = _useState8[1];
97
106
  var _useState9 = (0, _react.useState)(false),
98
107
  _useState10 = _slicedToArray(_useState9, 2),
99
- validPhoneFieldState = _useState10[0],
100
- setValidPhoneField = _useState10[1];
101
- var _useState11 = (0, _react.useState)(''),
108
+ willVerifyOtpState = _useState10[0],
109
+ setWillVerifyOtpState = _useState10[1];
110
+ var _useState11 = (0, _react.useState)(false),
102
111
  _useState12 = _slicedToArray(_useState11, 2),
103
- otpState = _useState12[0],
104
- setOtpState = _useState12[1];
112
+ validPhoneFieldState = _useState12[0],
113
+ setValidPhoneField = _useState12[1];
114
+ var _useState13 = (0, _react.useState)(''),
115
+ _useState14 = _slicedToArray(_useState13, 2),
116
+ otpState = _useState14[0],
117
+ setOtpState = _useState14[1];
105
118
  var _useCountdownTimer = (0, _useCountdownTimer3.useCountdownTimer)(600, !(checkPhoneCodeState !== null && checkPhoneCodeState !== void 0 && checkPhoneCodeState.loading) && willVerifyOtpState),
106
119
  _useCountdownTimer2 = _slicedToArray(_useCountdownTimer, 3),
107
120
  otpLeftTime = _useCountdownTimer2[0],
@@ -224,12 +237,31 @@ var LoginFormUI = function LoginFormUI(props) {
224
237
  (0, _react.useEffect)(function () {
225
238
  var _formState$result;
226
239
  if (!formState.loading && (_formState$result = formState.result) !== null && _formState$result !== void 0 && _formState$result.error) {
227
- var _formState$result2;
240
+ var _formState$result2, _formState$result2$re, _formState$result3;
241
+ if (((_formState$result2 = formState.result) === null || _formState$result2 === void 0 ? void 0 : (_formState$result2$re = _formState$result2.result) === null || _formState$result2$re === void 0 ? void 0 : _formState$result2$re[0]) === 'ERROR_AUTH_VERIFICATION_CODE') {
242
+ var _configs$security_rec;
243
+ if (configs !== null && configs !== void 0 && (_configs$security_rec = configs.security_recaptcha_site_key) !== null && _configs$security_rec !== void 0 && _configs$security_rec.value) {
244
+ var _configs$security_rec2;
245
+ setRecaptchaVersion({
246
+ version: 'v2',
247
+ siteKey: configs === null || configs === void 0 ? void 0 : (_configs$security_rec2 = configs.security_recaptcha_site_key) === null || _configs$security_rec2 === void 0 ? void 0 : _configs$security_rec2.value
248
+ });
249
+ setAlertState({
250
+ open: true,
251
+ content: [t('TRY_AGAIN', 'Please try again')]
252
+ });
253
+ return;
254
+ }
255
+ setAlertState({
256
+ open: true,
257
+ content: [t('CONFIG_DOESNOT_RECAPTCHA_KEY', 'the config doesn\'t have recaptcha site key')]
258
+ });
259
+ return;
260
+ }
228
261
  setAlertState({
229
262
  open: true,
230
- content: ((_formState$result2 = formState.result) === null || _formState$result2 === void 0 ? void 0 : _formState$result2.result) || [t('ERROR', 'Error')]
263
+ content: ((_formState$result3 = formState.result) === null || _formState$result3 === void 0 ? void 0 : _formState$result3.result) || [t('ERROR', 'Error')]
231
264
  });
232
- return;
233
265
  }
234
266
  }, [formState]);
235
267
  (0, _react.useEffect)(function () {
@@ -283,6 +315,14 @@ var LoginFormUI = function LoginFormUI(props) {
283
315
  content: (verifyPhoneState === null || verifyPhoneState === void 0 ? void 0 : (_verifyPhoneState$res3 = verifyPhoneState.result) === null || _verifyPhoneState$res3 === void 0 ? void 0 : _verifyPhoneState$res3.result) || [t('ERROR', 'Error')]
284
316
  });else resetOtpLeftTime();
285
317
  }, [verifyPhoneState]);
318
+ (0, _react.useEffect)(function () {
319
+ if (recaptchaConfig !== null && recaptchaConfig !== void 0 && recaptchaConfig.siteKey) {
320
+ setRecaptchaVersion({
321
+ version: recaptchaConfig === null || recaptchaConfig === void 0 ? void 0 : recaptchaConfig.version,
322
+ siteKey: recaptchaConfig === null || recaptchaConfig === void 0 ? void 0 : recaptchaConfig.siteKey
323
+ });
324
+ }
325
+ }, [recaptchaConfig]);
286
326
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (_props$beforeElements = props.beforeElements) === null || _props$beforeElements === void 0 ? void 0 : _props$beforeElements.map(function (BeforeElement, i) {
287
327
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
288
328
  key: i
@@ -374,7 +414,10 @@ var LoginFormUI = function LoginFormUI(props) {
374
414
  return /*#__PURE__*/_react.default.createElement(MidComponent, _extends({
375
415
  key: i
376
416
  }, props));
377
- }), !willVerifyOtpState && /*#__PURE__*/_react.default.createElement(_Buttons.Button, {
417
+ }), props.isRecaptchaEnable && enableReCaptcha && /*#__PURE__*/_react.default.createElement(_styles.ReCaptchaWrapper, null, /*#__PURE__*/_react.default.createElement(_orderingComponentsExternal.ReCaptcha, {
418
+ handleReCaptcha: handleReCaptcha,
419
+ reCaptchaVersion: reCaptchaVersion
420
+ })), !willVerifyOtpState && /*#__PURE__*/_react.default.createElement(_Buttons.Button, {
378
421
  color: "primary",
379
422
  onClick: formMethods.handleSubmit(onSubmit),
380
423
  disabled: formState.loading
@@ -443,7 +486,8 @@ var LoginFormUI = function LoginFormUI(props) {
443
486
  };
444
487
  var LoginForm = function LoginForm(props) {
445
488
  var loginControllerProps = _objectSpread(_objectSpread({}, props), {}, {
446
- UIComponent: LoginFormUI
489
+ UIComponent: LoginFormUI,
490
+ isRecaptchaEnable: true
447
491
  });
448
492
  return /*#__PURE__*/_react.default.createElement(_orderingComponentsExternal.LoginForm, loginControllerProps);
449
493
  };
@@ -4,12 +4,12 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.WrapperPassword = exports.TogglePassword = exports.SocialButtons = exports.Slogan = exports.SkeletonSocialWrapper = exports.RedirectLink = exports.OtpWrapper = exports.OrContainer = exports.LoginWithButton = exports.LoginContainer = exports.Line = exports.HeroImage = exports.HeroContainerStyled = exports.HeroContainer = exports.FormSide = exports.FormInput = exports.FormContainer = exports.CountdownTimer = void 0;
7
+ exports.WrapperPassword = exports.TogglePassword = exports.SocialButtons = exports.Slogan = exports.SkeletonSocialWrapper = exports.RedirectLink = exports.ReCaptchaWrapper = exports.OtpWrapper = exports.OrContainer = exports.LoginWithButton = exports.LoginContainer = exports.Line = exports.HeroImage = exports.HeroContainerStyled = exports.HeroContainer = exports.FormSide = exports.FormInput = exports.FormContainer = exports.CountdownTimer = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
10
10
  var _polished = require("polished");
11
11
  var _Buttons = require("../../styles/Buttons");
12
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23;
12
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24;
13
13
  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); }
14
14
  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; }
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -120,4 +120,6 @@ var Line = _styledComponents.default.div(_templateObject23 || (_templateObject23
120
120
  var _props$theme$colors4;
121
121
  return (_props$theme$colors4 = props.theme.colors) === null || _props$theme$colors4 === void 0 ? void 0 : _props$theme$colors4.grayColor;
122
122
  });
123
- exports.Line = Line;
123
+ exports.Line = Line;
124
+ var ReCaptchaWrapper = _styledComponents.default.div(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["\n margin: 12px auto;\n"])));
125
+ exports.ReCaptchaWrapper = ReCaptchaWrapper;
@@ -21,6 +21,7 @@ var _AppleLogin = require("../AppleLogin");
21
21
  var _Inputs = require("../../styles/Inputs");
22
22
  var _Buttons = require("../../styles/Buttons");
23
23
  var _Checkbox = require("../../../../../styles/Checkbox");
24
+ var _useRecaptcha3 = require("../../../../../hooks/useRecaptcha");
24
25
  var _styles = require("./styles");
25
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
27
  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); }
@@ -57,7 +58,9 @@ var SignUpFormUI = function SignUpFormUI(props) {
57
58
  externalPhoneNumber = props.externalPhoneNumber,
58
59
  saveCustomerUser = props.saveCustomerUser,
59
60
  fieldsNotValid = props.fieldsNotValid,
60
- signupData = props.signupData;
61
+ signupData = props.signupData,
62
+ enableReCaptcha = props.enableReCaptcha,
63
+ handleReCaptcha = props.handleReCaptcha;
61
64
  var _useLanguage = (0, _orderingComponentsExternal.useLanguage)(),
62
65
  _useLanguage2 = _slicedToArray(_useLanguage, 2),
63
66
  t = _useLanguage2[1];
@@ -65,31 +68,41 @@ var SignUpFormUI = function SignUpFormUI(props) {
65
68
  _useConfig2 = _slicedToArray(_useConfig, 1),
66
69
  configs = _useConfig2[0].configs;
67
70
  var formMethods = (0, _reactHookForm.useForm)();
71
+ var _useRecaptcha = (0, _useRecaptcha3.useRecaptcha)(enableReCaptcha),
72
+ _useRecaptcha2 = _slicedToArray(_useRecaptcha, 1),
73
+ recaptchaConfig = _useRecaptcha2[0];
68
74
  var _useState = (0, _react.useState)({
75
+ version: '',
76
+ siteKey: ''
77
+ }),
78
+ _useState2 = _slicedToArray(_useState, 2),
79
+ reCaptchaVersion = _useState2[0],
80
+ setRecaptchaVersion = _useState2[1];
81
+ var _useState3 = (0, _react.useState)({
69
82
  open: false,
70
83
  content: []
71
84
  }),
72
- _useState2 = _slicedToArray(_useState, 2),
73
- alertState = _useState2[0],
74
- setAlertState = _useState2[1];
85
+ _useState4 = _slicedToArray(_useState3, 2),
86
+ alertState = _useState4[0],
87
+ setAlertState = _useState4[1];
75
88
  var _useSession = (0, _orderingComponentsExternal.useSession)(),
76
89
  _useSession2 = _slicedToArray(_useSession, 2),
77
90
  login = _useSession2[1].login;
78
91
  var theme = (0, _styledComponents.useTheme)();
79
92
  var emailInput = (0, _react.useRef)(null);
80
93
  var isFacebookLogin = (configs === null || configs === void 0 ? void 0 : (_configs$facebook_log = configs.facebook_login) === null || _configs$facebook_log === void 0 ? void 0 : _configs$facebook_log.value) === 'true';
81
- var _useState3 = (0, _react.useState)(''),
82
- _useState4 = _slicedToArray(_useState3, 2),
83
- userPhoneNumber = _useState4[0],
84
- setUserPhoneNumber = _useState4[1];
85
- var _useState5 = (0, _react.useState)(null),
94
+ var _useState5 = (0, _react.useState)(''),
86
95
  _useState6 = _slicedToArray(_useState5, 2),
87
- isValidPhoneNumber = _useState6[0],
88
- setIsValidPhoneNumber = _useState6[1];
89
- var _useState7 = (0, _react.useState)(false),
96
+ userPhoneNumber = _useState6[0],
97
+ setUserPhoneNumber = _useState6[1];
98
+ var _useState7 = (0, _react.useState)(null),
90
99
  _useState8 = _slicedToArray(_useState7, 2),
91
- passwordSee = _useState8[0],
92
- setPasswordSee = _useState8[1];
100
+ isValidPhoneNumber = _useState8[0],
101
+ setIsValidPhoneNumber = _useState8[1];
102
+ var _useState9 = (0, _react.useState)(false),
103
+ _useState10 = _slicedToArray(_useState9, 2),
104
+ passwordSee = _useState10[0],
105
+ setPasswordSee = _useState10[1];
93
106
  var showInputPhoneNumber = (_validationFields$fie = validationFields === null || validationFields === void 0 ? void 0 : (_validationFields$fie2 = validationFields.fields) === null || _validationFields$fie2 === void 0 ? void 0 : (_validationFields$fie3 = _validationFields$fie2.checkout) === null || _validationFields$fie3 === void 0 ? void 0 : (_validationFields$fie4 = _validationFields$fie3.cellphone) === null || _validationFields$fie4 === void 0 ? void 0 : _validationFields$fie4.enabled) !== null && _validationFields$fie !== void 0 ? _validationFields$fie : false;
94
107
  var handleSuccessFacebook = function handleSuccessFacebook(user) {
95
108
  var _user$session;
@@ -179,16 +192,36 @@ var SignUpFormUI = function SignUpFormUI(props) {
179
192
  }
180
193
  };
181
194
  (0, _react.useEffect)(function () {
182
- var _formState$result, _formState$result3, _formState$result4;
195
+ var _formState$result, _formState$result4, _formState$result5;
183
196
  if (!formState.loading && (_formState$result = formState.result) !== null && _formState$result !== void 0 && _formState$result.error) {
184
- var _formState$result2;
197
+ var _formState$result2, _formState$result2$re, _formState$result3;
198
+ if (((_formState$result2 = formState.result) === null || _formState$result2 === void 0 ? void 0 : (_formState$result2$re = _formState$result2.result) === null || _formState$result2$re === void 0 ? void 0 : _formState$result2$re[0]) === 'ERROR_AUTH_VERIFICATION_CODE') {
199
+ var _configs$security_rec;
200
+ if (configs !== null && configs !== void 0 && (_configs$security_rec = configs.security_recaptcha_site_key) !== null && _configs$security_rec !== void 0 && _configs$security_rec.value) {
201
+ var _configs$security_rec2;
202
+ setRecaptchaVersion({
203
+ version: 'v2',
204
+ siteKey: configs === null || configs === void 0 ? void 0 : (_configs$security_rec2 = configs.security_recaptcha_site_key) === null || _configs$security_rec2 === void 0 ? void 0 : _configs$security_rec2.value
205
+ });
206
+ setAlertState({
207
+ open: true,
208
+ content: [t('TRY_AGAIN', 'Please try again')]
209
+ });
210
+ return;
211
+ }
212
+ setAlertState({
213
+ open: true,
214
+ content: [t('CONFIG_DOESNOT_RECAPTCHA_KEY', 'the config doesn\'t have recaptcha site key')]
215
+ });
216
+ return;
217
+ }
185
218
  setAlertState({
186
219
  open: true,
187
- content: ((_formState$result2 = formState.result) === null || _formState$result2 === void 0 ? void 0 : _formState$result2.result) || [t('ERROR', 'Error')]
220
+ content: ((_formState$result3 = formState.result) === null || _formState$result3 === void 0 ? void 0 : _formState$result3.result) || [t('ERROR', 'Error')]
188
221
  });
189
- } else if (!formState.loading && !((_formState$result3 = formState.result) !== null && _formState$result3 !== void 0 && _formState$result3.error) && (_formState$result4 = formState.result) !== null && _formState$result4 !== void 0 && _formState$result4.result) {
190
- var _formState$result5;
191
- saveCustomerUser && saveCustomerUser((_formState$result5 = formState.result) === null || _formState$result5 === void 0 ? void 0 : _formState$result5.result);
222
+ } else if (!formState.loading && !((_formState$result4 = formState.result) !== null && _formState$result4 !== void 0 && _formState$result4.error) && (_formState$result5 = formState.result) !== null && _formState$result5 !== void 0 && _formState$result5.result) {
223
+ var _formState$result6;
224
+ saveCustomerUser && saveCustomerUser((_formState$result6 = formState.result) === null || _formState$result6 === void 0 ? void 0 : _formState$result6.result);
192
225
  }
193
226
  }, [formState]);
194
227
  (0, _react.useEffect)(function () {
@@ -228,6 +261,14 @@ var SignUpFormUI = function SignUpFormUI(props) {
228
261
  handleChangePhoneNumber(externalPhoneNumber, true);
229
262
  }
230
263
  }, [externalPhoneNumber]);
264
+ (0, _react.useEffect)(function () {
265
+ if (recaptchaConfig !== null && recaptchaConfig !== void 0 && recaptchaConfig.siteKey) {
266
+ setRecaptchaVersion({
267
+ version: recaptchaConfig === null || recaptchaConfig === void 0 ? void 0 : recaptchaConfig.version,
268
+ siteKey: recaptchaConfig === null || recaptchaConfig === void 0 ? void 0 : recaptchaConfig.siteKey
269
+ });
270
+ }
271
+ }, [recaptchaConfig]);
231
272
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (_props$beforeElements = props.beforeElements) === null || _props$beforeElements === void 0 ? void 0 : _props$beforeElements.map(function (BeforeElement, i) {
232
273
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
233
274
  key: i
@@ -334,7 +375,10 @@ var SignUpFormUI = function SignUpFormUI(props) {
334
375
  href: configs === null || configs === void 0 ? void 0 : (_configs$terms_and_co2 = configs.terms_and_conditions_url) === null || _configs$terms_and_co2 === void 0 ? void 0 : _configs$terms_and_co2.value,
335
376
  target: "_blank",
336
377
  rel: "noopener noreferrer"
337
- }, t('TERMS_AND_CONDITIONS', 'Terms & Conditions')))), /*#__PURE__*/_react.default.createElement(_Buttons.Button, {
378
+ }, t('TERMS_AND_CONDITIONS', 'Terms & Conditions')))), props.isRecaptchaEnable && enableReCaptcha && /*#__PURE__*/_react.default.createElement(_styles.ReCaptchaWrapper, null, /*#__PURE__*/_react.default.createElement(_orderingComponentsExternal.ReCaptcha, {
379
+ handleReCaptcha: handleReCaptcha,
380
+ reCaptchaVersion: reCaptchaVersion
381
+ })), /*#__PURE__*/_react.default.createElement(_Buttons.Button, {
338
382
  color: "primary",
339
383
  type: "submit",
340
384
  disabled: formState.loading || (validationFields === null || validationFields === void 0 ? void 0 : validationFields.loading)
@@ -378,7 +422,8 @@ var SignUpFormUI = function SignUpFormUI(props) {
378
422
  };
379
423
  var SignUpForm = function SignUpForm(props) {
380
424
  var loginControllerProps = _objectSpread(_objectSpread({}, props), {}, {
381
- UIComponent: SignUpFormUI
425
+ UIComponent: SignUpFormUI,
426
+ isRecaptchaEnable: true
382
427
  });
383
428
  return /*#__PURE__*/_react.default.createElement(_orderingComponentsExternal.SignupForm, loginControllerProps);
384
429
  };
@@ -4,10 +4,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.WrapperPassword = exports.TogglePassword = exports.TermsConditionWrapper = exports.SocialButtons = exports.Slogan = exports.SkeletonWrapper = exports.SkeletonSocialWrapper = exports.SignUpContainer = exports.RedirectLink = exports.OrContainer = exports.Line = exports.HeroImage = exports.HeroContainerStyled = exports.HeroContainer = exports.FormSide = exports.FormInput = exports.FormContainer = void 0;
7
+ exports.WrapperPassword = exports.TogglePassword = exports.TermsConditionWrapper = exports.SocialButtons = exports.Slogan = exports.SkeletonWrapper = exports.SkeletonSocialWrapper = exports.SignUpContainer = exports.RedirectLink = exports.ReCaptchaWrapper = exports.OrContainer = exports.Line = exports.HeroImage = exports.HeroContainerStyled = exports.HeroContainer = exports.FormSide = exports.FormInput = exports.FormContainer = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
10
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27;
10
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28;
11
11
  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); }
12
12
  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; }
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -123,4 +123,6 @@ var TermsConditionWrapper = _styledComponents.default.div(_templateObject23 || (
123
123
  }, function (props) {
124
124
  return props.theme.colors.primary;
125
125
  });
126
- exports.TermsConditionWrapper = TermsConditionWrapper;
126
+ exports.TermsConditionWrapper = TermsConditionWrapper;
127
+ var ReCaptchaWrapper = _styledComponents.default.div(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral(["\n margin: 12px auto;\n"])));
128
+ exports.ReCaptchaWrapper = ReCaptchaWrapper;
@@ -21,6 +21,7 @@ var _FacebookLogin = require("../FacebookLogin");
21
21
  var _AppleLogin = require("../AppleLogin");
22
22
  var _SmsLogin = require("../../../../../components/SmsLogin");
23
23
  var _useCountdownTimer3 = require("../../../../../hooks/useCountdownTimer");
24
+ var _useRecaptcha3 = require("../../../../../hooks/useRecaptcha");
24
25
  var _utils = require("../../../../../utils");
25
26
  var _libphonenumberJs = _interopRequireDefault(require("libphonenumber-js"));
26
27
  var _reactOtpInput = _interopRequireDefault(require("react-otp-input"));
@@ -75,37 +76,47 @@ var LoginFormUI = function LoginFormUI(props) {
75
76
  _useConfig2 = _slicedToArray(_useConfig, 1),
76
77
  configs = _useConfig2[0].configs;
77
78
  var formMethods = (0, _reactHookForm.useForm)();
79
+ var _useRecaptcha = (0, _useRecaptcha3.useRecaptcha)(enableReCaptcha),
80
+ _useRecaptcha2 = _slicedToArray(_useRecaptcha, 1),
81
+ recaptchaConfig = _useRecaptcha2[0];
78
82
  var _useState = (0, _react.useState)({
83
+ version: '',
84
+ siteKey: ''
85
+ }),
86
+ _useState2 = _slicedToArray(_useState, 2),
87
+ reCaptchaVersion = _useState2[0],
88
+ setRecaptchaVersion = _useState2[1];
89
+ var _useState3 = (0, _react.useState)({
79
90
  open: false,
80
91
  content: []
81
92
  }),
82
- _useState2 = _slicedToArray(_useState, 2),
83
- alertState = _useState2[0],
84
- setAlertState = _useState2[1];
93
+ _useState4 = _slicedToArray(_useState3, 2),
94
+ alertState = _useState4[0],
95
+ setAlertState = _useState4[1];
85
96
  var _useSession = (0, _orderingComponentsExternal.useSession)(),
86
97
  _useSession2 = _slicedToArray(_useSession, 2),
87
98
  login = _useSession2[1].login;
88
- var _useState3 = (0, _react.useState)(false),
89
- _useState4 = _slicedToArray(_useState3, 2),
90
- passwordSee = _useState4[0],
91
- setPasswordSee = _useState4[1];
92
- var emailInput = (0, _react.useRef)(null);
93
99
  var _useState5 = (0, _react.useState)(false),
94
100
  _useState6 = _slicedToArray(_useState5, 2),
95
- loginWithOtpState = _useState6[0],
96
- setLoginWithOtpState = _useState6[1];
101
+ passwordSee = _useState6[0],
102
+ setPasswordSee = _useState6[1];
103
+ var emailInput = (0, _react.useRef)(null);
97
104
  var _useState7 = (0, _react.useState)(false),
98
105
  _useState8 = _slicedToArray(_useState7, 2),
99
- willVerifyOtpState = _useState8[0],
100
- setWillVerifyOtpState = _useState8[1];
106
+ loginWithOtpState = _useState8[0],
107
+ setLoginWithOtpState = _useState8[1];
101
108
  var _useState9 = (0, _react.useState)(false),
102
109
  _useState10 = _slicedToArray(_useState9, 2),
103
- validPhoneFieldState = _useState10[0],
104
- setValidPhoneField = _useState10[1];
105
- var _useState11 = (0, _react.useState)(''),
110
+ willVerifyOtpState = _useState10[0],
111
+ setWillVerifyOtpState = _useState10[1];
112
+ var _useState11 = (0, _react.useState)(false),
106
113
  _useState12 = _slicedToArray(_useState11, 2),
107
- otpState = _useState12[0],
108
- setOtpState = _useState12[1];
114
+ validPhoneFieldState = _useState12[0],
115
+ setValidPhoneField = _useState12[1];
116
+ var _useState13 = (0, _react.useState)(''),
117
+ _useState14 = _slicedToArray(_useState13, 2),
118
+ otpState = _useState14[0],
119
+ setOtpState = _useState14[1];
109
120
  var _useCountdownTimer = (0, _useCountdownTimer3.useCountdownTimer)(600, !(checkPhoneCodeState !== null && checkPhoneCodeState !== void 0 && checkPhoneCodeState.loading) && willVerifyOtpState),
110
121
  _useCountdownTimer2 = _slicedToArray(_useCountdownTimer, 3),
111
122
  otpLeftTime = _useCountdownTimer2[0],
@@ -229,10 +240,30 @@ var LoginFormUI = function LoginFormUI(props) {
229
240
  (0, _react.useEffect)(function () {
230
241
  var _formState$result;
231
242
  if (!formState.loading && (_formState$result = formState.result) !== null && _formState$result !== void 0 && _formState$result.error) {
232
- var _formState$result2;
243
+ var _formState$result2, _formState$result2$re, _formState$result3;
244
+ if (((_formState$result2 = formState.result) === null || _formState$result2 === void 0 ? void 0 : (_formState$result2$re = _formState$result2.result) === null || _formState$result2$re === void 0 ? void 0 : _formState$result2$re[0]) === 'ERROR_AUTH_VERIFICATION_CODE') {
245
+ var _configs$security_rec;
246
+ if (configs !== null && configs !== void 0 && (_configs$security_rec = configs.security_recaptcha_site_key) !== null && _configs$security_rec !== void 0 && _configs$security_rec.value) {
247
+ var _configs$security_rec2;
248
+ setRecaptchaVersion({
249
+ version: 'v2',
250
+ siteKey: configs === null || configs === void 0 ? void 0 : (_configs$security_rec2 = configs.security_recaptcha_site_key) === null || _configs$security_rec2 === void 0 ? void 0 : _configs$security_rec2.value
251
+ });
252
+ setAlertState({
253
+ open: true,
254
+ content: [t('TRY_AGAIN', 'Please try again')]
255
+ });
256
+ return;
257
+ }
258
+ setAlertState({
259
+ open: true,
260
+ content: [t('CONFIG_DOESNOT_RECAPTCHA_KEY', 'the config doesn\'t have recaptcha site key')]
261
+ });
262
+ return;
263
+ }
233
264
  setAlertState({
234
265
  open: true,
235
- content: ((_formState$result2 = formState.result) === null || _formState$result2 === void 0 ? void 0 : _formState$result2.result) || [t('ERROR', 'Error')]
266
+ content: ((_formState$result3 = formState.result) === null || _formState$result3 === void 0 ? void 0 : _formState$result3.result) || [t('ERROR', 'Error')]
236
267
  });
237
268
  }
238
269
  }, [formState]);
@@ -293,6 +324,14 @@ var LoginFormUI = function LoginFormUI(props) {
293
324
  });
294
325
  } else resetOtpLeftTime();
295
326
  }, [verifyPhoneState]);
327
+ (0, _react.useEffect)(function () {
328
+ if (recaptchaConfig !== null && recaptchaConfig !== void 0 && recaptchaConfig.siteKey) {
329
+ setRecaptchaVersion({
330
+ version: recaptchaConfig === null || recaptchaConfig === void 0 ? void 0 : recaptchaConfig.version,
331
+ siteKey: recaptchaConfig === null || recaptchaConfig === void 0 ? void 0 : recaptchaConfig.siteKey
332
+ });
333
+ }
334
+ }, [recaptchaConfig]);
296
335
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (_props$beforeElements = props.beforeElements) === null || _props$beforeElements === void 0 ? void 0 : _props$beforeElements.map(function (BeforeElement, i) {
297
336
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
298
337
  key: i
@@ -387,7 +426,8 @@ var LoginFormUI = function LoginFormUI(props) {
387
426
  }), !loginWithOtpState && /*#__PURE__*/_react.default.createElement(_styles.RedirectLink, {
388
427
  isPopup: isPopup
389
428
  }, /*#__PURE__*/_react.default.createElement("span", null, t('FORGOT_YOUR_PASSWORD', 'Forgot your password?')), elementLinkToForgotPassword), props.isRecaptchaEnable && enableReCaptcha && /*#__PURE__*/_react.default.createElement(_styles.ReCaptchaWrapper, null, /*#__PURE__*/_react.default.createElement(_orderingComponentsExternal.ReCaptcha, {
390
- handleReCaptcha: handleReCaptcha
429
+ handleReCaptcha: handleReCaptcha,
430
+ reCaptchaVersion: reCaptchaVersion
391
431
  })), !willVerifyOtpState && /*#__PURE__*/_react.default.createElement(_Buttons.Button, {
392
432
  color: "primary",
393
433
  onClick: formMethods.handleSubmit(onSubmit),
@@ -454,6 +494,7 @@ var LoginFormUI = function LoginFormUI(props) {
454
494
  };
455
495
  var LoginForm = function LoginForm(props) {
456
496
  var loginControllerProps = _objectSpread(_objectSpread({}, props), {}, {
497
+ isRecaptchaEnable: true,
457
498
  UIComponent: LoginFormUI
458
499
  });
459
500
  return /*#__PURE__*/_react.default.createElement(_orderingComponentsExternal.LoginForm, loginControllerProps);
@@ -20,6 +20,7 @@ var _utils = require("../../../../../utils");
20
20
  var _FacebookLogin = require("../FacebookLogin");
21
21
  var _GoogleLogin = require("../GoogleLogin");
22
22
  var _AppleLogin = require("../AppleLogin");
23
+ var _useRecaptcha3 = require("../../../../../hooks/useRecaptcha");
23
24
  var _AiOutlineEye = _interopRequireDefault(require("@meronex/icons/ai/AiOutlineEye"));
24
25
  var _AiOutlineEyeInvisible = _interopRequireDefault(require("@meronex/icons/ai/AiOutlineEyeInvisible"));
25
26
  var _GoMail = _interopRequireDefault(require("@meronex/icons/go/GoMail"));
@@ -81,18 +82,28 @@ var SignUpFormUI = function SignUpFormUI(props) {
81
82
  _useSession2 = _slicedToArray(_useSession, 2),
82
83
  login = _useSession2[1].login;
83
84
  var emailInput = (0, _react.useRef)(null);
84
- var _useState3 = (0, _react.useState)(''),
85
+ var _useRecaptcha = (0, _useRecaptcha3.useRecaptcha)(enableReCaptcha),
86
+ _useRecaptcha2 = _slicedToArray(_useRecaptcha, 1),
87
+ recaptchaConfig = _useRecaptcha2[0];
88
+ var _useState3 = (0, _react.useState)({
89
+ version: '',
90
+ siteKey: ''
91
+ }),
85
92
  _useState4 = _slicedToArray(_useState3, 2),
86
- userPhoneNumber = _useState4[0],
87
- setUserPhoneNumber = _useState4[1];
88
- var _useState5 = (0, _react.useState)(null),
93
+ reCaptchaVersion = _useState4[0],
94
+ setRecaptchaVersion = _useState4[1];
95
+ var _useState5 = (0, _react.useState)(''),
89
96
  _useState6 = _slicedToArray(_useState5, 2),
90
- isValidPhoneNumber = _useState6[0],
91
- setIsValidPhoneNumber = _useState6[1];
92
- var _useState7 = (0, _react.useState)(false),
97
+ userPhoneNumber = _useState6[0],
98
+ setUserPhoneNumber = _useState6[1];
99
+ var _useState7 = (0, _react.useState)(null),
93
100
  _useState8 = _slicedToArray(_useState7, 2),
94
- passwordSee = _useState8[0],
95
- setPasswordSee = _useState8[1];
101
+ isValidPhoneNumber = _useState8[0],
102
+ setIsValidPhoneNumber = _useState8[1];
103
+ var _useState9 = (0, _react.useState)(false),
104
+ _useState10 = _slicedToArray(_useState9, 2),
105
+ passwordSee = _useState10[0],
106
+ setPasswordSee = _useState10[1];
96
107
  var showInputPhoneNumber = (_validationFields$fie = validationFields === null || validationFields === void 0 ? void 0 : (_validationFields$fie2 = validationFields.fields) === null || _validationFields$fie2 === void 0 ? void 0 : (_validationFields$fie3 = _validationFields$fie2.checkout) === null || _validationFields$fie3 === void 0 ? void 0 : (_validationFields$fie4 = _validationFields$fie3.cellphone) === null || _validationFields$fie4 === void 0 ? void 0 : _validationFields$fie4.enabled) !== null && _validationFields$fie !== void 0 ? _validationFields$fie : false;
97
108
  var initParams = {
98
109
  client_id: configs === null || configs === void 0 ? void 0 : (_configs$google_login = configs.google_login_client_id) === null || _configs$google_login === void 0 ? void 0 : _configs$google_login.value,
@@ -194,16 +205,36 @@ var SignUpFormUI = function SignUpFormUI(props) {
194
205
  }
195
206
  };
196
207
  (0, _react.useEffect)(function () {
197
- var _formState$result, _formState$result3, _formState$result4;
208
+ var _formState$result, _formState$result4, _formState$result5;
198
209
  if (!formState.loading && (_formState$result = formState.result) !== null && _formState$result !== void 0 && _formState$result.error) {
199
- var _formState$result2;
210
+ var _formState$result2, _formState$result2$re, _formState$result3;
211
+ if (((_formState$result2 = formState.result) === null || _formState$result2 === void 0 ? void 0 : (_formState$result2$re = _formState$result2.result) === null || _formState$result2$re === void 0 ? void 0 : _formState$result2$re[0]) === 'ERROR_AUTH_VERIFICATION_CODE') {
212
+ var _configs$security_rec;
213
+ if (configs !== null && configs !== void 0 && (_configs$security_rec = configs.security_recaptcha_site_key) !== null && _configs$security_rec !== void 0 && _configs$security_rec.value) {
214
+ var _configs$security_rec2;
215
+ setRecaptchaVersion({
216
+ version: 'v2',
217
+ siteKey: configs === null || configs === void 0 ? void 0 : (_configs$security_rec2 = configs.security_recaptcha_site_key) === null || _configs$security_rec2 === void 0 ? void 0 : _configs$security_rec2.value
218
+ });
219
+ setAlertState({
220
+ open: true,
221
+ content: [t('TRY_AGAIN', 'Please try again')]
222
+ });
223
+ return;
224
+ }
225
+ setAlertState({
226
+ open: true,
227
+ content: [t('CONFIG_DOESNOT_RECAPTCHA_KEY', 'the config doesn\'t have recaptcha site key')]
228
+ });
229
+ return;
230
+ }
200
231
  setAlertState({
201
232
  open: true,
202
- content: ((_formState$result2 = formState.result) === null || _formState$result2 === void 0 ? void 0 : _formState$result2.result) || [t('ERROR', 'Error')]
233
+ content: ((_formState$result3 = formState.result) === null || _formState$result3 === void 0 ? void 0 : _formState$result3.result) || [t('ERROR', 'Error')]
203
234
  });
204
- } else if (!formState.loading && !((_formState$result3 = formState.result) !== null && _formState$result3 !== void 0 && _formState$result3.error) && (_formState$result4 = formState.result) !== null && _formState$result4 !== void 0 && _formState$result4.result) {
205
- var _formState$result5;
206
- saveCustomerUser && saveCustomerUser((_formState$result5 = formState.result) === null || _formState$result5 === void 0 ? void 0 : _formState$result5.result);
235
+ } else if (!formState.loading && !((_formState$result4 = formState.result) !== null && _formState$result4 !== void 0 && _formState$result4.error) && (_formState$result5 = formState.result) !== null && _formState$result5 !== void 0 && _formState$result5.result) {
236
+ var _formState$result6;
237
+ saveCustomerUser && saveCustomerUser((_formState$result6 = formState.result) === null || _formState$result6 === void 0 ? void 0 : _formState$result6.result);
207
238
  }
208
239
  }, [formState]);
209
240
  (0, _react.useEffect)(function () {
@@ -243,6 +274,14 @@ var SignUpFormUI = function SignUpFormUI(props) {
243
274
  handleChangePhoneNumber(externalPhoneNumber, true);
244
275
  }
245
276
  }, [externalPhoneNumber]);
277
+ (0, _react.useEffect)(function () {
278
+ if (recaptchaConfig !== null && recaptchaConfig !== void 0 && recaptchaConfig.siteKey) {
279
+ setRecaptchaVersion({
280
+ version: recaptchaConfig === null || recaptchaConfig === void 0 ? void 0 : recaptchaConfig.version,
281
+ siteKey: recaptchaConfig === null || recaptchaConfig === void 0 ? void 0 : recaptchaConfig.siteKey
282
+ });
283
+ }
284
+ }, [recaptchaConfig]);
246
285
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (_props$beforeElements = props.beforeElements) === null || _props$beforeElements === void 0 ? void 0 : _props$beforeElements.map(function (BeforeElement, i) {
247
286
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
248
287
  key: i
@@ -331,7 +370,8 @@ var SignUpFormUI = function SignUpFormUI(props) {
331
370
  height: 43
332
371
  }));
333
372
  })), props.isRecaptchaEnable && enableReCaptcha && /*#__PURE__*/_react.default.createElement(_styles.ReCaptchaWrapper, null, /*#__PURE__*/_react.default.createElement(_orderingComponentsExternal.ReCaptcha, {
334
- handleReCaptcha: handleReCaptcha
373
+ handleReCaptcha: handleReCaptcha,
374
+ reCaptchaVersion: reCaptchaVersion
335
375
  })), (configs === null || configs === void 0 ? void 0 : (_configs$terms_and_co = configs.terms_and_conditions) === null || _configs$terms_and_co === void 0 ? void 0 : _configs$terms_and_co.value) === 'true' && /*#__PURE__*/_react.default.createElement(_styles.TermsConditionWrapper, null, /*#__PURE__*/_react.default.createElement(_Checkbox.Checkbox, {
336
376
  name: "acceptTerms",
337
377
  ref: formMethods.register({
@@ -393,6 +433,7 @@ var SignUpFormUI = function SignUpFormUI(props) {
393
433
  };
394
434
  var SignUpForm = function SignUpForm(props) {
395
435
  var loginControllerProps = _objectSpread(_objectSpread({}, props), {}, {
436
+ isRecaptchaEnable: true,
396
437
  UIComponent: SignUpFormUI
397
438
  });
398
439
  return /*#__PURE__*/_react.default.createElement(_orderingComponentsExternal.SignupForm, loginControllerProps);