@redneckz/wildless-cms-uni-blocks 0.14.911 → 0.14.913
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/api/LeadServiceAPI.d.ts +12 -3
- package/bundle/bundle.umd.js +716 -684
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/ApplicationForm/VerifyPhoneDialog.d.ts +10 -0
- package/bundle/components/ApplicationForm/useVerifyPhoneDialogSubmit.d.ts +18 -0
- package/bundle/components/TariffsTable/TariffsTableCell.d.ts +1 -1
- package/bundle/retail/api/checkCode.d.ts +1 -9
- package/bundle/retail/api/sendCode.d.ts +1 -1
- package/bundle/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -4
- package/bundle/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +1 -6
- package/bundle/ui-kit/ResponseTypeDialog/ResponseTypeDialog.d.ts +1 -1
- package/bundle/ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout.d.ts +16 -0
- package/bundle/utils/getTimer.d.ts +2 -0
- package/dist/api/LeadServiceAPI.d.ts +12 -3
- package/dist/api/LeadServiceAPI.js +0 -3
- package/dist/api/LeadServiceAPI.js.map +1 -1
- package/dist/components/ApplicationForm/ApplicationForm.js +1 -3
- package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/dist/components/ApplicationForm/VerifyPhoneDialog.d.ts +10 -0
- package/dist/components/ApplicationForm/VerifyPhoneDialog.js +37 -0
- package/dist/components/ApplicationForm/VerifyPhoneDialog.js.map +1 -0
- package/dist/components/ApplicationForm/useVerifyPhoneDialogSubmit.d.ts +18 -0
- package/dist/components/ApplicationForm/useVerifyPhoneDialogSubmit.js +50 -0
- package/dist/components/ApplicationForm/useVerifyPhoneDialogSubmit.js.map +1 -0
- package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +2 -2
- package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTableCell.d.ts +1 -1
- package/dist/retail/api/checkCode.d.ts +1 -9
- package/dist/retail/api/checkCode.js +1 -22
- package/dist/retail/api/checkCode.js.map +1 -1
- package/dist/retail/api/sendCode.d.ts +1 -1
- package/dist/retail/api/sendCode.js +2 -8
- package/dist/retail/api/sendCode.js.map +1 -1
- package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -4
- package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +5 -24
- package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
- package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +1 -6
- package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +7 -10
- package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
- package/dist/retail/utils/mockLocalStorage.js +2 -2
- package/dist/retail/utils/mockLocalStorage.js.map +1 -1
- package/dist/ui-kit/ResponseTypeDialog/ResponseTypeDialog.d.ts +1 -1
- package/dist/ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout.d.ts +16 -0
- package/dist/ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout.js +17 -0
- package/dist/ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout.js.map +1 -0
- package/dist/utils/getTimer.d.ts +2 -0
- package/dist/utils/getTimer.js +6 -0
- package/dist/utils/getTimer.js.map +1 -0
- package/lib/api/LeadServiceAPI.d.ts +12 -3
- package/lib/api/LeadServiceAPI.js +0 -3
- package/lib/api/LeadServiceAPI.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/ApplicationForm/ApplicationForm.js +1 -3
- package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/lib/components/ApplicationForm/VerifyPhoneDialog.d.ts +10 -0
- package/lib/components/ApplicationForm/VerifyPhoneDialog.js +35 -0
- package/lib/components/ApplicationForm/VerifyPhoneDialog.js.map +1 -0
- package/lib/components/ApplicationForm/useVerifyPhoneDialogSubmit.d.ts +18 -0
- package/lib/components/ApplicationForm/useVerifyPhoneDialogSubmit.js +47 -0
- package/lib/components/ApplicationForm/useVerifyPhoneDialogSubmit.js.map +1 -0
- package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +2 -2
- package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTableCell.d.ts +1 -1
- package/lib/retail/api/checkCode.d.ts +1 -9
- package/lib/retail/api/checkCode.js +1 -22
- package/lib/retail/api/checkCode.js.map +1 -1
- package/lib/retail/api/sendCode.d.ts +1 -1
- package/lib/retail/api/sendCode.js +1 -7
- package/lib/retail/api/sendCode.js.map +1 -1
- package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -4
- package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +5 -24
- package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
- package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +1 -6
- package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +5 -8
- package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
- package/lib/retail/utils/mockLocalStorage.js +2 -2
- package/lib/retail/utils/mockLocalStorage.js.map +1 -1
- package/lib/ui-kit/ResponseTypeDialog/ResponseTypeDialog.d.ts +1 -1
- package/lib/ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout.d.ts +16 -0
- package/lib/ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout.js +15 -0
- package/lib/ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout.js.map +1 -0
- package/lib/utils/getTimer.d.ts +2 -0
- package/lib/utils/getTimer.js +3 -0
- package/lib/utils/getTimer.js.map +1 -0
- package/mobile/bundle/api/LeadServiceAPI.d.ts +12 -3
- package/mobile/bundle/bundle.umd.js +716 -684
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/ApplicationForm/VerifyPhoneDialog.d.ts +10 -0
- package/mobile/bundle/components/ApplicationForm/useVerifyPhoneDialogSubmit.d.ts +18 -0
- package/mobile/bundle/components/TariffsTable/TariffsTableCell.d.ts +1 -1
- package/mobile/bundle/retail/api/checkCode.d.ts +1 -9
- package/mobile/bundle/retail/api/sendCode.d.ts +1 -1
- package/mobile/bundle/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -4
- package/mobile/bundle/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +1 -6
- package/mobile/bundle/ui-kit/ResponseTypeDialog/ResponseTypeDialog.d.ts +1 -1
- package/mobile/bundle/ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout.d.ts +16 -0
- package/mobile/bundle/utils/getTimer.d.ts +2 -0
- package/mobile/dist/api/LeadServiceAPI.d.ts +12 -3
- package/mobile/dist/api/LeadServiceAPI.js +0 -3
- package/mobile/dist/api/LeadServiceAPI.js.map +1 -1
- package/mobile/dist/components/ApplicationForm/ApplicationForm.js +1 -3
- package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/mobile/dist/components/ApplicationForm/VerifyPhoneDialog.d.ts +10 -0
- package/mobile/dist/components/ApplicationForm/VerifyPhoneDialog.js +37 -0
- package/mobile/dist/components/ApplicationForm/VerifyPhoneDialog.js.map +1 -0
- package/mobile/dist/components/ApplicationForm/useVerifyPhoneDialogSubmit.d.ts +18 -0
- package/mobile/dist/components/ApplicationForm/useVerifyPhoneDialogSubmit.js +50 -0
- package/mobile/dist/components/ApplicationForm/useVerifyPhoneDialogSubmit.js.map +1 -0
- package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +2 -2
- package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTableCell.d.ts +1 -1
- package/mobile/dist/retail/api/checkCode.d.ts +1 -9
- package/mobile/dist/retail/api/checkCode.js +1 -22
- package/mobile/dist/retail/api/checkCode.js.map +1 -1
- package/mobile/dist/retail/api/sendCode.d.ts +1 -1
- package/mobile/dist/retail/api/sendCode.js +2 -8
- package/mobile/dist/retail/api/sendCode.js.map +1 -1
- package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -4
- package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +5 -24
- package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
- package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +1 -6
- package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +7 -10
- package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
- package/mobile/dist/retail/utils/mockLocalStorage.js +2 -2
- package/mobile/dist/retail/utils/mockLocalStorage.js.map +1 -1
- package/mobile/dist/ui-kit/ResponseTypeDialog/ResponseTypeDialog.d.ts +1 -1
- package/mobile/dist/ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout.d.ts +16 -0
- package/mobile/dist/ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout.js +17 -0
- package/mobile/dist/ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout.js.map +1 -0
- package/mobile/dist/utils/getTimer.d.ts +2 -0
- package/mobile/dist/utils/getTimer.js +6 -0
- package/mobile/dist/utils/getTimer.js.map +1 -0
- package/mobile/lib/api/LeadServiceAPI.d.ts +12 -3
- package/mobile/lib/api/LeadServiceAPI.js +0 -3
- package/mobile/lib/api/LeadServiceAPI.js.map +1 -1
- package/mobile/lib/common.css +1 -1
- package/mobile/lib/components/ApplicationForm/ApplicationForm.js +1 -3
- package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/mobile/lib/components/ApplicationForm/VerifyPhoneDialog.d.ts +10 -0
- package/mobile/lib/components/ApplicationForm/VerifyPhoneDialog.js +35 -0
- package/mobile/lib/components/ApplicationForm/VerifyPhoneDialog.js.map +1 -0
- package/mobile/lib/components/ApplicationForm/useVerifyPhoneDialogSubmit.d.ts +18 -0
- package/mobile/lib/components/ApplicationForm/useVerifyPhoneDialogSubmit.js +47 -0
- package/mobile/lib/components/ApplicationForm/useVerifyPhoneDialogSubmit.js.map +1 -0
- package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +2 -2
- package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTableCell.d.ts +1 -1
- package/mobile/lib/retail/api/checkCode.d.ts +1 -9
- package/mobile/lib/retail/api/checkCode.js +1 -22
- package/mobile/lib/retail/api/checkCode.js.map +1 -1
- package/mobile/lib/retail/api/sendCode.d.ts +1 -1
- package/mobile/lib/retail/api/sendCode.js +1 -7
- package/mobile/lib/retail/api/sendCode.js.map +1 -1
- package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -4
- package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +5 -24
- package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
- package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +1 -6
- package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +5 -8
- package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
- package/mobile/lib/retail/utils/mockLocalStorage.js +2 -2
- package/mobile/lib/retail/utils/mockLocalStorage.js.map +1 -1
- package/mobile/lib/ui-kit/ResponseTypeDialog/ResponseTypeDialog.d.ts +1 -1
- package/mobile/lib/ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout.d.ts +16 -0
- package/mobile/lib/ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout.js +15 -0
- package/mobile/lib/ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout.js.map +1 -0
- package/mobile/lib/utils/getTimer.d.ts +2 -0
- package/mobile/lib/utils/getTimer.js +3 -0
- package/mobile/lib/utils/getTimer.js.map +1 -0
- package/mobile/src/api/LeadServiceAPI.ts +13 -7
- package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +1 -3
- package/mobile/src/components/ApplicationForm/VerifyPhoneDialog.tsx +73 -0
- package/mobile/src/components/ApplicationForm/useVerifyPhoneDialogSubmit.tsx +63 -0
- package/mobile/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +2 -2
- package/mobile/src/components/TariffsTable/TariffsTableCell.tsx +1 -1
- package/mobile/src/retail/api/checkCode.ts +2 -47
- package/mobile/src/retail/api/sendCode.ts +1 -9
- package/mobile/src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx +23 -82
- package/mobile/src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +7 -21
- package/mobile/src/retail/utils/mockLocalStorage.ts +9 -15
- package/mobile/src/ui-kit/ResponseTypeDialog/ResponseTypeDialog.tsx +1 -1
- package/mobile/src/ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout.tsx +80 -0
- package/mobile/src/utils/getTimer.ts +4 -0
- package/package.json +1 -1
- package/src/api/LeadServiceAPI.ts +13 -7
- package/src/components/ApplicationForm/ApplicationForm.tsx +1 -3
- package/src/components/ApplicationForm/VerifyPhoneDialog.tsx +73 -0
- package/src/components/ApplicationForm/useVerifyPhoneDialogSubmit.tsx +63 -0
- package/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +2 -2
- package/src/components/TariffsTable/TariffsTableCell.tsx +1 -1
- package/src/retail/api/checkCode.ts +2 -47
- package/src/retail/api/sendCode.ts +1 -9
- package/src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx +23 -82
- package/src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +7 -21
- package/src/retail/utils/mockLocalStorage.ts +9 -15
- package/src/ui-kit/ResponseTypeDialog/ResponseTypeDialog.tsx +1 -1
- package/src/ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout.tsx +80 -0
- package/src/utils/getTimer.ts +4 -0
- package/bundle/model/onClose.d.ts +0 -3
- package/dist/model/onClose.d.ts +0 -3
- package/dist/model/onClose.js +0 -2
- package/dist/model/onClose.js.map +0 -1
- package/lib/model/onClose.d.ts +0 -3
- package/lib/model/onClose.js +0 -2
- package/lib/model/onClose.js.map +0 -1
- package/mobile/bundle/model/onClose.d.ts +0 -3
- package/mobile/dist/model/onClose.d.ts +0 -3
- package/mobile/dist/model/onClose.js +0 -2
- package/mobile/dist/model/onClose.js.map +0 -1
- package/mobile/lib/model/onClose.d.ts +0 -3
- package/mobile/lib/model/onClose.js +0 -2
- package/mobile/lib/model/onClose.js.map +0 -1
- package/mobile/src/model/onClose.ts +0 -3
- package/src/model/onClose.ts +0 -3
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { useCallback, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
2
|
+
import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
|
|
3
|
+
import { LeadServiceAPI } from '../../api/LeadServiceAPI.js';
|
|
4
|
+
import { getTimer } from '../../utils/getTimer.js';
|
|
5
|
+
const API = LeadServiceAPI();
|
|
6
|
+
export const useVerifyPhoneDialogSubmit = ({ values, onSuccess, formatData, reqId, }) => {
|
|
7
|
+
const timer = Math.max(getTimer(Date.now()), 0);
|
|
8
|
+
const [errorText, setErrorText] = useState('');
|
|
9
|
+
const [isLoading, { setTrue: startLoading, setFalse: endLoading }] = useBool(false);
|
|
10
|
+
const [timeNextReq, setTimeNextReq] = useState(timer);
|
|
11
|
+
const resetError = useCallback(() => setErrorText(''), []);
|
|
12
|
+
const isSubmitButtonDisabled = !values.every(Boolean);
|
|
13
|
+
const handleSubmit = useCallback(async () => {
|
|
14
|
+
try {
|
|
15
|
+
startLoading();
|
|
16
|
+
const response = await API.checkCode({
|
|
17
|
+
code: values.join(''),
|
|
18
|
+
body: formatData,
|
|
19
|
+
reqId,
|
|
20
|
+
});
|
|
21
|
+
if (response?.errorDesc) {
|
|
22
|
+
setErrorText(response?.errorDesc);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
setTimeNextReq(0);
|
|
26
|
+
resetError();
|
|
27
|
+
onSuccess?.(values.join(''));
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
setErrorText('Неверный код');
|
|
31
|
+
}
|
|
32
|
+
finally {
|
|
33
|
+
endLoading();
|
|
34
|
+
}
|
|
35
|
+
}, [values]);
|
|
36
|
+
return {
|
|
37
|
+
handleSubmit,
|
|
38
|
+
hasError: Boolean(errorText),
|
|
39
|
+
errorText,
|
|
40
|
+
isLoading,
|
|
41
|
+
timeNextReq,
|
|
42
|
+
isSubmitButtonDisabled,
|
|
43
|
+
setTimeNextReq,
|
|
44
|
+
setErrorText,
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=useVerifyPhoneDialogSubmit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVerifyPhoneDialogSubmit.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/useVerifyPhoneDialogSubmit.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAoB,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;AAS7B,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,MAAM,EACN,SAAS,EACT,UAAU,EACV,KAAK,GAC2B,EAAE,EAAE;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEhD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACpF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAE3D,MAAM,sBAAsB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEtD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC1C,IAAI;YACF,YAAY,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC;gBACnC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,EAAE,UAAU;gBAChB,KAAK;aACN,CAAC,CAAC;YACH,IAAI,QAAQ,EAAE,SAAS,EAAE;gBACvB,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAElC,OAAO;aACR;YACD,cAAc,CAAC,CAAC,CAAC,CAAC;YAClB,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;SAC9B;QAAC,MAAM;YACN,YAAY,CAAC,cAAc,CAAC,CAAC;SAC9B;gBAAS;YACR,UAAU,EAAE,CAAC;SACd;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO;QACL,YAAY;QACZ,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC;QAC5B,SAAS;QACT,SAAS;QACT,WAAW;QACX,sBAAsB;QACtB,cAAc;QACd,YAAY;KACb,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -50,7 +50,7 @@ const handleSelectBuy = (calcState, setCalcState, currencyRatesBuy) => (value) =
|
|
|
50
50
|
};
|
|
51
51
|
const handleInputSell = (setCalcState, currencyRatesSell) => (value, currencyFrom, currencyTo) => {
|
|
52
52
|
setCalcState({ inputSell: formatValue(value), selectBuy: currencyTo });
|
|
53
|
-
const rate = currencyRatesSell.find((_) => _.currency?.currency === currencyTo)?.
|
|
53
|
+
const rate = currencyRatesSell.find((_) => _.currency?.currency === currencyTo)?.saleExchangeRate ||
|
|
54
54
|
currencyRatesSell.find((_) => _.currency?.currency === currencyFrom)?.buyExchangeRate;
|
|
55
55
|
if (rate) {
|
|
56
56
|
setCalcState({
|
|
@@ -60,7 +60,7 @@ const handleInputSell = (setCalcState, currencyRatesSell) => (value, currencyFro
|
|
|
60
60
|
};
|
|
61
61
|
const handleInputBuy = (setCalcState, currencyRatesBuy) => (value, currencyTo, currencyFrom) => {
|
|
62
62
|
setCalcState({ inputBuy: formatValue(value), selectSell: currencyFrom });
|
|
63
|
-
const rate = currencyRatesBuy.find((_) => _.currency?.currency === currencyFrom)?.
|
|
63
|
+
const rate = currencyRatesBuy.find((_) => _.currency?.currency === currencyFrom)?.buyExchangeRate ||
|
|
64
64
|
currencyRatesBuy.find((_) => _.currency?.currency === currencyTo)?.saleExchangeRate;
|
|
65
65
|
if (rate) {
|
|
66
66
|
setCalcState({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExchangeCurrencyCalculator.js","sourceRoot":"","sources":["../../../src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAyB5C,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAC3C,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,EAAE;IAClE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAY;QACpD,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,GAAG;QACrE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,GAAG;KACtE,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,QAA4B,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,EAC5F,EAAE,CACH,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAE,8BAA8B,SAAS,EAAE,aACtD,gBAAgB,IAAI,iBAAiB,CAAC,CAAC,CAAC,CACvC,eAAK,SAAS,EAAC,YAAY,aACxB,WAAW,CAAC;wBACX,WAAW,EAAE,cAAc;wBAC3B,KAAK,EAAE,iBAAiB;wBACxB,QAAQ,EAAE,SAAS,CAAC,UAAU;wBAC9B,WAAW,EAAE,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,EAAE,iBAAiB,CAAC;wBAC/E,KAAK,EAAE,SAAS,CAAC,SAAS;wBAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,eAAe,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CACpD,KAAK,EACL,SAAS,CAAC,UAAU,EACpB,SAAS,CAAC,SAAS,CACpB;qBACJ,CAAC,EACD,WAAW,CAAC;wBACX,WAAW,EAAE,QAAQ;wBACrB,KAAK,EAAE,gBAAgB;wBACvB,QAAQ,EAAE,SAAS,CAAC,SAAS;wBAC7B,WAAW,EAAE,eAAe,CAAC,SAAS,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;wBAC7E,KAAK,EAAE,SAAS,CAAC,QAAQ;wBACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,cAAc,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAClD,KAAK,EACL,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,UAAU,CACrB;qBACJ,CAAC,IACE,CACP,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CACd,KAAC,UAAU,IAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAM,MAAM,GAAI,CACxE,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,gBAAgB,GACpB,CACE,SAAoB,EACpB,YAAiD,EACjD,iBAAyC,EACzC,EAAE,CACJ,CAAC,KAAe,EAAE,EAAE;IAClB,YAAY,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACpC,sBAAsB,CAAC;QACrB,KAAK;QACL,aAAa,EAAE,SAAS,CAAC,SAAS;QAClC,aAAa,EAAE,CAAC,YAAY,GAAG,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC,SAAS,EAAE,EAAE;YACvF,eAAe,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAC9C,SAAS,CAAC,SAAS,EACnB,YAAY,EACZ,UAAU,CACX,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEJ,MAAM,eAAe,GACnB,CACE,SAAoB,EACpB,YAAiD,EACjD,gBAAwC,EACxC,EAAE,CACJ,CAAC,KAAe,EAAE,EAAE;IAClB,YAAY,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACnC,sBAAsB,CAAC;QACrB,KAAK;QACL,aAAa,EAAE,SAAS,CAAC,UAAU;QACnC,aAAa,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,CAAC,UAAU,EAAE,EAAE,CACvF,cAAc,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAC5C,SAAS,CAAC,QAAQ,EAClB,UAAU,EACV,YAAY,CACb;KACJ,CAAC,CAAC;AACL,CAAC,CAAC;AAEJ,MAAM,eAAe,GACnB,CAAC,YAAiD,EAAE,iBAAyC,EAAE,EAAE,CACjG,CAAC,KAAa,EAAE,YAAsB,EAAE,UAAoB,EAAE,EAAE;IAC9D,YAAY,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;IACvE,MAAM,IAAI,GACR,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,KAAK,UAAU,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"ExchangeCurrencyCalculator.js","sourceRoot":"","sources":["../../../src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { JSONRefObject } from '../../data/JSONRefObject';
|
|
2
|
-
import { type OnCloseProps } from '../../model/
|
|
2
|
+
import { type OnCloseProps } from '../../model/OnCloseProps';
|
|
3
3
|
import { type TableFetchData, type TariffsTableInnerContent } from '../../ui-kit/InnerTable/InnerTableProps';
|
|
4
4
|
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
5
5
|
import { type CellDef } from './TariffsTableContent';
|
|
@@ -1,21 +1,13 @@
|
|
|
1
|
-
import { type LeadRequest } from '../../api/LeadServiceAPI';
|
|
2
1
|
export declare type CheckCodeBody = {
|
|
3
2
|
smsText: string;
|
|
4
3
|
smsCodesSetName: {
|
|
5
4
|
key: 'AUTHENTICATION' | 'SEND_TASK';
|
|
6
5
|
};
|
|
7
|
-
reqId?: string;
|
|
8
|
-
body?: LeadRequest;
|
|
9
6
|
};
|
|
10
7
|
export declare type CheckCodeResponse = {
|
|
11
8
|
access_token: string;
|
|
12
9
|
expires_in: number;
|
|
13
10
|
refresh_token: string;
|
|
14
11
|
};
|
|
15
|
-
export declare
|
|
16
|
-
code: string;
|
|
17
|
-
reqId: string;
|
|
18
|
-
body: LeadRequest;
|
|
19
|
-
};
|
|
20
|
-
export declare const checkCode: (body: CheckCodeBody, isRetail: boolean) => Promise<void>;
|
|
12
|
+
export declare const checkCode: (body: CheckCodeBody) => Promise<void>;
|
|
21
13
|
export declare const saveToken: (data: CheckCodeResponse | null) => void;
|
|
@@ -1,30 +1,9 @@
|
|
|
1
|
-
import { LeadServiceAPI } from '../../api/LeadServiceAPI.js';
|
|
2
1
|
import { fetchRetailJSON } from './doRequest.js';
|
|
3
|
-
const
|
|
4
|
-
export const checkCode = async (body, isRetail) => {
|
|
5
|
-
const transformedBody = transformBody(body, isRetail);
|
|
6
|
-
return isRetail
|
|
7
|
-
? fetchRetailJSON('/sms/checkCode', 'POST', transformedBody).then(saveToken)
|
|
8
|
-
: fetchMain(transformedBody).then((res) => {
|
|
9
|
-
if (res === null) {
|
|
10
|
-
throw new Error('Неверный код');
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
|
-
};
|
|
2
|
+
export const checkCode = async (body) => fetchRetailJSON('/sms/checkCode', 'POST', body).then(saveToken);
|
|
14
3
|
export const saveToken = (data) => {
|
|
15
4
|
if (data?.access_token && data?.refresh_token) {
|
|
16
5
|
globalThis.sessionStorage.setItem('accessToken', data.access_token);
|
|
17
6
|
globalThis.sessionStorage.setItem('refreshToken', data.refresh_token);
|
|
18
7
|
}
|
|
19
8
|
};
|
|
20
|
-
const fetchMain = (body) => API.checkCode(body);
|
|
21
|
-
const transformBody = ({ smsText, smsCodesSetName, body, reqId }, isRetail) => {
|
|
22
|
-
if (isRetail) {
|
|
23
|
-
return { smsText, smsCodesSetName };
|
|
24
|
-
}
|
|
25
|
-
if (!reqId || !body) {
|
|
26
|
-
throw new Error('Произошла ошибка, попробуйте позднее');
|
|
27
|
-
}
|
|
28
|
-
return { code: smsText, reqId, body };
|
|
29
|
-
};
|
|
30
9
|
//# sourceMappingURL=checkCode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkCode.js","sourceRoot":"","sources":["../../../src/retail/api/checkCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"checkCode.js","sourceRoot":"","sources":["../../../src/retail/api/checkCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAe9C,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,IAAmB,EAAE,EAAE,CACrD,eAAe,CAAoB,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAA8B,EAAE,EAAE;IAC1D,IAAI,IAAI,EAAE,YAAY,IAAI,IAAI,EAAE,aAAa,EAAE;QAC7C,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACpE,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;KACvE;AACH,CAAC,CAAC"}
|
|
@@ -4,4 +4,4 @@ export declare type SendCodeBody = {
|
|
|
4
4
|
key: 'AUTHENTICATION' | 'SEND_TASK';
|
|
5
5
|
};
|
|
6
6
|
};
|
|
7
|
-
export declare const sendCode: (body: SendCodeBody
|
|
7
|
+
export declare const sendCode: (body: SendCodeBody) => Promise<boolean>;
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
import { LeadServiceAPI } from '../../api/LeadServiceAPI.js';
|
|
2
1
|
import { doRequest } from './doRequest.js';
|
|
3
|
-
const
|
|
4
|
-
export const sendCode = (body, isRetail) => {
|
|
5
|
-
return isRetail ? fetchRetail(body) : fetchMain(body);
|
|
6
|
-
};
|
|
7
|
-
const fetchRetail = (body) => doRequest('/sms/sendCode', 'POST', body)
|
|
2
|
+
export const sendCode = (body) => doRequest('/sms/sendCode', 'POST', body)
|
|
8
3
|
.then((res) => res.text())
|
|
9
4
|
.then((text) => text === 'OK');
|
|
10
|
-
const fetchMain = (body) => API.sendCode({ phone: body.phoneNumber });
|
|
11
5
|
//# sourceMappingURL=sendCode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendCode.js","sourceRoot":"","sources":["../../../src/retail/api/sendCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sendCode.js","sourceRoot":"","sources":["../../../src/retail/api/sendCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AASxC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAkB,EAAE,EAAE,CAC7C,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,CAAC;KACrC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;KACzB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import { type LeadRequest } from '../../../api/LeadServiceAPI';
|
|
2
1
|
import type { OnCloseProps } from '../../../model/OnCloseProps';
|
|
3
2
|
export interface VerifyPhoneDialogProps extends OnCloseProps {
|
|
4
3
|
phone: string;
|
|
5
4
|
withDescription?: boolean;
|
|
6
5
|
consents?: string[];
|
|
7
6
|
onSuccess?: (smsCode?: string) => void;
|
|
8
|
-
formatData?: LeadRequest;
|
|
9
|
-
reqId?: string;
|
|
10
|
-
isRetail?: boolean;
|
|
11
7
|
}
|
|
12
8
|
export declare const VerifyPhoneDialog: import("@redneckz/uni-jsx").UNIComponent<VerifyPhoneDialogProps, any, any>;
|
|
@@ -2,35 +2,22 @@ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
3
|
import { useCallback, useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
4
4
|
import { useSessionStore } from '@redneckz/uni-jsx/lib/Store/useSessionStore';
|
|
5
|
-
import { Headline } from '../../../components/Headline/Headline.js';
|
|
6
|
-
import { Button } from '../../../ui-kit/Button/Button.js';
|
|
7
|
-
import { ButtonTitle } from '../../../ui-kit/Button/ButtonTitle.js';
|
|
8
|
-
import { Dialog } from '../../../ui-kit/DialogManager/Dialog.js';
|
|
9
5
|
import { useDialog } from '../../../ui-kit/DialogManager/useDialog.js';
|
|
10
|
-
import { Loader } from '../../../ui-kit/Loader/Loader.js';
|
|
11
6
|
import { RichText } from '../../../ui-kit/RichText/RichText.js';
|
|
12
|
-
import { Timer } from '../../../ui-kit/TimerCircle/Timer.js';
|
|
13
7
|
import { useCountDownTimer } from '../../../ui-kit/TimerCircle/useCountDownTimer.js';
|
|
8
|
+
import { VerifyPhoneDialogLayout } from '../../../ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout.js';
|
|
14
9
|
import { formatPhone } from '../../../utils/formatPhone.js';
|
|
15
10
|
import { noop } from '../../../utils/noop.js';
|
|
16
11
|
import { sendCode } from '../../api/sendCode.js';
|
|
17
12
|
import { CaptchaDialog } from '../CaptchaDialog/CaptchaDialog.js';
|
|
18
|
-
import { InputCode } from './InputCode.js';
|
|
19
|
-
import { SubmitButton } from './SubmitButton.js';
|
|
20
13
|
import { TIME_TO_RESEND, useVerifyPhoneDialogSubmit, } from './useVerifyPhoneDialogSubmit.js';
|
|
21
14
|
const CODE_LENGTH = 4;
|
|
22
|
-
export const VerifyPhoneDialog = JSX(
|
|
23
|
-
// eslint-disable-next-line max-lines-per-function
|
|
24
|
-
({ phone, withDescription = true, consents, onSuccess = noop, onClose = noop, formatData, reqId, isRetail = true, }) => {
|
|
15
|
+
export const VerifyPhoneDialog = JSX(({ phone, withDescription = true, consents, onSuccess = noop, onClose = noop }) => {
|
|
25
16
|
const [values, setValues] = useState(Array(CODE_LENGTH).fill(''));
|
|
26
17
|
const sessionStore = useSessionStore();
|
|
27
|
-
const [requestId, setRequestId] = useState(reqId);
|
|
28
18
|
const { handleSubmit, hasError, errorText, isLoading, timeNextReq, isSubmitButtonDisabled, setTimeNextReq, setErrorText, } = useVerifyPhoneDialogSubmit({
|
|
29
19
|
values,
|
|
30
20
|
onSuccess,
|
|
31
|
-
formatData,
|
|
32
|
-
reqId: requestId,
|
|
33
|
-
isRetail,
|
|
34
21
|
});
|
|
35
22
|
const captchaDialog = useDialog(CaptchaDialog);
|
|
36
23
|
const phoneNumber = formatPhone(phone);
|
|
@@ -39,7 +26,7 @@ export const VerifyPhoneDialog = JSX(
|
|
|
39
26
|
const response = await sendCode({
|
|
40
27
|
phoneNumber,
|
|
41
28
|
smsCodesSetName: { key: 'AUTHENTICATION' },
|
|
42
|
-
}
|
|
29
|
+
});
|
|
43
30
|
if (response) {
|
|
44
31
|
setTimeNextReq(TIME_TO_RESEND);
|
|
45
32
|
restartTimer(TIME_TO_RESEND);
|
|
@@ -48,23 +35,17 @@ export const VerifyPhoneDialog = JSX(
|
|
|
48
35
|
sendTime: Date.now(),
|
|
49
36
|
attempts: 0,
|
|
50
37
|
};
|
|
51
|
-
if (!isRetail) {
|
|
52
|
-
setRequestId(String(response));
|
|
53
|
-
}
|
|
54
38
|
}
|
|
55
39
|
else {
|
|
56
40
|
captchaDialog.open({ phoneNumber, sendCode: handleSendCode });
|
|
57
41
|
}
|
|
58
42
|
}, [phoneNumber, restartTimer, onClose]);
|
|
59
43
|
useEffect(() => {
|
|
60
|
-
if (!sessionStore.smsCode?.sendTime
|
|
44
|
+
if (!sessionStore.smsCode?.sendTime) {
|
|
61
45
|
handleSendCode();
|
|
62
46
|
}
|
|
63
47
|
}, []);
|
|
64
|
-
return (_jsx(
|
|
48
|
+
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) }));
|
|
65
49
|
});
|
|
66
|
-
const renderHeadline = (phone) => (_jsx(Headline, { className: "w-full", title: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043D\u043E\u043C\u0435\u0440 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430", description: `Мы отправили код на ${phone}`, headlineVersion: "XS", isEmbedded: true, as: "h6" }));
|
|
67
50
|
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;
|
|
68
|
-
const renderNextButton = (disabled, onClick) => (_jsx(SubmitButton, { text: "\u0414\u0430\u043B\u0435\u0435", disabled: disabled, onClick: onClick }));
|
|
69
|
-
const renderText = (timeNextReq, handleSendCode) => timeNextReq ? (_jsxs("div", { className: "flex flex-row text-l font-light text-base", 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, { className: "pl-2xs", seconds: timeNextReq })] })) : (_jsx(Button, { embedded: true, onClick: handleSendCode, children: _jsx(ButtonTitle, { children: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043A\u043E\u0434" }) }));
|
|
70
51
|
//# 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,
|
|
1
|
+
{"version":3,"file":"VerifyPhoneDialog.js","sourceRoot":"","sources":["../../../../src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
import { type LeadRequest } from '../../../api/LeadServiceAPI';
|
|
2
1
|
export declare const TIME_TO_RESEND = 180;
|
|
3
|
-
export declare const TIME_TO_MAIN_EXPIRE = 600;
|
|
4
2
|
declare type useVerifyPhoneDialogSubmitProps = {
|
|
5
3
|
values: string[];
|
|
6
4
|
onSuccess?: (smsCode?: string) => void;
|
|
7
|
-
formatData?: LeadRequest;
|
|
8
|
-
reqId?: string;
|
|
9
|
-
isRetail?: boolean;
|
|
10
5
|
};
|
|
11
6
|
export interface SmsCodeStore {
|
|
12
7
|
smsCode: {
|
|
@@ -14,7 +9,7 @@ export interface SmsCodeStore {
|
|
|
14
9
|
attempts?: number;
|
|
15
10
|
};
|
|
16
11
|
}
|
|
17
|
-
export declare const useVerifyPhoneDialogSubmit: ({ values, onSuccess,
|
|
12
|
+
export declare const useVerifyPhoneDialogSubmit: ({ values, onSuccess, }: useVerifyPhoneDialogSubmitProps) => {
|
|
18
13
|
handleSubmit: () => Promise<void>;
|
|
19
14
|
hasError: boolean;
|
|
20
15
|
errorText: string;
|
|
@@ -1,10 +1,10 @@
|
|
|
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 { getTimer } from '../../../utils/getTimer.js';
|
|
4
5
|
import { checkCode } from '../../api/checkCode.js';
|
|
5
6
|
export const TIME_TO_RESEND = 180;
|
|
6
|
-
export const
|
|
7
|
-
export const useVerifyPhoneDialogSubmit = ({ values, onSuccess, formatData, reqId, isRetail = true, }) => {
|
|
7
|
+
export const useVerifyPhoneDialogSubmit = ({ values, onSuccess, }) => {
|
|
8
8
|
const sessionStore = useSessionStore();
|
|
9
9
|
const attempts = sessionStore.smsCode?.attempts || 0;
|
|
10
10
|
const timer = Math.max(getTimer(sessionStore.smsCode?.sendTime || Date.now()), 0);
|
|
@@ -24,13 +24,11 @@ export const useVerifyPhoneDialogSubmit = ({ values, onSuccess, formatData, reqI
|
|
|
24
24
|
await checkCode({
|
|
25
25
|
smsText: values.join(''),
|
|
26
26
|
smsCodesSetName: { key: 'AUTHENTICATION' },
|
|
27
|
-
|
|
28
|
-
reqId: isRetail ? undefined : reqId,
|
|
29
|
-
}, isRetail);
|
|
27
|
+
});
|
|
30
28
|
setTimeNextReq(0);
|
|
31
29
|
resetError();
|
|
32
30
|
sessionStore.smsCode = null;
|
|
33
|
-
|
|
31
|
+
onSuccess?.(values.join(''));
|
|
34
32
|
}
|
|
35
33
|
catch {
|
|
36
34
|
setErrorText(attempts > 1 ? 'Исчерпан лимит ввода смс-кода' : 'Неверный код');
|
|
@@ -40,7 +38,7 @@ export const useVerifyPhoneDialogSubmit = ({ values, onSuccess, formatData, reqI
|
|
|
40
38
|
}
|
|
41
39
|
}, [values, attempts]);
|
|
42
40
|
useEffect(() => {
|
|
43
|
-
if (isTimeExpired
|
|
41
|
+
if (isTimeExpired) {
|
|
44
42
|
setErrorText('Код просрочен');
|
|
45
43
|
}
|
|
46
44
|
else if (attempts > 2) {
|
|
@@ -58,5 +56,4 @@ export const useVerifyPhoneDialogSubmit = ({ values, onSuccess, formatData, reqI
|
|
|
58
56
|
setErrorText,
|
|
59
57
|
};
|
|
60
58
|
};
|
|
61
|
-
const getTimer = (sendTime) => TIME_TO_RESEND - Math.floor((Date.now() - sendTime) / 1000);
|
|
62
59
|
//# sourceMappingURL=useVerifyPhoneDialogSubmit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVerifyPhoneDialogSubmit.js","sourceRoot":"","sources":["../../../../src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"useVerifyPhoneDialogSubmit.js","sourceRoot":"","sources":["../../../../src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,11 +11,11 @@ export const mockLocalStorage = async () => {
|
|
|
11
11
|
await sendCode({
|
|
12
12
|
phoneNumber: PHONE,
|
|
13
13
|
smsCodesSetName: { key: 'AUTHENTICATION' },
|
|
14
|
-
}
|
|
14
|
+
});
|
|
15
15
|
await checkCode({
|
|
16
16
|
smsCodesSetName: { key: 'AUTHENTICATION' },
|
|
17
17
|
smsText: '1234',
|
|
18
|
-
}
|
|
18
|
+
});
|
|
19
19
|
const task = {
|
|
20
20
|
taskId: globalThis.localStorage.getItem('taskId'),
|
|
21
21
|
participantId: globalThis.localStorage.getItem('participantId'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockLocalStorage.js","sourceRoot":"","sources":["../../../src/retail/utils/mockLocalStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,KAAK,GAAG,cAAc,CAAC;AAC7B,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;IACzC,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC;IAE7E,MAAM,SAAS,GACb,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC;QAC5C,CAAC,MAAM,iBAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAE3D,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"mockLocalStorage.js","sourceRoot":"","sources":["../../../src/retail/utils/mockLocalStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,KAAK,GAAG,cAAc,CAAC;AAC7B,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;IACzC,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC;IAE7E,MAAM,SAAS,GACb,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC;QAC5C,CAAC,MAAM,iBAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAE3D,MAAM,QAAQ,CAAC;QACb,WAAW,EAAE,KAAK;QAClB,eAAe,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE;KAC3C,CAAC,CAAC;IAEH,MAAM,SAAS,CAAC;QACd,eAAe,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE;QAC1C,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG;QACX,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;QACjD,aAAa,EAAE,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC;KAChE,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;QACvC,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACjF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC5B;IAED,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACxD,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAChE,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type OnCloseProps } from '../../model/OnCloseProps';
|
|
2
|
+
import { type VNode } from '../../model/VNode';
|
|
3
|
+
export interface VerifyPhoneDialogProps extends OnCloseProps {
|
|
4
|
+
isSubmitButtonDisabled: boolean;
|
|
5
|
+
onSubmit: () => Promise<void>;
|
|
6
|
+
onSendCode: () => Promise<void>;
|
|
7
|
+
timeNextReq: number;
|
|
8
|
+
values: string[];
|
|
9
|
+
onChange: (values: string[]) => void;
|
|
10
|
+
phone: string;
|
|
11
|
+
children?: VNode;
|
|
12
|
+
isLoading?: boolean;
|
|
13
|
+
errorText?: string;
|
|
14
|
+
hasError?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare const VerifyPhoneDialogLayout: import("@redneckz/uni-jsx").UNIComponent<VerifyPhoneDialogProps, any, any>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
3
|
+
import { Headline } from '../../components/Headline/Headline.js';
|
|
4
|
+
import { InputCode } from '../../retail/components/VerifyPhoneDialog/InputCode.js';
|
|
5
|
+
import { SubmitButton } from '../../retail/components/VerifyPhoneDialog/SubmitButton.js';
|
|
6
|
+
import { Button } from '../Button/Button.js';
|
|
7
|
+
import { ButtonTitle } from '../Button/ButtonTitle.js';
|
|
8
|
+
import { Dialog } from '../DialogManager/Dialog.js';
|
|
9
|
+
import { Loader } from '../Loader/Loader.js';
|
|
10
|
+
import { Timer } from '../TimerCircle/Timer.js';
|
|
11
|
+
export const VerifyPhoneDialogLayout = JSX(({ children, isLoading, isSubmitButtonDisabled, timeNextReq, onSubmit, onSendCode, values, onChange, errorText, hasError, phone, onClose, }) => (_jsx(Dialog, { maxWidth: "lg", onClose: onClose, children: _jsxs("div", { className: "flex flex-col gap-xl items-center rounded-md", children: [renderHeadline(phone), _jsx(InputCode, { values: values, setValues: onChange, errorText: errorText, hasError: hasError }), renderText(timeNextReq, onSendCode), children, renderNextButton(isSubmitButtonDisabled, onSubmit), isLoading ? _jsx(Loader, { blur: false }) : null] }) })));
|
|
12
|
+
const renderHeadline = (phone) => (_jsx(Headline, { className: "w-full", title: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043D\u043E\u043C\u0435\u0440 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430", description: `Мы отправили код на ${phone}`, headlineVersion: "XS", isEmbedded: true, as: "h6" }));
|
|
13
|
+
const renderNextButton = (disabled, onClick) => (_jsx(SubmitButton, { text: "\u0414\u0430\u043B\u0435\u0435", disabled: disabled, onClick: onClick }));
|
|
14
|
+
const renderText = (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, children: _jsx(ButtonTitle, { children: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043A\u043E\u0434" }) }));
|
|
15
|
+
//# sourceMappingURL=VerfiyPhoneDialogLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VerfiyPhoneDialogLayout.js","sourceRoot":"","sources":["../../../src/ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAG9D,OAAO,EAAE,SAAS,EAAE,MAAM,qDAAqD,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,wDAAwD,CAAC;AACtF,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAgB7C,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CACxC,CAAC,EACC,QAAQ,EACR,SAAS,EACT,sBAAsB,EACtB,WAAW,EACX,QAAQ,EACR,UAAU,EACV,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,KAAK,EACL,OAAO,GACR,EAAE,EAAE,CAAC,CACJ,KAAC,MAAM,IAAC,QAAQ,EAAC,IAAI,EAAC,OAAO,EAAE,OAAO,YACpC,eAAK,SAAS,EAAC,8CAA8C,aAC1D,cAAc,CAAC,KAAK,CAAC,EACtB,KAAC,SAAS,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAI,EAC3F,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,EACnC,QAAQ,EACR,gBAAgB,CAAC,sBAAsB,EAAE,QAAQ,CAAC,EAClD,SAAS,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,IAAI,EAAE,KAAK,GAAI,CAAC,CAAC,CAAC,IAAI,IACvC,GACC,CACV,CACF,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CACxC,KAAC,QAAQ,IACP,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAC,oJAA4B,EAClC,WAAW,EAAE,uBAAuB,KAAK,EAAE,EAC3C,eAAe,EAAC,IAAI,EACpB,UAAU,EAAE,IAAI,EAChB,EAAE,EAAC,IAAI,GACP,CACH,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,QAAiB,EAAE,OAAmB,EAAE,EAAE,CAAC,CACnE,KAAC,YAAY,IAAC,IAAI,EAAC,gCAAO,EAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAI,CACpE,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,WAAmB,EAAE,cAA0B,EAAE,EAAE,CACrE,WAAW,CAAC,CAAC,CAAC,CACZ,eAAK,SAAS,EAAC,mDAAmD,aAChE,+LAA4C,EAC5C,KAAC,KAAK,IAAC,OAAO,EAAE,WAAW,GAAI,IAC3B,CACP,CAAC,CAAC,CAAC,CACF,KAAC,MAAM,IAAC,QAAQ,QAAC,OAAO,EAAE,cAAc,YACtC,KAAC,WAAW,qHAAiC,GACtC,CACV,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTimer.js","sourceRoot":"","sources":["../../src/utils/getTimer.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAElC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,EAAE,CAC3C,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { type JSONRecord, type JSONScalar } from '@redneckz/json-op';
|
|
2
2
|
import { type Router } from '../external/useRouter';
|
|
3
|
-
import { type MainBody } from '../retail/api/checkCode';
|
|
4
3
|
import { API_BASE_URI } from './apiBaseUrl';
|
|
5
4
|
import { getPhoneBody, getSubmitBody } from './getSubmitBody';
|
|
6
5
|
|
|
@@ -18,7 +17,18 @@ export type LeadRequest = Record<string, JSONRecord | JSONScalar | null> & {
|
|
|
18
17
|
partnerName?: string;
|
|
19
18
|
};
|
|
20
19
|
|
|
21
|
-
export type CheckCodeProps =
|
|
20
|
+
export type CheckCodeProps = {
|
|
21
|
+
reqId: string;
|
|
22
|
+
code: string;
|
|
23
|
+
body: LeadRequest;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
type CheckCodeResponse = {
|
|
27
|
+
errorCode?: string;
|
|
28
|
+
errorDesc?: string;
|
|
29
|
+
reqId?: string;
|
|
30
|
+
status?: string;
|
|
31
|
+
} | null;
|
|
22
32
|
|
|
23
33
|
type VerifiedLeadRequest = {
|
|
24
34
|
requestId: string;
|
|
@@ -73,7 +83,7 @@ export function LeadServiceAPI() {
|
|
|
73
83
|
}
|
|
74
84
|
}
|
|
75
85
|
|
|
76
|
-
async function checkCode({ reqId, code, body }: CheckCodeProps) {
|
|
86
|
+
async function checkCode({ reqId, code, body }: CheckCodeProps): Promise<CheckCodeResponse> {
|
|
77
87
|
const submitBody = {
|
|
78
88
|
requestId: reqId,
|
|
79
89
|
confimationCode: code,
|
|
@@ -83,10 +93,6 @@ export function LeadServiceAPI() {
|
|
|
83
93
|
try {
|
|
84
94
|
const response = await LeadServiceFetch(`${API_BASE_URI}/confirmCorporateLead`, submitBody);
|
|
85
95
|
|
|
86
|
-
if (!response?.ok) {
|
|
87
|
-
return null;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
96
|
return await response.json();
|
|
91
97
|
} catch (e) {
|
|
92
98
|
return null;
|
|
@@ -6,7 +6,6 @@ import { useAspects } from '../../hooks/useAspects/useAspects';
|
|
|
6
6
|
import { useForm, type FormFieldRegisterer } from '../../hooks/useForm/useForm';
|
|
7
7
|
import { type FormTypeFieldDef } from '../../model/FormTypeFieldDef';
|
|
8
8
|
import { type SectionsProps } from '../../model/InputSectionsType';
|
|
9
|
-
import { VerifyPhoneDialog } from '../../retail/components/VerifyPhoneDialog/VerifyPhoneDialog';
|
|
10
9
|
import { ApplicationFormLayout } from '../../ui-kit/ApplicationFormLayout/ApplicationFormLayout';
|
|
11
10
|
import { useDialog } from '../../ui-kit/DialogManager/useDialog';
|
|
12
11
|
import { getConsentDataProcessing } from '../../ui-kit/FormField/getConsentDataProcessing';
|
|
@@ -28,6 +27,7 @@ import { getFormatData } from './getFormatData';
|
|
|
28
27
|
import { getInitialFormState, type FormState } from './getInitialFormState';
|
|
29
28
|
import { renderAgreementSubmit } from './renderAgreementSubmit';
|
|
30
29
|
import { renderContacts } from './renderContacts';
|
|
30
|
+
import { VerifyPhoneDialog } from './VerifyPhoneDialog';
|
|
31
31
|
|
|
32
32
|
export interface ApplicationFormProps extends ApplicationFormContent, UniBlockProps {}
|
|
33
33
|
|
|
@@ -84,10 +84,8 @@ export const ApplicationForm = UniBlock<ApplicationFormProps>(
|
|
|
84
84
|
|
|
85
85
|
verifyPhoneDialog.open({
|
|
86
86
|
phone,
|
|
87
|
-
withDescription: false,
|
|
88
87
|
formatData,
|
|
89
88
|
reqId: String(response),
|
|
90
|
-
isRetail: false,
|
|
91
89
|
onSuccess: () => {
|
|
92
90
|
verifyPhoneDialog.close();
|
|
93
91
|
responseTypeDialog.open({ ok: true, typeForm });
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { useCallback, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
|
+
import { LeadServiceAPI, type LeadRequest } from '../../api/LeadServiceAPI';
|
|
4
|
+
import type { OnCloseProps } from '../../model/OnCloseProps';
|
|
5
|
+
import { useCountDownTimer } from '../../ui-kit/TimerCircle/useCountDownTimer';
|
|
6
|
+
import { VerifyPhoneDialogLayout } from '../../ui-kit/VerifyPhoneDialogLayout/VerfiyPhoneDialogLayout';
|
|
7
|
+
import { formatPhone } from '../../utils/formatPhone';
|
|
8
|
+
import { noop } from '../../utils/noop';
|
|
9
|
+
import { useVerifyPhoneDialogSubmit } from './useVerifyPhoneDialogSubmit';
|
|
10
|
+
const API = LeadServiceAPI();
|
|
11
|
+
|
|
12
|
+
const CODE_LENGTH = 4;
|
|
13
|
+
export const TIME_TO_RESEND = 180;
|
|
14
|
+
|
|
15
|
+
export interface VerifyPhoneDialogProps extends OnCloseProps {
|
|
16
|
+
phone: string;
|
|
17
|
+
onSuccess?: (smsCode?: string) => void;
|
|
18
|
+
formatData?: LeadRequest;
|
|
19
|
+
reqId?: string;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export const VerifyPhoneDialog = JSX<VerifyPhoneDialogProps>(
|
|
23
|
+
({ phone, onSuccess = noop, onClose = noop, formatData = {}, reqId }) => {
|
|
24
|
+
const [values, setValues] = useState<string[]>(Array(CODE_LENGTH).fill('') as string[]);
|
|
25
|
+
const [requestId, setRequestId] = useState(reqId);
|
|
26
|
+
|
|
27
|
+
const {
|
|
28
|
+
handleSubmit,
|
|
29
|
+
hasError,
|
|
30
|
+
errorText,
|
|
31
|
+
isLoading,
|
|
32
|
+
timeNextReq,
|
|
33
|
+
isSubmitButtonDisabled,
|
|
34
|
+
setTimeNextReq,
|
|
35
|
+
setErrorText,
|
|
36
|
+
} = useVerifyPhoneDialogSubmit({
|
|
37
|
+
values,
|
|
38
|
+
onSuccess,
|
|
39
|
+
formatData,
|
|
40
|
+
reqId: requestId ?? '',
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
const phoneNumber = formatPhone(phone);
|
|
44
|
+
const restartTimer = useCountDownTimer({ seconds: timeNextReq, onTick: setTimeNextReq });
|
|
45
|
+
|
|
46
|
+
const handleSendCode = useCallback(async () => {
|
|
47
|
+
const response = await API.sendCode({ phone: phoneNumber });
|
|
48
|
+
|
|
49
|
+
if (response) {
|
|
50
|
+
setTimeNextReq(TIME_TO_RESEND);
|
|
51
|
+
restartTimer(TIME_TO_RESEND);
|
|
52
|
+
setErrorText('');
|
|
53
|
+
setRequestId(String(response));
|
|
54
|
+
}
|
|
55
|
+
}, [phoneNumber, restartTimer, onClose]);
|
|
56
|
+
|
|
57
|
+
return (
|
|
58
|
+
<VerifyPhoneDialogLayout
|
|
59
|
+
isSubmitButtonDisabled={isSubmitButtonDisabled}
|
|
60
|
+
onSubmit={handleSubmit}
|
|
61
|
+
onSendCode={handleSendCode}
|
|
62
|
+
timeNextReq={timeNextReq}
|
|
63
|
+
values={values}
|
|
64
|
+
onChange={setValues}
|
|
65
|
+
phone={phone}
|
|
66
|
+
isLoading={isLoading}
|
|
67
|
+
errorText={errorText}
|
|
68
|
+
hasError={hasError}
|
|
69
|
+
onClose={onClose}
|
|
70
|
+
/>
|
|
71
|
+
);
|
|
72
|
+
},
|
|
73
|
+
);
|