@redneckz/wildless-cms-uni-blocks 0.14.1080 → 0.14.1082

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 (109) hide show
  1. package/bundle/bundle.umd.js +68 -39
  2. package/bundle/bundle.umd.min.js +1 -1
  3. package/bundle/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +3 -0
  4. package/bundle/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +4 -1
  5. package/bundle/retail/hooks/useSendCode.d.ts +18 -0
  6. package/bundle/retail/utils/yandexMetrika.d.ts +1 -1
  7. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +6 -0
  8. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  9. package/dist/components/CreditCardForm/creditCardFormAspects.js +2 -1
  10. package/dist/components/CreditCardForm/creditCardFormAspects.js.map +1 -1
  11. package/dist/retail/components/Fields/CurrencyField.js +3 -1
  12. package/dist/retail/components/Fields/CurrencyField.js.map +1 -1
  13. package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +3 -0
  14. package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +11 -30
  15. package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  16. package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +4 -1
  17. package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +11 -2
  18. package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  19. package/dist/retail/hooks/useSendCode.d.ts +18 -0
  20. package/dist/retail/hooks/useSendCode.js +38 -0
  21. package/dist/retail/hooks/useSendCode.js.map +1 -0
  22. package/dist/retail/utils/commonAspects.js +2 -1
  23. package/dist/retail/utils/commonAspects.js.map +1 -1
  24. package/dist/retail/utils/yandexMetrika.d.ts +1 -1
  25. package/dist/retail/utils/yandexMetrika.js +1 -2
  26. package/dist/retail/utils/yandexMetrika.js.map +1 -1
  27. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +6 -0
  28. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  29. package/lib/components/CreditCardForm/creditCardFormAspects.js +2 -1
  30. package/lib/components/CreditCardForm/creditCardFormAspects.js.map +1 -1
  31. package/lib/retail/components/Fields/CurrencyField.js +3 -1
  32. package/lib/retail/components/Fields/CurrencyField.js.map +1 -1
  33. package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +3 -0
  34. package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +13 -32
  35. package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  36. package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +4 -1
  37. package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +11 -2
  38. package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  39. package/lib/retail/hooks/useSendCode.d.ts +18 -0
  40. package/lib/retail/hooks/useSendCode.js +35 -0
  41. package/lib/retail/hooks/useSendCode.js.map +1 -0
  42. package/lib/retail/utils/commonAspects.js +2 -1
  43. package/lib/retail/utils/commonAspects.js.map +1 -1
  44. package/lib/retail/utils/yandexMetrika.d.ts +1 -1
  45. package/lib/retail/utils/yandexMetrika.js +1 -2
  46. package/lib/retail/utils/yandexMetrika.js.map +1 -1
  47. package/mobile/bundle/bundle.umd.js +68 -39
  48. package/mobile/bundle/bundle.umd.min.js +1 -1
  49. package/mobile/bundle/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +3 -0
  50. package/mobile/bundle/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +4 -1
  51. package/mobile/bundle/retail/hooks/useSendCode.d.ts +18 -0
  52. package/mobile/bundle/retail/utils/yandexMetrika.d.ts +1 -1
  53. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +6 -0
  54. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  55. package/mobile/dist/components/CreditCardForm/creditCardFormAspects.js +2 -1
  56. package/mobile/dist/components/CreditCardForm/creditCardFormAspects.js.map +1 -1
  57. package/mobile/dist/retail/components/Fields/CurrencyField.js +3 -1
  58. package/mobile/dist/retail/components/Fields/CurrencyField.js.map +1 -1
  59. package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +3 -0
  60. package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +11 -30
  61. package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  62. package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +4 -1
  63. package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +11 -2
  64. package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  65. package/mobile/dist/retail/hooks/useSendCode.d.ts +18 -0
  66. package/mobile/dist/retail/hooks/useSendCode.js +38 -0
  67. package/mobile/dist/retail/hooks/useSendCode.js.map +1 -0
  68. package/mobile/dist/retail/utils/commonAspects.js +2 -1
  69. package/mobile/dist/retail/utils/commonAspects.js.map +1 -1
  70. package/mobile/dist/retail/utils/yandexMetrika.d.ts +1 -1
  71. package/mobile/dist/retail/utils/yandexMetrika.js +1 -2
  72. package/mobile/dist/retail/utils/yandexMetrika.js.map +1 -1
  73. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +6 -0
  74. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  75. package/mobile/lib/components/CreditCardForm/creditCardFormAspects.js +2 -1
  76. package/mobile/lib/components/CreditCardForm/creditCardFormAspects.js.map +1 -1
  77. package/mobile/lib/retail/components/Fields/CurrencyField.js +3 -1
  78. package/mobile/lib/retail/components/Fields/CurrencyField.js.map +1 -1
  79. package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +3 -0
  80. package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +13 -32
  81. package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  82. package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +4 -1
  83. package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +11 -2
  84. package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  85. package/mobile/lib/retail/hooks/useSendCode.d.ts +18 -0
  86. package/mobile/lib/retail/hooks/useSendCode.js +35 -0
  87. package/mobile/lib/retail/hooks/useSendCode.js.map +1 -0
  88. package/mobile/lib/retail/utils/commonAspects.js +2 -1
  89. package/mobile/lib/retail/utils/commonAspects.js.map +1 -1
  90. package/mobile/lib/retail/utils/yandexMetrika.d.ts +1 -1
  91. package/mobile/lib/retail/utils/yandexMetrika.js +1 -2
  92. package/mobile/lib/retail/utils/yandexMetrika.js.map +1 -1
  93. package/mobile/src/components/ApplicationLeadForm/useApplicationLeadApi.tsx +6 -0
  94. package/mobile/src/components/CreditCardForm/creditCardFormAspects.ts +2 -1
  95. package/mobile/src/retail/components/Fields/CurrencyField.tsx +3 -1
  96. package/mobile/src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx +17 -35
  97. package/mobile/src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +16 -1
  98. package/mobile/src/retail/hooks/useSendCode.ts +52 -0
  99. package/mobile/src/retail/utils/commonAspects.ts +2 -1
  100. package/mobile/src/retail/utils/yandexMetrika.ts +1 -3
  101. package/package.json +1 -1
  102. package/src/components/ApplicationLeadForm/useApplicationLeadApi.tsx +6 -0
  103. package/src/components/CreditCardForm/creditCardFormAspects.ts +2 -1
  104. package/src/retail/components/Fields/CurrencyField.tsx +3 -1
  105. package/src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx +17 -35
  106. package/src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +16 -1
  107. package/src/retail/hooks/useSendCode.ts +52 -0
  108. package/src/retail/utils/commonAspects.ts +2 -1
  109. package/src/retail/utils/yandexMetrika.ts +1 -3
