@redneckz/wildless-cms-uni-blocks 0.14.888 → 0.14.889

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 (134) hide show
  1. package/bundle/api/LeadServiceAPI.d.ts +8 -0
  2. package/bundle/api/getSubmitBody.d.ts +494 -0
  3. package/bundle/bundle.umd.js +663 -561
  4. package/bundle/bundle.umd.min.js +1 -1
  5. package/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +1 -1
  6. package/bundle/retail/api/checkCode.d.ts +9 -1
  7. package/bundle/retail/api/sendCode.d.ts +1 -1
  8. package/bundle/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +4 -0
  9. package/bundle/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +6 -1
  10. package/dist/api/LeadServiceAPI.d.ts +8 -0
  11. package/dist/api/LeadServiceAPI.js +41 -49
  12. package/dist/api/LeadServiceAPI.js.map +1 -1
  13. package/dist/api/getSubmitBody.d.ts +494 -0
  14. package/dist/api/getSubmitBody.js +59 -0
  15. package/dist/api/getSubmitBody.js.map +1 -0
  16. package/dist/components/ApplicationForm/ApplicationForm.js +30 -5
  17. package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  18. package/dist/components/ApplicationForm/ApplicationFormContent.d.ts +1 -1
  19. package/dist/retail/api/checkCode.d.ts +9 -1
  20. package/dist/retail/api/checkCode.js +22 -1
  21. package/dist/retail/api/checkCode.js.map +1 -1
  22. package/dist/retail/api/sendCode.d.ts +1 -1
  23. package/dist/retail/api/sendCode.js +8 -2
  24. package/dist/retail/api/sendCode.js.map +1 -1
  25. package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +4 -0
  26. package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +10 -4
  27. package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  28. package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +6 -1
  29. package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +7 -4
  30. package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  31. package/dist/retail/utils/mockLocalStorage.js +2 -2
  32. package/dist/retail/utils/mockLocalStorage.js.map +1 -1
  33. package/lib/api/LeadServiceAPI.d.ts +8 -0
  34. package/lib/api/LeadServiceAPI.js +41 -49
  35. package/lib/api/LeadServiceAPI.js.map +1 -1
  36. package/lib/api/getSubmitBody.d.ts +494 -0
  37. package/lib/api/getSubmitBody.js +54 -0
  38. package/lib/api/getSubmitBody.js.map +1 -0
  39. package/lib/components/ApplicationForm/ApplicationForm.fixture.d.ts +1 -0
  40. package/lib/components/ApplicationForm/ApplicationForm.js +30 -5
  41. package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  42. package/lib/components/ApplicationForm/ApplicationFormContent.d.ts +1 -1
  43. package/lib/retail/api/checkCode.d.ts +9 -1
  44. package/lib/retail/api/checkCode.js +22 -1
  45. package/lib/retail/api/checkCode.js.map +1 -1
  46. package/lib/retail/api/sendCode.d.ts +1 -1
  47. package/lib/retail/api/sendCode.js +7 -1
  48. package/lib/retail/api/sendCode.js.map +1 -1
  49. package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +4 -0
  50. package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +10 -4
  51. package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  52. package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +6 -1
  53. package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +6 -3
  54. package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  55. package/lib/retail/utils/mockLocalStorage.js +2 -2
  56. package/lib/retail/utils/mockLocalStorage.js.map +1 -1
  57. package/mobile/bundle/api/LeadServiceAPI.d.ts +8 -0
  58. package/mobile/bundle/api/getSubmitBody.d.ts +494 -0
  59. package/mobile/bundle/bundle.umd.js +663 -561
  60. package/mobile/bundle/bundle.umd.min.js +1 -1
  61. package/mobile/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +1 -1
  62. package/mobile/bundle/retail/api/checkCode.d.ts +9 -1
  63. package/mobile/bundle/retail/api/sendCode.d.ts +1 -1
  64. package/mobile/bundle/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +4 -0
  65. package/mobile/bundle/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +6 -1
  66. package/mobile/dist/api/LeadServiceAPI.d.ts +8 -0
  67. package/mobile/dist/api/LeadServiceAPI.js +41 -49
  68. package/mobile/dist/api/LeadServiceAPI.js.map +1 -1
  69. package/mobile/dist/api/getSubmitBody.d.ts +494 -0
  70. package/mobile/dist/api/getSubmitBody.js +59 -0
  71. package/mobile/dist/api/getSubmitBody.js.map +1 -0
  72. package/mobile/dist/components/ApplicationForm/ApplicationForm.js +30 -5
  73. package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  74. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.d.ts +1 -1
  75. package/mobile/dist/retail/api/checkCode.d.ts +9 -1
  76. package/mobile/dist/retail/api/checkCode.js +22 -1
  77. package/mobile/dist/retail/api/checkCode.js.map +1 -1
  78. package/mobile/dist/retail/api/sendCode.d.ts +1 -1
  79. package/mobile/dist/retail/api/sendCode.js +8 -2
  80. package/mobile/dist/retail/api/sendCode.js.map +1 -1
  81. package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +4 -0
  82. package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +10 -4
  83. package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  84. package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +6 -1
  85. package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +7 -4
  86. package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  87. package/mobile/dist/retail/utils/mockLocalStorage.js +2 -2
  88. package/mobile/dist/retail/utils/mockLocalStorage.js.map +1 -1
  89. package/mobile/lib/api/LeadServiceAPI.d.ts +8 -0
  90. package/mobile/lib/api/LeadServiceAPI.js +41 -49
  91. package/mobile/lib/api/LeadServiceAPI.js.map +1 -1
  92. package/mobile/lib/api/getSubmitBody.d.ts +494 -0
  93. package/mobile/lib/api/getSubmitBody.js +54 -0
  94. package/mobile/lib/api/getSubmitBody.js.map +1 -0
  95. package/mobile/lib/components/ApplicationForm/ApplicationForm.js +30 -5
  96. package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  97. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.d.ts +1 -1
  98. package/mobile/lib/retail/api/checkCode.d.ts +9 -1
  99. package/mobile/lib/retail/api/checkCode.js +22 -1
  100. package/mobile/lib/retail/api/checkCode.js.map +1 -1
  101. package/mobile/lib/retail/api/sendCode.d.ts +1 -1
  102. package/mobile/lib/retail/api/sendCode.js +7 -1
  103. package/mobile/lib/retail/api/sendCode.js.map +1 -1
  104. package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +4 -0
  105. package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +10 -4
  106. package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  107. package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +6 -1
  108. package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +6 -3
  109. package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  110. package/mobile/lib/retail/utils/mockLocalStorage.js +2 -2
  111. package/mobile/lib/retail/utils/mockLocalStorage.js.map +1 -1
  112. package/mobile/src/api/LeadServiceAPI.ts +64 -82
  113. package/mobile/src/api/getSubmitBody.ts +94 -0
  114. package/mobile/src/components/ApplicationForm/ApplicationForm.example.json +2 -2
  115. package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +33 -4
  116. package/mobile/src/components/ApplicationForm/ApplicationFormContent.ts +1 -1
  117. package/mobile/src/retail/api/checkCode.ts +47 -2
  118. package/mobile/src/retail/api/sendCode.ts +9 -1
  119. package/mobile/src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx +29 -8
  120. package/mobile/src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +18 -5
  121. package/mobile/src/retail/utils/mockLocalStorage.ts +15 -9
  122. package/package.json +1 -1
  123. package/src/api/LeadServiceAPI.ts +64 -82
  124. package/src/api/getSubmitBody.ts +94 -0
  125. package/src/components/ApplicationForm/ApplicationForm.example.json +2 -2
  126. package/src/components/ApplicationForm/ApplicationForm.fixture.mobile.tsx +2 -2
  127. package/src/components/ApplicationForm/ApplicationForm.fixture.tsx +24 -2
  128. package/src/components/ApplicationForm/ApplicationForm.tsx +33 -4
  129. package/src/components/ApplicationForm/ApplicationFormContent.ts +1 -1
  130. package/src/retail/api/checkCode.ts +47 -2
  131. package/src/retail/api/sendCode.ts +9 -1
  132. package/src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx +29 -8
  133. package/src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +18 -5
  134. package/src/retail/utils/mockLocalStorage.ts +15 -9
