@redneckz/wildless-cms-uni-blocks 0.14.865 → 0.14.866
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/bundle.umd.js +43 -26
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +7 -2
- package/bundle/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +1 -2
- package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +7 -2
- package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +19 -10
- package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
- package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +1 -2
- package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +21 -10
- package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
- package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +7 -2
- package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +18 -9
- package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
- package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +1 -2
- package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +21 -10
- package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +43 -26
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +7 -2
- package/mobile/bundle/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +1 -2
- package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +7 -2
- package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +19 -10
- package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
- package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +1 -2
- package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +21 -10
- package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
- package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +7 -2
- package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +18 -9
- package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
- package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +1 -2
- package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +21 -10
- package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
- package/mobile/src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx +31 -27
- package/mobile/src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +22 -10
- package/package.json +1 -1
- package/src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx +31 -27
- package/src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +22 -10
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import type { OnCloseProps } from '../../../model/OnCloseProps';
|
|
2
|
+
export declare const TIME_TO_RESEND = 180;
|
|
2
3
|
export interface VerifyPhoneDialogProps extends OnCloseProps {
|
|
3
4
|
phone: string;
|
|
4
|
-
code?: boolean;
|
|
5
5
|
withDescription?: boolean;
|
|
6
|
-
codeLength?: number;
|
|
7
6
|
consents?: string[];
|
|
8
7
|
onSuccess?: (smsCode?: string) => void;
|
|
9
8
|
}
|
|
9
|
+
export interface SmsCodeStore {
|
|
10
|
+
smsCode: {
|
|
11
|
+
sendTime?: number;
|
|
12
|
+
attempts?: number;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
10
15
|
export declare const VerifyPhoneDialog: import("@redneckz/uni-jsx").UNIComponent<VerifyPhoneDialogProps, any, any>;
|
|
@@ -10,7 +10,6 @@ export declare const useVerifyPhoneDialogSubmit: ({ values, onSuccess, }: useVer
|
|
|
10
10
|
timeNextReq: number;
|
|
11
11
|
isSubmitButtonDisabled: boolean;
|
|
12
12
|
setTimeNextReq: (value: number | ((prevState: number) => number)) => void;
|
|
13
|
-
|
|
14
|
-
setAttempts: (value: number | ((prevState: number) => number)) => void;
|
|
13
|
+
setErrorText: (value: string | ((prevState: string) => string)) => void;
|
|
15
14
|
};
|
|
16
15
|
export {};
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import type { OnCloseProps } from '../../../model/OnCloseProps';
|
|
2
|
+
export declare const TIME_TO_RESEND = 180;
|
|
2
3
|
export interface VerifyPhoneDialogProps extends OnCloseProps {
|
|
3
4
|
phone: string;
|
|
4
|
-
code?: boolean;
|
|
5
5
|
withDescription?: boolean;
|
|
6
|
-
codeLength?: number;
|
|
7
6
|
consents?: string[];
|
|
8
7
|
onSuccess?: (smsCode?: string) => void;
|
|
9
8
|
}
|
|
9
|
+
export interface SmsCodeStore {
|
|
10
|
+
smsCode: {
|
|
11
|
+
sendTime?: number;
|
|
12
|
+
attempts?: number;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
10
15
|
export declare const VerifyPhoneDialog: import("@redneckz/uni-jsx").UNIComponent<VerifyPhoneDialogProps, any, any>;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.VerifyPhoneDialog = void 0;
|
|
2
|
+
exports.VerifyPhoneDialog = exports.TIME_TO_RESEND = void 0;
|
|
3
3
|
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
4
|
/* eslint-disable max-lines-per-function */
|
|
5
5
|
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
6
6
|
const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
|
|
7
|
+
const useSessionStore_1 = require("@redneckz/uni-jsx/lib/Store/useSessionStore");
|
|
7
8
|
const Headline_1 = require("../../../components/Headline/Headline");
|
|
8
9
|
const Button_1 = require("../../../ui-kit/Button/Button");
|
|
9
10
|
const ButtonTitle_1 = require("../../../ui-kit/Button/ButtonTitle");
|
|
@@ -20,9 +21,12 @@ const CaptchaDialog_1 = require("../CaptchaDialog/CaptchaDialog");
|
|
|
20
21
|
const InputCode_1 = require("./InputCode");
|
|
21
22
|
const SubmitButton_1 = require("./SubmitButton");
|
|
22
23
|
const useVerifyPhoneDialogSubmit_1 = require("./useVerifyPhoneDialogSubmit");
|
|
23
|
-
exports.
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
exports.TIME_TO_RESEND = 180;
|
|
25
|
+
const CODE_LENGTH = 4;
|
|
26
|
+
exports.VerifyPhoneDialog = (0, uni_jsx_1.JSX)(({ phone, withDescription = true, consents, onSuccess = noop_1.noop, onClose = noop_1.noop }) => {
|
|
27
|
+
const [values, setValues] = (0, hooks_1.useState)(Array(CODE_LENGTH).fill(''));
|
|
28
|
+
const sessionStore = (0, useSessionStore_1.useSessionStore)();
|
|
29
|
+
const { handleSubmit, hasError, errorText, isLoading, timeNextReq, isSubmitButtonDisabled, setTimeNextReq, setErrorText, } = (0, useVerifyPhoneDialogSubmit_1.useVerifyPhoneDialogSubmit)({ values, onSuccess });
|
|
26
30
|
const captchaDialog = (0, useDialog_1.useDialog)(CaptchaDialog_1.CaptchaDialog);
|
|
27
31
|
const phoneNumber = (0, formatPhone_1.formatPhone)(phone);
|
|
28
32
|
const restartTimer = (0, useCountDownTimer_1.useCountDownTimer)({ seconds: timeNextReq, onTick: setTimeNextReq });
|
|
@@ -32,19 +36,24 @@ exports.VerifyPhoneDialog = (0, uni_jsx_1.JSX)(({ phone, code = true, withDescri
|
|
|
32
36
|
smsCodesSetName: { key: 'AUTHENTICATION' },
|
|
33
37
|
});
|
|
34
38
|
if (isSuccessSendCode) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
+
setTimeNextReq(exports.TIME_TO_RESEND);
|
|
40
|
+
restartTimer(exports.TIME_TO_RESEND);
|
|
41
|
+
setErrorText('');
|
|
42
|
+
sessionStore.smsCode = {
|
|
43
|
+
sendTime: Date.now(),
|
|
44
|
+
attempts: 0,
|
|
45
|
+
};
|
|
39
46
|
}
|
|
40
47
|
else {
|
|
41
48
|
captchaDialog.open({ phoneNumber, sendCode: handleSendCode });
|
|
42
49
|
}
|
|
43
50
|
}, [phoneNumber, restartTimer, onClose]);
|
|
44
51
|
(0, hooks_1.useEffect)(() => {
|
|
45
|
-
|
|
52
|
+
if (!sessionStore.smsCode?.sendTime) {
|
|
53
|
+
handleSendCode();
|
|
54
|
+
}
|
|
46
55
|
}, []);
|
|
47
|
-
return ((0, jsx_runtime_1.jsx)(Dialog_1.Dialog, { className: "my-6xl max-w-3xl w-full min-h-fit mx-auto rounded-xl p-m", onClose: onClose, children: (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col gap-xl items-center rounded-md", children: [(0, jsx_runtime_1.jsx)(Headline_1.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" }),
|
|
56
|
+
return ((0, jsx_runtime_1.jsx)(Dialog_1.Dialog, { className: "my-6xl max-w-3xl w-full min-h-fit mx-auto rounded-xl p-m", onClose: onClose, children: (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col gap-xl items-center rounded-md", children: [(0, jsx_runtime_1.jsx)(Headline_1.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" }), (0, jsx_runtime_1.jsx)(InputCode_1.InputCode, { values: values, setValues: setValues, errorText: errorText, hasError: hasError }), renderText(timeNextReq, handleSendCode), withDescription ? ((0, jsx_runtime_1.jsxs)(RichText_1.RichText, { itemSize: "list-s", children: [(0, jsx_runtime_1.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: " }), (0, jsx_runtime_1.jsx)("ul", { children: consents?.map((_, i) => ((0, jsx_runtime_1.jsx)("li", { children: _ }, `${_}-${i}`))) })] })) : null, renderNextButton(isSubmitButtonDisabled, handleSubmit), isLoading ? (0, jsx_runtime_1.jsx)(Loader_1.Loader, { blur: false }) : null] }) }));
|
|
48
57
|
});
|
|
49
58
|
const renderNextButton = (disabled, onClick) => ((0, jsx_runtime_1.jsx)(SubmitButton_1.SubmitButton, { text: "\u0414\u0430\u043B\u0435\u0435", disabled: disabled, onClick: onClick }));
|
|
50
59
|
const renderText = (timeNextReq, handleSendCode) => timeNextReq ? ((0, jsx_runtime_1.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", (0, jsx_runtime_1.jsx)(Timer_1.Timer, { className: "pl-2xs", seconds: timeNextReq })] })) : ((0, jsx_runtime_1.jsx)(Button_1.Button, { embedded: true, onClick: handleSendCode, children: (0, jsx_runtime_1.jsx)(ButtonTitle_1.ButtonTitle, { children: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043A\u043E\u0434" }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VerifyPhoneDialog.js","sourceRoot":"","sources":["../../../../src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx"],"names":[],"mappings":";;;AAAA,2CAA2C;AAC3C,+CAAwC;AACxC,uDAA+E;AAE/E,oEAAiE;AAEjE,0DAAuD;AACvD,oEAAiE;AACjE,iEAA8D;AAC9D,uEAAoE;AACpE,0DAAuD;AACvD,gEAA6D;AAC7D,6DAA0D;AAC1D,qFAAkF;AAClF,4DAAyD;AACzD,8CAA2C;AAC3C,iDAA8C;AAC9C,kEAA+D;AAC/D,2CAAwC;AACxC,iDAA8C;AAC9C,6EAA0E;
|
|
1
|
+
{"version":3,"file":"VerifyPhoneDialog.js","sourceRoot":"","sources":["../../../../src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,6 @@ export declare const useVerifyPhoneDialogSubmit: ({ values, onSuccess, }: useVer
|
|
|
10
10
|
timeNextReq: number;
|
|
11
11
|
isSubmitButtonDisabled: boolean;
|
|
12
12
|
setTimeNextReq: (value: number | ((prevState: number) => number)) => void;
|
|
13
|
-
|
|
14
|
-
setAttempts: (value: number | ((prevState: number) => number)) => void;
|
|
13
|
+
setErrorText: (value: string | ((prevState: string) => string)) => void;
|
|
15
14
|
};
|
|
16
15
|
export {};
|
|
@@ -2,27 +2,33 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
2
2
|
exports.useVerifyPhoneDialogSubmit = void 0;
|
|
3
3
|
const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
|
|
4
4
|
const useBool_1 = require("@redneckz/uni-jsx/lib/hooks/useBool");
|
|
5
|
+
const useSessionStore_1 = require("@redneckz/uni-jsx/lib/Store/useSessionStore");
|
|
5
6
|
const checkCode_1 = require("../../api/checkCode");
|
|
7
|
+
const VerifyPhoneDialog_1 = require("./VerifyPhoneDialog");
|
|
6
8
|
const useVerifyPhoneDialogSubmit = ({ values, onSuccess, }) => {
|
|
9
|
+
const sessionStore = (0, useSessionStore_1.useSessionStore)();
|
|
10
|
+
const attempts = sessionStore.smsCode?.attempts || 0;
|
|
11
|
+
const timer = Math.max(getTimer(sessionStore.smsCode?.sendTime || Date.now()), 0);
|
|
7
12
|
const [errorText, setErrorText] = (0, hooks_1.useState)('');
|
|
8
13
|
const [isLoading, { setTrue: startLoading, setFalse: endLoading }] = (0, useBool_1.useBool)(false);
|
|
9
|
-
const [timeNextReq, setTimeNextReq] = (0, hooks_1.useState)(
|
|
10
|
-
const [isTimerStarted, setIsTimerStarted] = (0, hooks_1.useState)(false);
|
|
11
|
-
const [attempts, setAttempts] = (0, hooks_1.useState)(0);
|
|
14
|
+
const [timeNextReq, setTimeNextReq] = (0, hooks_1.useState)(timer);
|
|
12
15
|
const resetError = (0, hooks_1.useCallback)(() => setErrorText(''), []);
|
|
13
|
-
const isTimeExpired = Boolean(timeNextReq === 0 &&
|
|
16
|
+
const isTimeExpired = Boolean(timeNextReq === 0 && sessionStore.smsCode?.sendTime);
|
|
14
17
|
const isSubmitButtonDisabled = attempts > 2 || isTimeExpired || !values.every(Boolean);
|
|
15
18
|
const handleSubmit = (0, hooks_1.useCallback)(async () => {
|
|
16
19
|
try {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
sessionStore.smsCode = {
|
|
21
|
+
...sessionStore.smsCode,
|
|
22
|
+
attempts: attempts + 1,
|
|
23
|
+
};
|
|
20
24
|
startLoading();
|
|
21
25
|
await (0, checkCode_1.checkCode)({
|
|
22
26
|
smsText: values.join(''),
|
|
23
27
|
smsCodesSetName: { key: 'AUTHENTICATION' },
|
|
24
28
|
});
|
|
29
|
+
setTimeNextReq(0);
|
|
25
30
|
resetError();
|
|
31
|
+
sessionStore.smsCode = null;
|
|
26
32
|
await onSuccess?.(values.join(''));
|
|
27
33
|
}
|
|
28
34
|
catch {
|
|
@@ -33,7 +39,12 @@ const useVerifyPhoneDialogSubmit = ({ values, onSuccess, }) => {
|
|
|
33
39
|
}
|
|
34
40
|
}, [values, attempts]);
|
|
35
41
|
(0, hooks_1.useEffect)(() => {
|
|
36
|
-
|
|
42
|
+
if (isTimeExpired) {
|
|
43
|
+
setErrorText('Код просрочен');
|
|
44
|
+
}
|
|
45
|
+
else if (attempts > 2) {
|
|
46
|
+
setErrorText('Исчерпан лимит ввода смс-кода');
|
|
47
|
+
}
|
|
37
48
|
}, [isTimeExpired]);
|
|
38
49
|
return {
|
|
39
50
|
handleSubmit,
|
|
@@ -43,9 +54,9 @@ const useVerifyPhoneDialogSubmit = ({ values, onSuccess, }) => {
|
|
|
43
54
|
timeNextReq,
|
|
44
55
|
isSubmitButtonDisabled,
|
|
45
56
|
setTimeNextReq,
|
|
46
|
-
|
|
47
|
-
setAttempts,
|
|
57
|
+
setErrorText,
|
|
48
58
|
};
|
|
49
59
|
};
|
|
50
60
|
exports.useVerifyPhoneDialogSubmit = useVerifyPhoneDialogSubmit;
|
|
61
|
+
const getTimer = (sendTime) => VerifyPhoneDialog_1.TIME_TO_RESEND - Math.floor((Date.now() - sendTime) / 1000);
|
|
51
62
|
//# sourceMappingURL=useVerifyPhoneDialogSubmit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVerifyPhoneDialogSubmit.js","sourceRoot":"","sources":["../../../../src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx"],"names":[],"mappings":";;AAAA,uDAA+E;AAC/E,iEAA8D;AAC9D,mDAAgD;
|
|
1
|
+
{"version":3,"file":"useVerifyPhoneDialogSubmit.js","sourceRoot":"","sources":["../../../../src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import type { OnCloseProps } from '../../../model/OnCloseProps';
|
|
2
|
+
export declare const TIME_TO_RESEND = 180;
|
|
2
3
|
export interface VerifyPhoneDialogProps extends OnCloseProps {
|
|
3
4
|
phone: string;
|
|
4
|
-
code?: boolean;
|
|
5
5
|
withDescription?: boolean;
|
|
6
|
-
codeLength?: number;
|
|
7
6
|
consents?: string[];
|
|
8
7
|
onSuccess?: (smsCode?: string) => void;
|
|
9
8
|
}
|
|
9
|
+
export interface SmsCodeStore {
|
|
10
|
+
smsCode: {
|
|
11
|
+
sendTime?: number;
|
|
12
|
+
attempts?: number;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
10
15
|
export declare const VerifyPhoneDialog: import("@redneckz/uni-jsx").UNIComponent<VerifyPhoneDialogProps, any, any>;
|
|
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
|
2
2
|
/* eslint-disable max-lines-per-function */
|
|
3
3
|
import { JSX } from '@redneckz/uni-jsx';
|
|
4
4
|
import { useCallback, useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
5
|
+
import { useSessionStore } from '@redneckz/uni-jsx/lib/Store/useSessionStore';
|
|
5
6
|
import { Headline } from '../../../components/Headline/Headline.js';
|
|
6
7
|
import { Button } from '../../../ui-kit/Button/Button.js';
|
|
7
8
|
import { ButtonTitle } from '../../../ui-kit/Button/ButtonTitle.js';
|
|
@@ -18,9 +19,12 @@ import { CaptchaDialog } from '../CaptchaDialog/CaptchaDialog.js';
|
|
|
18
19
|
import { InputCode } from './InputCode.js';
|
|
19
20
|
import { SubmitButton } from './SubmitButton.js';
|
|
20
21
|
import { useVerifyPhoneDialogSubmit } from './useVerifyPhoneDialogSubmit.js';
|
|
21
|
-
export const
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
export const TIME_TO_RESEND = 180;
|
|
23
|
+
const CODE_LENGTH = 4;
|
|
24
|
+
export const VerifyPhoneDialog = JSX(({ phone, withDescription = true, consents, onSuccess = noop, onClose = noop }) => {
|
|
25
|
+
const [values, setValues] = useState(Array(CODE_LENGTH).fill(''));
|
|
26
|
+
const sessionStore = useSessionStore();
|
|
27
|
+
const { handleSubmit, hasError, errorText, isLoading, timeNextReq, isSubmitButtonDisabled, setTimeNextReq, setErrorText, } = useVerifyPhoneDialogSubmit({ values, onSuccess });
|
|
24
28
|
const captchaDialog = useDialog(CaptchaDialog);
|
|
25
29
|
const phoneNumber = formatPhone(phone);
|
|
26
30
|
const restartTimer = useCountDownTimer({ seconds: timeNextReq, onTick: setTimeNextReq });
|
|
@@ -30,19 +34,24 @@ export const VerifyPhoneDialog = JSX(({ phone, code = true, withDescription = tr
|
|
|
30
34
|
smsCodesSetName: { key: 'AUTHENTICATION' },
|
|
31
35
|
});
|
|
32
36
|
if (isSuccessSendCode) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
+
setTimeNextReq(TIME_TO_RESEND);
|
|
38
|
+
restartTimer(TIME_TO_RESEND);
|
|
39
|
+
setErrorText('');
|
|
40
|
+
sessionStore.smsCode = {
|
|
41
|
+
sendTime: Date.now(),
|
|
42
|
+
attempts: 0,
|
|
43
|
+
};
|
|
37
44
|
}
|
|
38
45
|
else {
|
|
39
46
|
captchaDialog.open({ phoneNumber, sendCode: handleSendCode });
|
|
40
47
|
}
|
|
41
48
|
}, [phoneNumber, restartTimer, onClose]);
|
|
42
49
|
useEffect(() => {
|
|
43
|
-
|
|
50
|
+
if (!sessionStore.smsCode?.sendTime) {
|
|
51
|
+
handleSendCode();
|
|
52
|
+
}
|
|
44
53
|
}, []);
|
|
45
|
-
return (_jsx(Dialog, { className: "my-6xl max-w-3xl w-full min-h-fit mx-auto rounded-xl p-m", onClose: onClose, children: _jsxs("div", { className: "flex flex-col gap-xl items-center rounded-md", children: [_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" }),
|
|
54
|
+
return (_jsx(Dialog, { className: "my-6xl max-w-3xl w-full min-h-fit mx-auto rounded-xl p-m", onClose: onClose, children: _jsxs("div", { className: "flex flex-col gap-xl items-center rounded-md", children: [_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" }), _jsx(InputCode, { values: values, setValues: setValues, errorText: errorText, hasError: hasError }), renderText(timeNextReq, handleSendCode), withDescription ? (_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, renderNextButton(isSubmitButtonDisabled, handleSubmit), isLoading ? _jsx(Loader, { blur: false }) : null] }) }));
|
|
46
55
|
});
|
|
47
56
|
const renderNextButton = (disabled, onClick) => (_jsx(SubmitButton, { text: "\u0414\u0430\u043B\u0435\u0435", disabled: disabled, onClick: onClick }));
|
|
48
57
|
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" }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VerifyPhoneDialog.js","sourceRoot":"","sources":["../../../../src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,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,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"VerifyPhoneDialog.js","sourceRoot":"","sources":["../../../../src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,6 @@ export declare const useVerifyPhoneDialogSubmit: ({ values, onSuccess, }: useVer
|
|
|
10
10
|
timeNextReq: number;
|
|
11
11
|
isSubmitButtonDisabled: boolean;
|
|
12
12
|
setTimeNextReq: (value: number | ((prevState: number) => number)) => void;
|
|
13
|
-
|
|
14
|
-
setAttempts: (value: number | ((prevState: number) => number)) => void;
|
|
13
|
+
setErrorText: (value: string | ((prevState: string) => string)) => void;
|
|
15
14
|
};
|
|
16
15
|
export {};
|
|
@@ -1,26 +1,32 @@
|
|
|
1
1
|
import { useCallback, useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
2
2
|
import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
|
|
3
|
+
import { useSessionStore } from '@redneckz/uni-jsx/lib/Store/useSessionStore';
|
|
3
4
|
import { checkCode } from '../../api/checkCode.js';
|
|
5
|
+
import { TIME_TO_RESEND } from './VerifyPhoneDialog.js';
|
|
4
6
|
export const useVerifyPhoneDialogSubmit = ({ values, onSuccess, }) => {
|
|
7
|
+
const sessionStore = useSessionStore();
|
|
8
|
+
const attempts = sessionStore.smsCode?.attempts || 0;
|
|
9
|
+
const timer = Math.max(getTimer(sessionStore.smsCode?.sendTime || Date.now()), 0);
|
|
5
10
|
const [errorText, setErrorText] = useState('');
|
|
6
11
|
const [isLoading, { setTrue: startLoading, setFalse: endLoading }] = useBool(false);
|
|
7
|
-
const [timeNextReq, setTimeNextReq] = useState(
|
|
8
|
-
const [isTimerStarted, setIsTimerStarted] = useState(false);
|
|
9
|
-
const [attempts, setAttempts] = useState(0);
|
|
12
|
+
const [timeNextReq, setTimeNextReq] = useState(timer);
|
|
10
13
|
const resetError = useCallback(() => setErrorText(''), []);
|
|
11
|
-
const isTimeExpired = Boolean(timeNextReq === 0 &&
|
|
14
|
+
const isTimeExpired = Boolean(timeNextReq === 0 && sessionStore.smsCode?.sendTime);
|
|
12
15
|
const isSubmitButtonDisabled = attempts > 2 || isTimeExpired || !values.every(Boolean);
|
|
13
16
|
const handleSubmit = useCallback(async () => {
|
|
14
17
|
try {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
sessionStore.smsCode = {
|
|
19
|
+
...sessionStore.smsCode,
|
|
20
|
+
attempts: attempts + 1,
|
|
21
|
+
};
|
|
18
22
|
startLoading();
|
|
19
23
|
await checkCode({
|
|
20
24
|
smsText: values.join(''),
|
|
21
25
|
smsCodesSetName: { key: 'AUTHENTICATION' },
|
|
22
26
|
});
|
|
27
|
+
setTimeNextReq(0);
|
|
23
28
|
resetError();
|
|
29
|
+
sessionStore.smsCode = null;
|
|
24
30
|
await onSuccess?.(values.join(''));
|
|
25
31
|
}
|
|
26
32
|
catch {
|
|
@@ -31,7 +37,12 @@ export const useVerifyPhoneDialogSubmit = ({ values, onSuccess, }) => {
|
|
|
31
37
|
}
|
|
32
38
|
}, [values, attempts]);
|
|
33
39
|
useEffect(() => {
|
|
34
|
-
|
|
40
|
+
if (isTimeExpired) {
|
|
41
|
+
setErrorText('Код просрочен');
|
|
42
|
+
}
|
|
43
|
+
else if (attempts > 2) {
|
|
44
|
+
setErrorText('Исчерпан лимит ввода смс-кода');
|
|
45
|
+
}
|
|
35
46
|
}, [isTimeExpired]);
|
|
36
47
|
return {
|
|
37
48
|
handleSubmit,
|
|
@@ -41,8 +52,8 @@ export const useVerifyPhoneDialogSubmit = ({ values, onSuccess, }) => {
|
|
|
41
52
|
timeNextReq,
|
|
42
53
|
isSubmitButtonDisabled,
|
|
43
54
|
setTimeNextReq,
|
|
44
|
-
|
|
45
|
-
setAttempts,
|
|
55
|
+
setErrorText,
|
|
46
56
|
};
|
|
47
57
|
};
|
|
58
|
+
const getTimer = (sendTime) => TIME_TO_RESEND - Math.floor((Date.now() - sendTime) / 1000);
|
|
48
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,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"useVerifyPhoneDialogSubmit.js","sourceRoot":"","sources":["../../../../src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5042,6 +5042,12 @@
|
|
|
5042
5042
|
|
|
5043
5043
|
const updateUserTask = (body) => doRequest('/user-data/updateUserTask', 'PUT', body);
|
|
5044
5044
|
|
|
5045
|
+
const sessionStore = new Store(); // sessionStorage cache
|
|
5046
|
+
replicate(sessionStore, new StorageAdapter(globalThis?.sessionStorage));
|
|
5047
|
+
function useSessionStore() {
|
|
5048
|
+
return useStore(sessionStore);
|
|
5049
|
+
}
|
|
5050
|
+
|
|
5045
5051
|
const Timer = JSX(({ className, seconds }) => (jsx("span", { className: className, children: formatTimer(seconds) })));
|
|
5046
5052
|
const formatTimer = (seconds) => {
|
|
5047
5053
|
const minutes = Math.floor(seconds / 60);
|
|
@@ -5200,25 +5206,29 @@
|
|
|
5200
5206
|
};
|
|
5201
5207
|
|
|
5202
5208
|
const useVerifyPhoneDialogSubmit = ({ values, onSuccess, }) => {
|
|
5209
|
+
const sessionStore = useSessionStore();
|
|
5210
|
+
const attempts = sessionStore.smsCode?.attempts || 0;
|
|
5211
|
+
const timer = Math.max(getTimer(sessionStore.smsCode?.sendTime || Date.now()), 0);
|
|
5203
5212
|
const [errorText, setErrorText] = useState('');
|
|
5204
5213
|
const [isLoading, { setTrue: startLoading, setFalse: endLoading }] = useBool(false);
|
|
5205
|
-
const [timeNextReq, setTimeNextReq] = useState(
|
|
5206
|
-
const [isTimerStarted, setIsTimerStarted] = useState(false);
|
|
5207
|
-
const [attempts, setAttempts] = useState(0);
|
|
5214
|
+
const [timeNextReq, setTimeNextReq] = useState(timer);
|
|
5208
5215
|
const resetError = useCallback(() => setErrorText(''), []);
|
|
5209
|
-
const isTimeExpired = Boolean(timeNextReq === 0 &&
|
|
5216
|
+
const isTimeExpired = Boolean(timeNextReq === 0 && sessionStore.smsCode?.sendTime);
|
|
5210
5217
|
const isSubmitButtonDisabled = attempts > 2 || isTimeExpired || !values.every(Boolean);
|
|
5211
5218
|
const handleSubmit = useCallback(async () => {
|
|
5212
5219
|
try {
|
|
5213
|
-
|
|
5214
|
-
|
|
5215
|
-
|
|
5220
|
+
sessionStore.smsCode = {
|
|
5221
|
+
...sessionStore.smsCode,
|
|
5222
|
+
attempts: attempts + 1,
|
|
5223
|
+
};
|
|
5216
5224
|
startLoading();
|
|
5217
5225
|
await checkCode({
|
|
5218
5226
|
smsText: values.join(''),
|
|
5219
5227
|
smsCodesSetName: { key: 'AUTHENTICATION' },
|
|
5220
5228
|
});
|
|
5229
|
+
setTimeNextReq(0);
|
|
5221
5230
|
resetError();
|
|
5231
|
+
sessionStore.smsCode = null;
|
|
5222
5232
|
await onSuccess?.(values.join(''));
|
|
5223
5233
|
}
|
|
5224
5234
|
catch {
|
|
@@ -5229,7 +5239,12 @@
|
|
|
5229
5239
|
}
|
|
5230
5240
|
}, [values, attempts]);
|
|
5231
5241
|
useEffect(() => {
|
|
5232
|
-
|
|
5242
|
+
if (isTimeExpired) {
|
|
5243
|
+
setErrorText('Код просрочен');
|
|
5244
|
+
}
|
|
5245
|
+
else if (attempts > 2) {
|
|
5246
|
+
setErrorText('Исчерпан лимит ввода смс-кода');
|
|
5247
|
+
}
|
|
5233
5248
|
}, [isTimeExpired]);
|
|
5234
5249
|
return {
|
|
5235
5250
|
handleSubmit,
|
|
@@ -5239,14 +5254,17 @@
|
|
|
5239
5254
|
timeNextReq,
|
|
5240
5255
|
isSubmitButtonDisabled,
|
|
5241
5256
|
setTimeNextReq,
|
|
5242
|
-
|
|
5243
|
-
setAttempts,
|
|
5257
|
+
setErrorText,
|
|
5244
5258
|
};
|
|
5245
5259
|
};
|
|
5260
|
+
const getTimer = (sendTime) => TIME_TO_RESEND - Math.floor((Date.now() - sendTime) / 1000);
|
|
5246
5261
|
|
|
5247
|
-
const
|
|
5248
|
-
|
|
5249
|
-
|
|
5262
|
+
const TIME_TO_RESEND = 180;
|
|
5263
|
+
const CODE_LENGTH = 4;
|
|
5264
|
+
const VerifyPhoneDialog = JSX(({ phone, withDescription = true, consents, onSuccess = noop, onClose = noop }) => {
|
|
5265
|
+
const [values, setValues] = useState(Array(CODE_LENGTH).fill(''));
|
|
5266
|
+
const sessionStore = useSessionStore();
|
|
5267
|
+
const { handleSubmit, hasError, errorText, isLoading, timeNextReq, isSubmitButtonDisabled, setTimeNextReq, setErrorText, } = useVerifyPhoneDialogSubmit({ values, onSuccess });
|
|
5250
5268
|
const captchaDialog = useDialog(CaptchaDialog);
|
|
5251
5269
|
const phoneNumber = formatPhone(phone);
|
|
5252
5270
|
const restartTimer = useCountDownTimer({ seconds: timeNextReq, onTick: setTimeNextReq });
|
|
@@ -5256,19 +5274,24 @@
|
|
|
5256
5274
|
smsCodesSetName: { key: 'AUTHENTICATION' },
|
|
5257
5275
|
});
|
|
5258
5276
|
if (isSuccessSendCode) {
|
|
5259
|
-
|
|
5260
|
-
|
|
5261
|
-
|
|
5262
|
-
|
|
5277
|
+
setTimeNextReq(TIME_TO_RESEND);
|
|
5278
|
+
restartTimer(TIME_TO_RESEND);
|
|
5279
|
+
setErrorText('');
|
|
5280
|
+
sessionStore.smsCode = {
|
|
5281
|
+
sendTime: Date.now(),
|
|
5282
|
+
attempts: 0,
|
|
5283
|
+
};
|
|
5263
5284
|
}
|
|
5264
5285
|
else {
|
|
5265
5286
|
captchaDialog.open({ phoneNumber, sendCode: handleSendCode });
|
|
5266
5287
|
}
|
|
5267
5288
|
}, [phoneNumber, restartTimer, onClose]);
|
|
5268
5289
|
useEffect(() => {
|
|
5269
|
-
|
|
5290
|
+
if (!sessionStore.smsCode?.sendTime) {
|
|
5291
|
+
handleSendCode();
|
|
5292
|
+
}
|
|
5270
5293
|
}, []);
|
|
5271
|
-
return (jsx(Dialog, { className: "my-6xl max-w-3xl w-full min-h-fit mx-auto rounded-xl p-m", onClose: onClose, children: jsxs("div", { className: "flex flex-col gap-xl items-center rounded-md", children: [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" }),
|
|
5294
|
+
return (jsx(Dialog, { className: "my-6xl max-w-3xl w-full min-h-fit mx-auto rounded-xl p-m", onClose: onClose, children: jsxs("div", { className: "flex flex-col gap-xl items-center rounded-md", children: [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" }), jsx(InputCode, { values: values, setValues: setValues, errorText: errorText, hasError: hasError }), renderText$2(timeNextReq, handleSendCode), withDescription ? (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, renderNextButton(isSubmitButtonDisabled, handleSubmit), isLoading ? jsx(Loader, { blur: false }) : null] }) }));
|
|
5272
5295
|
});
|
|
5273
5296
|
const renderNextButton = (disabled, onClick) => (jsx(SubmitButton, { text: "\u0414\u0430\u043B\u0435\u0435", disabled: disabled, onClick: onClick }));
|
|
5274
5297
|
const renderText$2 = (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" }) }));
|
|
@@ -7343,12 +7366,6 @@
|
|
|
7343
7366
|
|
|
7344
7367
|
const CurrencyInput = JSX((props) => (jsx(NumberInput, { ...props, fractionDigits: 2, children: jsx("div", { className: "absolute right-4 bottom-4", children: jsx(Text, { size: "text-xl", font: "font-light", children: "\u20BD" }) }) })));
|
|
7345
7368
|
|
|
7346
|
-
const sessionStore = new Store(); // sessionStorage cache
|
|
7347
|
-
replicate(sessionStore, new StorageAdapter(globalThis?.sessionStorage));
|
|
7348
|
-
function useSessionStore() {
|
|
7349
|
-
return useStore(sessionStore);
|
|
7350
|
-
}
|
|
7351
|
-
|
|
7352
7369
|
const paymentURLMap = {
|
|
7353
7370
|
private: 'p2p/registerP2P',
|
|
7354
7371
|
business: 'b2c/registerB2C',
|
|
@@ -10379,7 +10396,7 @@
|
|
|
10379
10396
|
slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
|
|
10380
10397
|
});
|
|
10381
10398
|
|
|
10382
|
-
const packageVersion = "0.14.
|
|
10399
|
+
const packageVersion = "0.14.865";
|
|
10383
10400
|
|
|
10384
10401
|
exports.Blocks = Blocks;
|
|
10385
10402
|
exports.ContentPage = ContentPage;
|