@@ -1,3 +1,4 @@
1
+ import { type Aspects } from '../../../hooks/useAspects/useAspects';
1
2
  import type { OnCloseProps } from '../../../model/OnCloseProps';
2
3
  export interface VerifyPhoneDialogProps extends OnCloseProps {
3
4
  phone: string;
@@ -5,5 +6,7 @@ export interface VerifyPhoneDialogProps extends OnCloseProps {
5
6
  consents?: string[];
6
7
  onSuccess?: (smsCode?: string) => void;
7
8
  onFail?: () => void;
9
+ productType?: string;
10
+ aspects?: Aspects;
8
11
  }
9
12
  export declare const VerifyPhoneDialog: import("@redneckz/uni-jsx").UNIComponent<VerifyPhoneDialogProps, any, any>;
@@ -1,47 +1,33 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
- import { useCallback, useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
4
- import { useSessionStore } from '@redneckz/uni-jsx/lib/Store/useSessionStore';
5
- import { useDialog } from '../../../ui-kit/DialogManager/useDialog.js';
3
+ import { useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
6
4
  import { RichText } from '../../../ui-kit/RichText/RichText.js';
7
5
  import { useCountDownTimer } from '../../../ui-kit/TimerCircle/useCountDownTimer.js';
8
6
  import { VerifyPhoneDialogLayout } from '../../../ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout.js';
9
7
  import { formatPhone } from '../../../utils/formatPhone.js';
10
8
  import { noop } from '../../../utils/noop.js';
11
- import { sendCode } from '../../api/sendCode.js';
12
- import { CaptchaDialog } from '../CaptchaDialog/CaptchaDialog.js';
13
- import { TIME_TO_RESEND, useVerifyPhoneDialogSubmit, } from './useVerifyPhoneDialogSubmit.js';
9
+ import { useSendCode } from '../../hooks/useSendCode.js';
10
+ import { useVerifyPhoneDialogSubmit } from './useVerifyPhoneDialogSubmit.js';
14
11
  const CODE_LENGTH = 4;
15
- export const VerifyPhoneDialog = JSX(({ phone, withDescription = true, consents, onSuccess = noop, onClose = noop, onFail = noop, }) => {
12
+ export const VerifyPhoneDialog = JSX(({ phone, withDescription = true, consents, onSuccess = noop, onClose = noop, onFail = noop, productType, aspects, }) => {
16
13
  const [values, setValues] = useState(Array(CODE_LENGTH).fill(''));
17
- const sessionStore = useSessionStore();
18
14
  const phoneNumber = formatPhone(phone);
19
15
  const { handleSubmit, hasError, errorText, isLoading, timeNextReq, isSubmitButtonDisabled, setTimeNextReq, setErrorText, } = useVerifyPhoneDialogSubmit({
20
16
  values,
21
17
  phoneNumber,
22
18
  onSuccess,
23
19
  onFail,
20
+ productType,
21
+ aspects,
24
22
  });
25
- const captchaDialog = useDialog(CaptchaDialog);
26
23
  const restartTimer = useCountDownTimer({ seconds: timeNextReq, onTick: setTimeNextReq });
27
- const handleSendCode = useCallback(async () => {
28
- const response = await sendCode({
29
- phoneNumber,
30
- smsCodesSetName: { key: 'AUTHENTICATION' },
31
- });
32
- if (response.ok) {
33
- setTimeNextReq(TIME_TO_RESEND);
34
- restartTimer(TIME_TO_RESEND);
35
- setErrorText('');
36
- sessionStore.smsCode = getDefaultSmsCodeParams(phoneNumber);
37
- }
38
- else if (response.status === 429) {
39
- captchaDialog.open({ phoneNumber, sendCode: handleSendCode });
40
- }
41
- else {
42
- onFail();
43
- }
44
- }, [phoneNumber, restartTimer]);
24
+ const { handleSendCode, sessionStore } = useSendCode({
25
+ phoneNumber,
26
+ restartTimer,
27
+ setTimeNextReq,
28
+ setErrorText,
29
+ onFail,
30
+ });
45
31
  useEffect(() => {
46
32
  if (!sessionStore.smsCode?.sendTime || sessionStore.smsCode?.phoneNumber !== phoneNumber) {
47
33
  handleSendCode();
@@ -49,10 +35,5 @@ export const VerifyPhoneDialog = JSX(({ phone, withDescription = true, consents,
49
35
  }, []);
50
36
  return (_jsx(VerifyPhoneDialogLayout, { isSubmitButtonDisabled: isSubmitButtonDisabled, onSubmit: handleSubmit, onSendCode: handleSendCode, timeNextReq: timeNextReq, values: values, onChange: setValues, phone: phone, isLoading: isLoading, errorText: errorText, hasError: hasError, onClose: onClose, children: renderDescription(consents, withDescription) }));
51
37
  });
52
- const getDefaultSmsCodeParams = (phoneNumber) => ({
53
- sendTime: Date.now(),
54
- attempts: 0,
55
- phoneNumber: phoneNumber,
56
- });
57
38
  const renderDescription = (consents, isRender = false) => isRender ? (_jsxs(RichText, { itemSize: "list-s", children: [_jsx("span", { children: "\u0412\u0432\u043E\u0434\u044F \u043A\u043E\u0434, \u044F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044E, \u0447\u0442\u043E \u043E\u0437\u043D\u0430\u043A\u043E\u043C\u043B\u0435\u043D \u0438 \u043F\u043E\u0434\u043F\u0438\u0441\u044B\u0432\u0430\u044E: " }), _jsx("ul", { children: consents?.map((_, i) => (_jsx("li", { children: _ }, `${_}-${i}`))) })] })) : null;
58
39
  //# sourceMappingURL=VerifyPhoneDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VerifyPhoneDialog.js","sourceRoot":"","sources":["../../../../src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAE9E,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EACL,cAAc,EACd,0BAA0B,GAE3B,MAAM,8BAA8B,CAAC;AAEtC,MAAM,WAAW,GAAG,CAAC,CAAC;AAUtB,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAClC,CAAC,EACC,KAAK,EACL,eAAe,GAAG,IAAI,EACtB,QAAQ,EACR,SAAS,GAAG,IAAI,EAChB,OAAO,GAAG,IAAI,EACd,MAAM,GAAG,IAAI,GACd,EAAE,EAAE;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAW,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAa,CAAC,CAAC;IACxF,MAAM,YAAY,GAAG,eAAe,EAAgB,CAAC;IACrD,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAEvC,MAAM,EACJ,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,EACX,sBAAsB,EACtB,cAAc,EACd,YAAY,GACb,GAAG,0BAA0B,CAAC;QAC7B,MAAM;QACN,WAAW;QACX,SAAS;QACT,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,iBAAiB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAEzF,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC5C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC;YAC9B,WAAW;YACX,eAAe,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE;SAC3C,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,EAAE,EAAE;YACf,cAAc,CAAC,cAAc,CAAC,CAAC;YAC/B,YAAY,CAAC,cAAc,CAAC,CAAC;YAC7B,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,YAAY,CAAC,OAAO,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;SAC7D;aAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;YAClC,aAAa,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;SAC/D;aAAM;YACL,MAAM,EAAE,CAAC;SACV;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAEhC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,IAAI,YAAY,CAAC,OAAO,EAAE,WAAW,KAAK,WAAW,EAAE;YACxF,cAAc,EAAE,CAAC;SAClB;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,KAAC,uBAAuB,IACtB,sBAAsB,EAAE,sBAAsB,EAC9C,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,YAEf,iBAAiB,CAAC,QAAQ,EAAE,eAAe,CAAC,GACrB,CAC3B,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,WAAmB,EAAE,EAAE,CAAC,CAAC;IACxD,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;IACpB,QAAQ,EAAE,CAAC;IACX,WAAW,EAAE,WAAW;CACzB,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,QAAmB,EAAE,QAAQ,GAAG,KAAK,EAAE,EAAE,CAClE,QAAQ,CAAC,CAAC,CAAC,CACT,MAAC,QAAQ,IAAC,QAAQ,EAAC,QAAQ,aACzB,iTAAoE,EACpE,uBACG,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,uBAAuB,CAAC,IAAf,GAAG,CAAC,IAAI,CAAC,EAAE,CAAU,CAC/B,CAAC,GACC,IACI,CACZ,CAAC,CAAC,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"VerifyPhoneDialog.js","sourceRoot":"","sources":["../../../../src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,MAAM,WAAW,GAAG,CAAC,CAAC;AAYtB,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAClC,CAAC,EACC,KAAK,EACL,eAAe,GAAG,IAAI,EACtB,QAAQ,EACR,SAAS,GAAG,IAAI,EAChB,OAAO,GAAG,IAAI,EACd,MAAM,GAAG,IAAI,EACb,WAAW,EACX,OAAO,GACR,EAAE,EAAE;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAW,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAa,CAAC,CAAC;IACxF,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAEvC,MAAM,EACJ,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,EACX,sBAAsB,EACtB,cAAc,EACd,YAAY,GACb,GAAG,0BAA0B,CAAC;QAC7B,MAAM;QACN,WAAW;QACX,SAAS;QACT,MAAM;QACN,WAAW;QACX,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,iBAAiB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAEzF,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;QACnD,WAAW;QACX,YAAY;QACZ,cAAc;QACd,YAAY;QACZ,MAAM;KACP,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,IAAI,YAAY,CAAC,OAAO,EAAE,WAAW,KAAK,WAAW,EAAE;YACxF,cAAc,EAAE,CAAC;SAClB;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,KAAC,uBAAuB,IACtB,sBAAsB,EAAE,sBAAsB,EAC9C,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,YAEf,iBAAiB,CAAC,QAAQ,EAAE,eAAe,CAAC,GACrB,CAC3B,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,QAAmB,EAAE,QAAQ,GAAG,KAAK,EAAE,EAAE,CAClE,QAAQ,CAAC,CAAC,CAAC,CACT,MAAC,QAAQ,IAAC,QAAQ,EAAC,QAAQ,aACzB,iTAAoE,EACpE,uBACG,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,uBAAuB,CAAC,IAAf,GAAG,CAAC,IAAI,CAAC,EAAE,CAAU,CAC/B,CAAC,GACC,IACI,CACZ,CAAC,CAAC,CAAC,IAAI,CAAC"}
@@ -1,9 +1,12 @@
1
+ import { type Aspects } from '../../../hooks/useAspects/useAspects';
1
2
  export declare const TIME_TO_RESEND = 180;
2
3
  declare type useVerifyPhoneDialogSubmitProps = {
3
4
  values: string[];
4
5
  phoneNumber: string;
5
6
  onSuccess: (smsCode?: string) => void;
6
7
  onFail: () => void;
8
+ productType?: string;
9
+ aspects?: Aspects;
7
10
  };
8
11
  export interface SmsCodeStore {
9
12
  smsCode: {
@@ -12,7 +15,7 @@ export interface SmsCodeStore {
12
15
  phoneNumber?: string;
13
16
  };
14
17
  }
15
- export declare const useVerifyPhoneDialogSubmit: ({ values, phoneNumber, onSuccess, onFail, }: useVerifyPhoneDialogSubmitProps) => {
18
+ export declare const useVerifyPhoneDialogSubmit: ({ values, phoneNumber, onSuccess, onFail, productType, aspects, }: useVerifyPhoneDialogSubmitProps) => {
16
19
  handleSubmit: () => Promise<void>;
17
20
  hasError: boolean;
18
21
  errorText: string;
@@ -1,11 +1,13 @@
1
1
  import { useCallback, useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
2
2
  import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
3
3
  import { useSessionStore } from '@redneckz/uni-jsx/lib/Store/useSessionStore';
4
+ import { handleAspects } from '../../../hooks/useAspects/handleAspects.js';
4
5
  import { getTimer } from '../../../utils/getTimer.js';
5
6
  import { checkCode } from '../../api/checkCode.js';
7
+ import { getAspects } from '../../utils/commonAspects.js';
6
8
  import { saveToken } from '../../utils/saveToken.js';
7
9
  export const TIME_TO_RESEND = 180;
8
- export const useVerifyPhoneDialogSubmit = ({ values, phoneNumber, onSuccess, onFail, }) => {
10
+ export const useVerifyPhoneDialogSubmit = ({ values, phoneNumber, onSuccess, onFail, productType, aspects, }) => {
9
11
  const sessionStore = useSessionStore();
10
12
  const attempts = sessionStore.smsCode?.attempts || 0;
11
13
  const timer = Math.max(getTimer(sessionStore.smsCode?.sendTime || Date.now()), 0);
@@ -32,6 +34,13 @@ export const useVerifyPhoneDialogSubmit = ({ values, phoneNumber, onSuccess, onF
32
34
  setTimeNextReq(0);
33
35
  resetError();
34
36
  sessionStore.smsCode = null;
37
+ if (productType && aspects) {
38
+ handleAspects({
39
+ aspectsAttributes: getAspects('smsAuth', productType),
40
+ aspects,
41
+ ev: {},
42
+ });
43
+ }
35
44
  onSuccess?.(values.join(''));
36
45
  }
37
46
  else if (response.status === 403) {
@@ -41,7 +50,7 @@ export const useVerifyPhoneDialogSubmit = ({ values, phoneNumber, onSuccess, onF
41
50
  onFail();
42
51
  }
43
52
  endLoading();
44
- }, [values, attempts]);
53
+ }, [values, attempts, aspects]);
45
54
  useEffect(() => {
46
55
  if (isTimeExpired) {
47
56
  setErrorText('Код просрочен');
@@ -1 +1 @@
1
- {"version":3,"file":"useVerifyPhoneDialogSubmit.js","sourceRoot":"","sources":["../../../../src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useVerifyPhoneDialogSubmit.js","sourceRoot":"","sources":["../../../../src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ interface UseSendCodeProps {
2
+ phoneNumber: string;
3
+ restartTimer: (seconds: number) => void;
4
+ setTimeNextReq: (time: number) => void;
5
+ setErrorText: (text: string) => void;
6
+ onFail: () => void;
7
+ }
8
+ export declare const useSendCode: ({ phoneNumber, restartTimer, setTimeNextReq, setErrorText, onFail, }: UseSendCodeProps) => {
9
+ handleSendCode: () => Promise<void>;
10
+ sessionStore: {
11
+ smsCode: {
12
+ sendTime?: number | undefined;
13
+ attempts?: number | undefined;
14
+ phoneNumber?: string | undefined;
15
+ } | null;
16
+ };
17
+ };
18
+ export {};
@@ -0,0 +1,35 @@
1
+ import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
2
+ import { useSessionStore } from '@redneckz/uni-jsx/lib/Store/useSessionStore';
3
+ import { useDialog } from '../../ui-kit/DialogManager/useDialog.js';
4
+ import { TIME_TO_RESEND } from '../../utils/getTimer.js';
5
+ import { sendCode } from '../api/sendCode.js';
6
+ import { CaptchaDialog } from '../components/CaptchaDialog/CaptchaDialog.js';
7
+ const getDefaultSmsCodeParams = (phoneNumber) => ({
8
+ sendTime: Date.now(),
9
+ attempts: 0,
10
+ phoneNumber: phoneNumber,
11
+ });
12
+ export const useSendCode = ({ phoneNumber, restartTimer, setTimeNextReq, setErrorText, onFail, }) => {
13
+ const sessionStore = useSessionStore();
14
+ const captchaDialog = useDialog(CaptchaDialog);
15
+ const handleSendCode = useCallback(async () => {
16
+ const response = await sendCode({
17
+ phoneNumber,
18
+ smsCodesSetName: { key: 'AUTHENTICATION' },
19
+ });
20
+ if (response.ok) {
21
+ setTimeNextReq(TIME_TO_RESEND);
22
+ restartTimer(TIME_TO_RESEND);
23
+ setErrorText('');
24
+ sessionStore.smsCode = getDefaultSmsCodeParams(phoneNumber);
25
+ }
26
+ else if (response.status === 429) {
27
+ captchaDialog.open({ phoneNumber, sendCode: handleSendCode });
28
+ }
29
+ else {
30
+ onFail();
31
+ }
32
+ }, [phoneNumber, restartTimer]);
33
+ return { handleSendCode, sessionStore };
34
+ };
35
+ //# sourceMappingURL=useSendCode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSendCode.js","sourceRoot":"","sources":["../../../src/retail/hooks/useSendCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAW1E,MAAM,uBAAuB,GAAG,CAAC,WAAmB,EAAE,EAAE,CAAC,CAAC;IACxD,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;IACpB,QAAQ,EAAE,CAAC;IACX,WAAW,EAAE,WAAW;CACzB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,WAAW,EACX,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,MAAM,GACW,EAAE,EAAE;IACrB,MAAM,YAAY,GAAG,eAAe,EAAgB,CAAC;IACrD,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;IAE/C,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC5C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC;YAC9B,WAAW;YACX,eAAe,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE;SAC3C,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,EAAE,EAAE;YACf,cAAc,CAAC,cAAc,CAAC,CAAC;YAC/B,YAAY,CAAC,cAAc,CAAC,CAAC;YAC7B,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,YAAY,CAAC,OAAO,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;SAC7D;aAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;YAClC,aAAa,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;SAC/D;aAAM;YACL,MAAM,EAAE,CAAC;SACV;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAEhC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;AAC1C,CAAC,CAAC"}
@@ -51,10 +51,11 @@ const ASPECTS_MAP = {
51
51
  };
52
52
  export const getAspects = (aspectType, productType) => {
53
53
  const aspectForType = ASPECTS_MAP[aspectType];
54
+ const targetName = aspectForType?.[productType || 'default'] || aspectForType?.['default'];
54
55
  return [
55
56
  {
56
57
  aspectName: 'ymReachGoal',
57
- params: { yandexId: YANDEX_ID, targetName: aspectForType[productType || 'default'] },
58
+ params: { yandexId: YANDEX_ID, targetName },
58
59
  },
59
60
  ];
60
61
  };
@@ -1 +1 @@
1
- {"version":3,"file":"commonAspects.js","sourceRoot":"","sources":["../../../src/retail/utils/commonAspects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,WAAW,GAA2C;IAC1D,QAAQ,EAAE;QACR,SAAS,EAAE,iBAAiB;QAC5B,UAAU,EAAE,gBAAgB;QAC5B,OAAO,EAAE,WAAW;KACrB;IACD,KAAK,EAAE;QACL,SAAS,EAAE,iBAAiB;QAC5B,UAAU,EAAE,gBAAgB;QAC5B,OAAO,EAAE,WAAW;KACrB;IACD,OAAO,EAAE;QACP,SAAS,EAAE,gBAAgB;QAC3B,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,UAAU;KACpB;IACD,UAAU,EAAE;QACV,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,aAAa;KACvB;IACD,MAAM,EAAE;QACN,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,SAAS;KACnB;IACD,OAAO,EAAE;QACP,SAAS,EAAE,mBAAmB;QAC9B,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,aAAa;KACvB;IACD,KAAK,EAAE;QACL,UAAU,EAAE,YAAY;QACxB,OAAO,EAAE,OAAO;KACjB;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,gBAAgB;QAC5B,OAAO,EAAE,WAAW;KACrB;IACD,WAAW,EAAE;QACX,UAAU,EAAE,mBAAmB;QAC/B,OAAO,EAAE,cAAc;KACxB;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,UAAU;KACpB;IACD,MAAM,EAAE;QACN,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,QAAQ;KAClB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,WAAoB,EAAgB,EAAE;IACnF,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAE9C,OAAO;QACL;YACE,UAAU,EAAE,aAAa;YACzB,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,WAAW,IAAI,SAAS,CAAC,EAAE;SACrF;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"commonAspects.js","sourceRoot":"","sources":["../../../src/retail/utils/commonAspects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,WAAW,GAA2C;IAC1D,QAAQ,EAAE;QACR,SAAS,EAAE,iBAAiB;QAC5B,UAAU,EAAE,gBAAgB;QAC5B,OAAO,EAAE,WAAW;KACrB;IACD,KAAK,EAAE;QACL,SAAS,EAAE,iBAAiB;QAC5B,UAAU,EAAE,gBAAgB;QAC5B,OAAO,EAAE,WAAW;KACrB;IACD,OAAO,EAAE;QACP,SAAS,EAAE,gBAAgB;QAC3B,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,UAAU;KACpB;IACD,UAAU,EAAE;QACV,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,aAAa;KACvB;IACD,MAAM,EAAE;QACN,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,SAAS;KACnB;IACD,OAAO,EAAE;QACP,SAAS,EAAE,mBAAmB;QAC9B,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,aAAa;KACvB;IACD,KAAK,EAAE;QACL,UAAU,EAAE,YAAY;QACxB,OAAO,EAAE,OAAO;KACjB;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,gBAAgB;QAC5B,OAAO,EAAE,WAAW;KACrB;IACD,WAAW,EAAE;QACX,UAAU,EAAE,mBAAmB;QAC/B,OAAO,EAAE,cAAc;KACxB;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,UAAU;KACpB;IACD,MAAM,EAAE;QACN,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,QAAQ;KAClB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,WAAoB,EAAgB,EAAE;IACnF,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC;IAE3F,OAAO;QACL;YACE,UAAU,EAAE,aAAa;YACzB,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE;SAC5C;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- export declare const YANDEX_ID: string;
1
+ export declare const YANDEX_ID = "92511315";
@@ -1,3 +1,2 @@
1
- import { projectSettings } from '../../ProjectSettings.js';
2
- export const YANDEX_ID = projectSettings.YANDEX_METRIKA_ID || '92511315';
1
+ export const YANDEX_ID = '92511315';
3
2
  //# sourceMappingURL=yandexMetrika.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"yandexMetrika.js","sourceRoot":"","sources":["../../../src/retail/utils/yandexMetrika.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC,iBAAiB,IAAI,UAAU,CAAC"}
1
+ {"version":3,"file":"yandexMetrika.js","sourceRoot":"","sources":["../../../src/retail/utils/yandexMetrika.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC"}
@@ -3939,8 +3939,8 @@
3939
3939
  const renderNextButton = (disabled, onClick) => (jsx(SubmitButton, { text: "\u0414\u0430\u043B\u0435\u0435", disabled: disabled, onClick: onClick }));
3940
3940
  const renderText$2 = (timeNextReq, handleSendCode) => timeNextReq ? (jsxs("div", { className: "flex flex-row text-l font-light text-base gap-2xs", children: [jsx("span", { children: " \u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043A\u043E\u0434 \u043C\u043E\u0436\u043D\u043E \u0447\u0435\u0440\u0435\u0437" }), jsx(Timer, { seconds: timeNextReq })] })) : (jsx(Button, { embedded: true, onClick: handleSendCode, testId: "send-new-code-button", children: jsx(ButtonTitle, { children: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043A\u043E\u0434" }) }));
3941
3941
 
3942
- const TIME_TO_RESEND$2 = 180;
3943
- const getTimer = (sendTime) => TIME_TO_RESEND$2 - Math.floor((Date.now() - sendTime) / 1000);
3942
+ const TIME_TO_RESEND$1 = 180;
3943
+ const getTimer = (sendTime) => TIME_TO_RESEND$1 - Math.floor((Date.now() - sendTime) / 1000);
3944
3944
 
3945
3945
  const API$1 = LeadServiceAPI();
3946
3946
  const useVerifyPhoneDialogSubmit$1 = ({ values, onSuccess, formatData, reqId, }) => {
@@ -3989,7 +3989,7 @@
3989
3989
 
3990
3990
  const API = LeadServiceAPI();
3991
3991
  const CODE_LENGTH$1 = 4;
3992
- const TIME_TO_RESEND$1 = 180;
3992
+ const TIME_TO_RESEND = 180;
3993
3993
  const VerifyPhoneDialog$1 = JSX(({ phone, onSuccess = noop, onClose = noop, formatData = {}, reqId }) => {
3994
3994
  const [values, setValues] = useState(Array(CODE_LENGTH$1).fill(''));
3995
3995
  const [requestId, setRequestId] = useState(reqId);
@@ -4004,8 +4004,8 @@
4004
4004
  const handleSendCode = useCallback(async () => {
4005
4005
  const response = await API.sendCode({ phone: phoneNumber });
4006
4006
  if (response) {
4007
- setTimeNextReq(TIME_TO_RESEND$1);
4008
- restartTimer(TIME_TO_RESEND$1);
4007
+ setTimeNextReq(TIME_TO_RESEND);
4008
+ restartTimer(TIME_TO_RESEND);
4009
4009
  setErrorText('');
4010
4010
  setRequestId(String(response));
4011
4011
  }
@@ -6059,10 +6059,12 @@
6059
6059
  };
6060
6060
 
6061
6061
  const RUBLE = [{ id: '810', text: 'Рубли' }];
6062
+ const SALARY_PROGRAM_IDS = ['38', '48', '49'];
6062
6063
  const CurrencyField = JSX(({ field, input }) => {
6063
6064
  const { data } = useLeadFormData('CURRENCY');
6064
6065
  const { programId } = useLeadFormStore();
6065
- const isOnlyRuble = useMemo(() => !Object.keys(debitProgrammIdToCardCodesMap).includes(programId || '') || programId === '38', []);
6066
+ const isOnlyRuble = useMemo(() => !Object.keys(debitProgrammIdToCardCodesMap).includes(programId || '') ||
6067
+ SALARY_PROGRAM_IDS.includes(programId ?? ''), []);
6066
6068
  const currencies = useMemo(() => (isOnlyRuble ? RUBLE : data?.map((_) => ({ id: _.key ?? '', text: _.description }))), [data]);
6067
6069
  return (jsx(RadioButtonGroupControl, { label: "\u0412\u0430\u043B\u044E\u0442\u0430", orientation: "horizontal", items: currencies, ...field(input?.name ?? ''), ...input }));
6068
6070
  });
@@ -6905,7 +6907,7 @@
6905
6907
  restInputs: inputs.filter(({ name }) => !Object.keys(productTypeToConsentsMap[productType]).includes(String(name))),
6906
6908
  });
6907
6909
 
6908
- const YANDEX_ID = projectSettings.YANDEX_METRIKA_ID || '92511315';
6910
+ const YANDEX_ID = '92511315';
6909
6911
 
6910
6912
  const ASPECTS_MAP = {
6911
6913
  leadForm: {
@@ -6959,10 +6961,11 @@
6959
6961
  };
6960
6962
  const getAspects = (aspectType, productType) => {
6961
6963
  const aspectForType = ASPECTS_MAP[aspectType];
6964
+ const targetName = aspectForType?.[productType || 'default'] || aspectForType?.['default'];
6962
6965
  return [
6963
6966
  {
6964
6967
  aspectName: 'ymReachGoal',
6965
- params: { yandexId: YANDEX_ID, targetName: aspectForType[productType || 'default'] },
6968
+ params: { yandexId: YANDEX_ID, targetName },
6966
6969
  },
6967
6970
  ];
6968
6971
  };
@@ -7107,6 +7110,35 @@
7107
7110
  return (jsx(Dialog, { head: jsx(Logo, {}), onClose: closeAll, children: jsxs("div", { className: "flex flex-col gap-lg items-center", children: [jsxs("div", { className: "flex", children: [jsx("img", { className: "grow", src: captcha }), jsx(Button, { className: "w-8", embedded: true, onClick: handleCreateCaptcha, children: jsx(Icon, { iconVersion: "normal", name: "RefreshIcon" }) })] }), jsx(Input, { className: "w-80", onChange: setCode, value: code, placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u043E\u0434 \u0441 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438" }), hasError ? jsx("div", { className: "text-error", children: "\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043E\u0434" }) : null, jsxs("div", { className: "flex w-80 justify-between", children: [jsx(Button, { version: "secondary", onClick: closeAll, children: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F" }), jsx(SubmitButton$1, { version: "secondary", disabled: !code, onClick: handleCheckCaptcha, children: "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C" })] }), isLoading ? jsx(Loader, { blur: false }) : null] }) }));
7108
7111
  });
7109
7112
 
7113
+ const getDefaultSmsCodeParams = (phoneNumber) => ({
7114
+ sendTime: Date.now(),
7115
+ attempts: 0,
7116
+ phoneNumber: phoneNumber,
7117
+ });
7118
+ const useSendCode = ({ phoneNumber, restartTimer, setTimeNextReq, setErrorText, onFail, }) => {
7119
+ const sessionStore = useSessionStore();
7120
+ const captchaDialog = useDialog(CaptchaDialog);
7121
+ const handleSendCode = useCallback(async () => {
7122
+ const response = await sendCode({
7123
+ phoneNumber,
7124
+ smsCodesSetName: { key: 'AUTHENTICATION' },
7125
+ });
7126
+ if (response.ok) {
7127
+ setTimeNextReq(TIME_TO_RESEND$1);
7128
+ restartTimer(TIME_TO_RESEND$1);
7129
+ setErrorText('');
7130
+ sessionStore.smsCode = getDefaultSmsCodeParams(phoneNumber);
7131
+ }
7132
+ else if (response.status === 429) {
7133
+ captchaDialog.open({ phoneNumber, sendCode: handleSendCode });
7134
+ }
7135
+ else {
7136
+ onFail();
7137
+ }
7138
+ }, [phoneNumber, restartTimer]);
7139
+ return { handleSendCode, sessionStore };
7140
+ };
7141
+
7110
7142
  const checkCode = async (body) => {
7111
7143
  const isNewMicroservice = checkNewMicroservice();
7112
7144
  return await doRequest(`${isNewMicroservice ? '/external/user-data' : ''}/sms/checkCode`, 'POST', {
@@ -7121,8 +7153,7 @@
7121
7153
  globalThis.sessionStorage.setItem('refreshToken', data.refresh_token);
7122
7154
  };
7123
7155
 
7124
- const TIME_TO_RESEND = 180;
7125
- const useVerifyPhoneDialogSubmit = ({ values, phoneNumber, onSuccess, onFail, }) => {
7156
+ const useVerifyPhoneDialogSubmit = ({ values, phoneNumber, onSuccess, onFail, productType, aspects, }) => {
7126
7157
  const sessionStore = useSessionStore();
7127
7158
  const attempts = sessionStore.smsCode?.attempts || 0;
7128
7159
  const timer = Math.max(getTimer(sessionStore.smsCode?.sendTime || Date.now()), 0);
@@ -7149,6 +7180,13 @@
7149
7180
  setTimeNextReq(0);
7150
7181
  resetError();
7151
7182
  sessionStore.smsCode = null;
7183
+ if (productType && aspects) {
7184
+ handleAspects({
7185
+ aspectsAttributes: getAspects('smsAuth', productType),
7186
+ aspects,
7187
+ ev: {},
7188
+ });
7189
+ }
7152
7190
  onSuccess?.(values.join(''));
7153
7191
  }
7154
7192
  else if (response.status === 403) {
@@ -7158,7 +7196,7 @@
7158
7196
  onFail();
7159
7197
  }
7160
7198
  endLoading();
7161
- }, [values, attempts]);
7199
+ }, [values, attempts, aspects]);
7162
7200
  useEffect(() => {
7163
7201
  if (isTimeExpired) {
7164
7202
  setErrorText('Код просрочен');
@@ -7180,36 +7218,25 @@
7180
7218
  };
7181
7219
 
7182
7220
  const CODE_LENGTH = 4;
7183
- const VerifyPhoneDialog = JSX(({ phone, withDescription = true, consents, onSuccess = noop, onClose = noop, onFail = noop, }) => {
7221
+ const VerifyPhoneDialog = JSX(({ phone, withDescription = true, consents, onSuccess = noop, onClose = noop, onFail = noop, productType, aspects, }) => {
7184
7222
  const [values, setValues] = useState(Array(CODE_LENGTH).fill(''));
7185
- const sessionStore = useSessionStore();
7186
7223
  const phoneNumber = formatPhone(phone);
7187
7224
  const { handleSubmit, hasError, errorText, isLoading, timeNextReq, isSubmitButtonDisabled, setTimeNextReq, setErrorText, } = useVerifyPhoneDialogSubmit({
7188
7225
  values,
7189
7226
  phoneNumber,
7190
7227
  onSuccess,
7191
7228
  onFail,
7229
+ productType,
7230
+ aspects,
7192
7231
  });
7193
- const captchaDialog = useDialog(CaptchaDialog);
7194
7232
  const restartTimer = useCountDownTimer({ seconds: timeNextReq, onTick: setTimeNextReq });
7195
- const handleSendCode = useCallback(async () => {
7196
- const response = await sendCode({
7197
- phoneNumber,
7198
- smsCodesSetName: { key: 'AUTHENTICATION' },
7199
- });
7200
- if (response.ok) {
7201
- setTimeNextReq(TIME_TO_RESEND);
7202
- restartTimer(TIME_TO_RESEND);
7203
- setErrorText('');
7204
- sessionStore.smsCode = getDefaultSmsCodeParams(phoneNumber);
7205
- }
7206
- else if (response.status === 429) {
7207
- captchaDialog.open({ phoneNumber, sendCode: handleSendCode });
7208
- }
7209
- else {
7210
- onFail();
7211
- }
7212
- }, [phoneNumber, restartTimer]);
7233
+ const { handleSendCode, sessionStore } = useSendCode({
7234
+ phoneNumber,
7235
+ restartTimer,
7236
+ setTimeNextReq,
7237
+ setErrorText,
7238
+ onFail,
7239
+ });
7213
7240
  useEffect(() => {
7214
7241
  if (!sessionStore.smsCode?.sendTime || sessionStore.smsCode?.phoneNumber !== phoneNumber) {
7215
7242
  handleSendCode();
@@ -7217,11 +7244,6 @@
7217
7244
  }, []);
7218
7245
  return (jsx(VerifyPhoneDialogLayout, { isSubmitButtonDisabled: isSubmitButtonDisabled, onSubmit: handleSubmit, onSendCode: handleSendCode, timeNextReq: timeNextReq, values: values, onChange: setValues, phone: phone, isLoading: isLoading, errorText: errorText, hasError: hasError, onClose: onClose, children: renderDescription$2(consents, withDescription) }));
7219
7246
  });
7220
- const getDefaultSmsCodeParams = (phoneNumber) => ({
7221
- sendTime: Date.now(),
7222
- attempts: 0,
7223
- phoneNumber: phoneNumber,
7224
- });
7225
7247
  const renderDescription$2 = (consents, isRender = false) => isRender ? (jsxs(RichText, { itemSize: "list-s", children: [jsx("span", { children: "\u0412\u0432\u043E\u0434\u044F \u043A\u043E\u0434, \u044F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044E, \u0447\u0442\u043E \u043E\u0437\u043D\u0430\u043A\u043E\u043C\u043B\u0435\u043D \u0438 \u043F\u043E\u0434\u043F\u0438\u0441\u044B\u0432\u0430\u044E: " }), jsx("ul", { children: consents?.map((_, i) => (jsx("li", { children: _ }, `${_}-${i}`))) })] })) : null;
7226
7248
 
7227
7249
  const defaultConsentText = {
@@ -7919,6 +7941,8 @@
7919
7941
  consents: acceptedConsents,
7920
7942
  onSuccess: handleSuccessVerify,
7921
7943
  onFail: handleFailSendForm,
7944
+ productType,
7945
+ aspects,
7922
7946
  });
7923
7947
  }
7924
7948
  catch {
@@ -7960,6 +7984,8 @@
7960
7984
  consents: acceptedConsents,
7961
7985
  onSuccess: handleSuccessVerify,
7962
7986
  onFail: handleFailSendForm,
7987
+ productType,
7988
+ aspects,
7963
7989
  });
7964
7990
  }
7965
7991
  catch {
@@ -8040,6 +8066,7 @@
8040
8066
  task,
8041
8067
  isFromLead: true,
8042
8068
  taskType: productTypeToTaskType(productType),
8069
+ isDebit: productType === 'debitCard',
8043
8070
  sendAspects,
8044
8071
  onClose: sendCurrentTask,
8045
8072
  });
@@ -8097,6 +8124,7 @@
8097
8124
  task,
8098
8125
  isFromLead: true,
8099
8126
  taskType: productTypeToTaskType(productType),
8127
+ isDebit: productType === 'debitCard',
8100
8128
  sendAspects,
8101
8129
  onClose: sendCurrentTask,
8102
8130
  });
@@ -10885,10 +10913,11 @@
10885
10913
  };
10886
10914
 
10887
10915
  const CREDIT_CARD_FORM_STEPS_ASPECTS = [
10888
- { ymTargetName: 'card_credit_calculator' },
10916
+ { ymTargetName: 'card_params' },
10889
10917
  { ymTargetName: 'card_app_personal_data' },
10890
10918
  { ymTargetName: 'card_app_work' },
10891
10919
  { ymTargetName: 'card_app_income' },
10920
+ { ymTargetName: 'card_bankrot' },
10892
10921
  { ymTargetName: 'card_app_bank_office' },
10893
10922
  ];
10894
10923
 
@@ -14903,7 +14932,7 @@
14903
14932
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
14904
14933
  });
14905
14934
 
14906
- const packageVersion = "0.14.1079";
14935
+ const packageVersion = "0.14.1081";
14907
14936
 
14908
14937
  exports.Blocks = Blocks;
14909
14938
  exports.ContentPage = ContentPage;