@@ -41,7 +41,7 @@ export type FieldDef = Required &
41
41
  };
42
42
 
43
43
  /** @hidden */
44
- export type EndpointType = 'lead' | 'sendcorporatelead';
44
+ export type EndpointType = 'lead' | 'sendcorporatelead' | 'initcorporatelead';
45
45
 
46
46
  /**
47
47
  * @title Секция полей ввода
@@ -1,10 +1,14 @@
1
+ import { LeadServiceAPI, type LeadRequest } from '../../api/LeadServiceAPI';
1
2
  import { fetchRetailJSON } from './doRequest';
3
+ const API = LeadServiceAPI();
2
4
 
3
5
  export type CheckCodeBody = {
4
6
  smsText: string;
5
7
  smsCodesSetName: {
6
8
  key: 'AUTHENTICATION' | 'SEND_TASK';
7
9
  };
10
+ reqId?: string;
11
+ body?: LeadRequest;
8
12
  };
9
13
 
10
14
  export type CheckCodeResponse = {
@@ -13,8 +17,32 @@ export type CheckCodeResponse = {
13
17
  refresh_token: string;
14
18
  };
15
19
 
16
- export const checkCode = async (body: CheckCodeBody) =>
17
- fetchRetailJSON<CheckCodeResponse>('/sms/checkCode', 'POST', body).then(saveToken);
20
+ type RetailBody = {
21
+ smsText: string;
22
+ smsCodesSetName: {
23
+ key: 'AUTHENTICATION' | 'SEND_TASK';
24
+ };
25
+ };
26
+
27
+ export type MainBody = {
28
+ code: string;
29
+ reqId: string;
30
+ body: LeadRequest;
31
+ };
32
+
33
+ type TransformedBody = RetailBody | MainBody;
34
+
35
+ export const checkCode = async (body: CheckCodeBody, isRetail: boolean) => {
36
+ const transformedBody = transformBody(body, isRetail);
37
+
38
+ return isRetail
39
+ ? fetchRetailJSON<CheckCodeResponse>('/sms/checkCode', 'POST', transformedBody).then(saveToken)
40
+ : fetchMain(transformedBody as MainBody).then((res) => {
41
+ if (res === null) {
42
+ throw new Error('Неверный код');
43
+ }
44
+ });
45
+ };
18
46
 
19
47
  export const saveToken = (data: CheckCodeResponse | null) => {
20
48
  if (data?.access_token && data?.refresh_token) {
@@ -22,3 +50,20 @@ export const saveToken = (data: CheckCodeResponse | null) => {
22
50
  globalThis.sessionStorage.setItem('refreshToken', data.refresh_token);
23
51
  }
24
52
  };
53
+
54
+ const fetchMain = (body: MainBody) => API.checkCode(body);
55
+
56
+ const transformBody = (
57
+ { smsText, smsCodesSetName, body, reqId }: CheckCodeBody,
58
+ isRetail: boolean,
59
+ ): TransformedBody => {
60
+ if (isRetail) {
61
+ return { smsText, smsCodesSetName };
62
+ }
63
+
64
+ if (!reqId || !body) {
65
+ throw new Error('Произошла ошибка, попробуйте позднее');
66
+ }
67
+
68
+ return { code: smsText, reqId, body };
69
+ };
@@ -1,4 +1,6 @@
1
+ import { LeadServiceAPI } from '../../api/LeadServiceAPI';
1
2
  import { doRequest } from './doRequest';
3
+ const API = LeadServiceAPI();
2
4
 
3
5
  export type SendCodeBody = {
4
6
  phoneNumber: string;
@@ -7,7 +9,13 @@ export type SendCodeBody = {
7
9
  };
8
10
  };
9
11
 
10
- export const sendCode = (body: SendCodeBody) =>
12
+ export const sendCode = (body: SendCodeBody, isRetail: boolean) => {
13
+ return isRetail ? fetchRetail(body) : fetchMain(body);
14
+ };
15
+
16
+ const fetchRetail = (body: SendCodeBody) =>
11
17
  doRequest('/sms/sendCode', 'POST', body)
12
18
  .then((res) => res.text())
13
19
  .then((text) => text === 'OK');
20
+
21
+ const fetchMain = (body: SendCodeBody) => API.sendCode({ phone: body.phoneNumber });
@@ -1,8 +1,8 @@
1
1
  /* eslint-disable max-lines-per-function */
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
3
  import { useCallback, useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
4
-
5
4
  import { useSessionStore } from '@redneckz/uni-jsx/lib/Store/useSessionStore';
5
+ import { type LeadRequest } from '../../../api/LeadServiceAPI';
6
6
  import { Headline } from '../../../components/Headline/Headline';
7
7
  import type { OnCloseProps } from '../../../model/OnCloseProps';
8
8
  import { Button } from '../../../ui-kit/Button/Button';
@@ -32,10 +32,22 @@ export interface VerifyPhoneDialogProps extends OnCloseProps {
32
32
  withDescription?: boolean;
33
33
  consents?: string[];
34
34
  onSuccess?: (smsCode?: string) => void;
35
+ formatData?: LeadRequest;
36
+ reqId?: string;
37
+ isRetail?: boolean;
35
38
  }
36
39
 
37
40
  export const VerifyPhoneDialog = JSX<VerifyPhoneDialogProps>(
38
- ({ phone, withDescription = true, consents, onSuccess = noop, onClose = noop }) => {
41
+ ({
42
+ phone,
43
+ withDescription = true,
44
+ consents,
45
+ onSuccess = noop,
46
+ onClose = noop,
47
+ formatData,
48
+ reqId,
49
+ isRetail = true,
50
+ }) => {
39
51
  const [values, setValues] = useState(Array(CODE_LENGTH).fill(''));
40
52
  const sessionStore = useSessionStore<SmsCodeStore>();
41
53
 
@@ -48,7 +60,13 @@ export const VerifyPhoneDialog = JSX<VerifyPhoneDialogProps>(
48
60
  isSubmitButtonDisabled,
49
61
  setTimeNextReq,
50
62
  setErrorText,
51
- } = useVerifyPhoneDialogSubmit({ values, onSuccess });
63
+ } = useVerifyPhoneDialogSubmit({
64
+ values,
65
+ onSuccess,
66
+ formatData,
67
+ reqId,
68
+ isRetail,
69
+ });
52
70
 
53
71
  const captchaDialog = useDialog(CaptchaDialog);
54
72
 
@@ -57,10 +75,13 @@ export const VerifyPhoneDialog = JSX<VerifyPhoneDialogProps>(
57
75
  const restartTimer = useCountDownTimer({ seconds: timeNextReq, onTick: setTimeNextReq });
58
76
 
59
77
  const handleSendCode = useCallback(async () => {
60
- const isSuccessSendCode = await sendCode({
61
- phoneNumber,
62
- smsCodesSetName: { key: 'AUTHENTICATION' },
63
- });
78
+ const isSuccessSendCode = await sendCode(
79
+ {
80
+ phoneNumber,
81
+ smsCodesSetName: { key: 'AUTHENTICATION' },
82
+ },
83
+ isRetail,
84
+ );
64
85
 
65
86
  if (isSuccessSendCode) {
66
87
  setTimeNextReq(TIME_TO_RESEND);
@@ -76,7 +97,7 @@ export const VerifyPhoneDialog = JSX<VerifyPhoneDialogProps>(
76
97
  }, [phoneNumber, restartTimer, onClose]);
77
98
 
78
99
  useEffect(() => {
79
- if (!sessionStore.smsCode?.sendTime) {
100
+ if (!sessionStore.smsCode?.sendTime && isRetail) {
80
101
  handleSendCode();
81
102
  }
82
103
  }, []);
@@ -1,13 +1,18 @@
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 { type LeadRequest } from '../../../api/LeadServiceAPI';
4
5
  import { checkCode } from '../../api/checkCode';
5
6
 
6
7
  export const TIME_TO_RESEND = 180;
8
+ export const TIME_TO_MAIN_EXPIRE = 600;
7
9
 
8
10
  type useVerifyPhoneDialogSubmitProps = {
9
11
  values: string[];
10
12
  onSuccess?: (smsCode?: string) => void;
13
+ formatData?: LeadRequest;
14
+ reqId?: string;
15
+ isRetail?: boolean;
11
16
  };
12
17
 
13
18
  export interface SmsCodeStore {
@@ -20,6 +25,9 @@ export interface SmsCodeStore {
20
25
  export const useVerifyPhoneDialogSubmit = ({
21
26
  values,
22
27
  onSuccess,
28
+ formatData,
29
+ reqId,
30
+ isRetail = true,
23
31
  }: useVerifyPhoneDialogSubmitProps) => {
24
32
  const sessionStore = useSessionStore<SmsCodeStore>();
25
33
  const attempts = sessionStore.smsCode?.attempts || 0;
@@ -41,10 +49,15 @@ export const useVerifyPhoneDialogSubmit = ({
41
49
  attempts: attempts + 1,
42
50
  };
43
51
  startLoading();
44
- await checkCode({
45
- smsText: values.join(''),
46
- smsCodesSetName: { key: 'AUTHENTICATION' },
47
- });
52
+ await checkCode(
53
+ {
54
+ smsText: values.join(''),
55
+ smsCodesSetName: { key: 'AUTHENTICATION' },
56
+ body: isRetail ? undefined : formatData,
57
+ reqId: isRetail ? undefined : reqId,
58
+ },
59
+ isRetail,
60
+ );
48
61
  setTimeNextReq(0);
49
62
  resetError();
50
63
  sessionStore.smsCode = null;
@@ -57,7 +70,7 @@ export const useVerifyPhoneDialogSubmit = ({
57
70
  }, [values, attempts]);
58
71
 
59
72
  useEffect(() => {
60
- if (isTimeExpired) {
73
+ if (isTimeExpired && isRetail) {
61
74
  setErrorText('Код просрочен');
62
75
  } else if (attempts > 2) {
63
76
  setErrorText('Исчерпан лимит ввода смс-кода');
@@ -13,15 +13,21 @@ export const mockLocalStorage = async () => {
13
13
  globalThis.localStorage.getItem('profileId') ??
14
14
  (await createUserProfile({ profile: { phone: PHONE } }));
15
15
 
16
- await sendCode({
17
- phoneNumber: PHONE,
18
- smsCodesSetName: { key: 'AUTHENTICATION' },
19
- });
20
-
21
- await checkCode({
22
- smsCodesSetName: { key: 'AUTHENTICATION' },
23
- smsText: '1234',
24
- });
16
+ await sendCode(
17
+ {
18
+ phoneNumber: PHONE,
19
+ smsCodesSetName: { key: 'AUTHENTICATION' },
20
+ },
21
+ true,
22
+ );
23
+
24
+ await checkCode(
25
+ {
26
+ smsCodesSetName: { key: 'AUTHENTICATION' },
27
+ smsText: '1234',
28
+ },
29
+ true,
30
+ );
25
31
 
26
32
  const task = {
27
33
  taskId: globalThis.localStorage.getItem('taskId'),