@redneckz/wildless-cms-uni-blocks 0.14.744 → 0.14.746
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/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +91 -10
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/CardTransfer/CardTransferContent.d.ts +2 -1
- package/bundle/components/CardTransfer/SubmitFailedDialog.d.ts +6 -0
- package/bundle/components/CardTransfer/submitCardTransfer.d.ts +16 -0
- package/bundle/components/CardTransfer/useSubmitCardTransfer.d.ts +11 -0
- package/dist/components/CardTransfer/CardTransfer.js +9 -7
- package/dist/components/CardTransfer/CardTransfer.js.map +1 -1
- package/dist/components/CardTransfer/CardTransferContent.d.ts +2 -1
- package/dist/components/CardTransfer/SubmitFailedDialog.d.ts +6 -0
- package/dist/components/CardTransfer/SubmitFailedDialog.js +13 -0
- package/dist/components/CardTransfer/SubmitFailedDialog.js.map +1 -0
- package/dist/components/CardTransfer/submitCardTransfer.d.ts +16 -0
- package/dist/components/CardTransfer/submitCardTransfer.js +44 -0
- package/dist/components/CardTransfer/submitCardTransfer.js.map +1 -0
- package/dist/components/CardTransfer/useSubmitCardTransfer.d.ts +11 -0
- package/dist/components/CardTransfer/useSubmitCardTransfer.js +33 -0
- package/dist/components/CardTransfer/useSubmitCardTransfer.js.map +1 -0
- package/dist/components/CreditCardForm/getDeliveryCreditCardData.js +2 -1
- package/dist/components/CreditCardForm/getDeliveryCreditCardData.js.map +1 -1
- package/dist/ui-kit/FormField/getField.js +2 -1
- package/dist/ui-kit/FormField/getField.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/CardTransfer/CardTransfer.fixture.d.ts +2 -1
- package/lib/components/CardTransfer/CardTransfer.fixture.mobile.d.ts +2 -1
- package/lib/components/CardTransfer/CardTransfer.js +10 -8
- package/lib/components/CardTransfer/CardTransfer.js.map +1 -1
- package/lib/components/CardTransfer/CardTransferContent.d.ts +2 -1
- package/lib/components/CardTransfer/SubmitFailedDialog.d.ts +6 -0
- package/lib/components/CardTransfer/SubmitFailedDialog.js +10 -0
- package/lib/components/CardTransfer/SubmitFailedDialog.js.map +1 -0
- package/lib/components/CardTransfer/submitCardTransfer.d.ts +16 -0
- package/lib/components/CardTransfer/submitCardTransfer.js +39 -0
- package/lib/components/CardTransfer/submitCardTransfer.js.map +1 -0
- package/lib/components/CardTransfer/useSubmitCardTransfer.d.ts +11 -0
- package/lib/components/CardTransfer/useSubmitCardTransfer.js +30 -0
- package/lib/components/CardTransfer/useSubmitCardTransfer.js.map +1 -0
- package/lib/components/CreditCardForm/getDeliveryCreditCardData.js +2 -1
- package/lib/components/CreditCardForm/getDeliveryCreditCardData.js.map +1 -1
- package/lib/ui-kit/FormField/getField.js +2 -1
- package/lib/ui-kit/FormField/getField.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +91 -10
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/CardTransfer/CardTransferContent.d.ts +2 -1
- package/mobile/bundle/components/CardTransfer/SubmitFailedDialog.d.ts +6 -0
- package/mobile/bundle/components/CardTransfer/submitCardTransfer.d.ts +16 -0
- package/mobile/bundle/components/CardTransfer/useSubmitCardTransfer.d.ts +11 -0
- package/mobile/dist/components/CardTransfer/CardTransfer.js +9 -7
- package/mobile/dist/components/CardTransfer/CardTransfer.js.map +1 -1
- package/mobile/dist/components/CardTransfer/CardTransferContent.d.ts +2 -1
- package/mobile/dist/components/CardTransfer/SubmitFailedDialog.d.ts +6 -0
- package/mobile/dist/components/CardTransfer/SubmitFailedDialog.js +13 -0
- package/mobile/dist/components/CardTransfer/SubmitFailedDialog.js.map +1 -0
- package/mobile/dist/components/CardTransfer/submitCardTransfer.d.ts +16 -0
- package/mobile/dist/components/CardTransfer/submitCardTransfer.js +44 -0
- package/mobile/dist/components/CardTransfer/submitCardTransfer.js.map +1 -0
- package/mobile/dist/components/CardTransfer/useSubmitCardTransfer.d.ts +11 -0
- package/mobile/dist/components/CardTransfer/useSubmitCardTransfer.js +33 -0
- package/mobile/dist/components/CardTransfer/useSubmitCardTransfer.js.map +1 -0
- package/mobile/dist/components/CreditCardForm/getDeliveryCreditCardData.js +2 -1
- package/mobile/dist/components/CreditCardForm/getDeliveryCreditCardData.js.map +1 -1
- package/mobile/dist/ui-kit/FormField/getField.js +2 -1
- package/mobile/dist/ui-kit/FormField/getField.js.map +1 -1
- package/mobile/lib/common.css +1 -1
- package/mobile/lib/components/CardTransfer/CardTransfer.js +10 -8
- package/mobile/lib/components/CardTransfer/CardTransfer.js.map +1 -1
- package/mobile/lib/components/CardTransfer/CardTransferContent.d.ts +2 -1
- package/mobile/lib/components/CardTransfer/SubmitFailedDialog.d.ts +6 -0
- package/mobile/lib/components/CardTransfer/SubmitFailedDialog.js +10 -0
- package/mobile/lib/components/CardTransfer/SubmitFailedDialog.js.map +1 -0
- package/mobile/lib/components/CardTransfer/submitCardTransfer.d.ts +16 -0
- package/mobile/lib/components/CardTransfer/submitCardTransfer.js +39 -0
- package/mobile/lib/components/CardTransfer/submitCardTransfer.js.map +1 -0
- package/mobile/lib/components/CardTransfer/useSubmitCardTransfer.d.ts +11 -0
- package/mobile/lib/components/CardTransfer/useSubmitCardTransfer.js +30 -0
- package/mobile/lib/components/CardTransfer/useSubmitCardTransfer.js.map +1 -0
- package/mobile/lib/components/CreditCardForm/getDeliveryCreditCardData.js +2 -1
- package/mobile/lib/components/CreditCardForm/getDeliveryCreditCardData.js.map +1 -1
- package/mobile/lib/ui-kit/FormField/getField.js +2 -1
- package/mobile/lib/ui-kit/FormField/getField.js.map +1 -1
- package/mobile/src/components/CardTransfer/CardTransfer.tsx +12 -9
- package/mobile/src/components/CardTransfer/CardTransferContent.ts +3 -1
- package/mobile/src/components/CardTransfer/SubmitFailedDialog.tsx +42 -0
- package/mobile/src/components/CardTransfer/submitCardTransfer.ts +72 -0
- package/mobile/src/components/CardTransfer/useSubmitCardTransfer.tsx +47 -0
- package/mobile/src/components/CreditCardForm/getDeliveryCreditCardData.ts +2 -1
- package/mobile/src/ui-kit/FormField/getField.tsx +7 -5
- package/package.json +1 -1
- package/src/components/CardTransfer/CardTransfer.fixture.mobile.tsx +11 -3
- package/src/components/CardTransfer/CardTransfer.fixture.tsx +13 -1
- package/src/components/CardTransfer/CardTransfer.tsx +12 -9
- package/src/components/CardTransfer/CardTransferContent.ts +3 -1
- package/src/components/CardTransfer/SubmitFailedDialog.tsx +42 -0
- package/src/components/CardTransfer/submitCardTransfer.ts +72 -0
- package/src/components/CardTransfer/useSubmitCardTransfer.tsx +47 -0
- package/src/components/CreditCardForm/getDeliveryCreditCardData.ts +2 -1
- package/src/ui-kit/FormField/getField.tsx +7 -5
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
|
-
import { useEffect
|
|
3
|
+
import { useEffect } from '@redneckz/uni-jsx/lib/hooks';
|
|
4
|
+
import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
|
|
4
5
|
import { useForm } from '../../hooks/useForm/useForm.js';
|
|
5
6
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper.js';
|
|
6
7
|
import { Button } from '../../ui-kit/Button/Button.js';
|
|
7
8
|
import { CurrencyInput } from '../../ui-kit/CurrencyInput/CurrencyInput.js';
|
|
8
9
|
import { Heading } from '../../ui-kit/Heading/Heading.js';
|
|
9
10
|
import { style } from '../../utils/style.js';
|
|
11
|
+
import { useSubmitCardTransfer } from './useSubmitCardTransfer.js';
|
|
10
12
|
const DEFAULT_TITLE = 'Укажите сумму перевода';
|
|
11
13
|
const DEFAULT_LABEL = 'Сумма перевода';
|
|
12
14
|
const MAX_AMOUNT = 300000;
|
|
13
15
|
const MIN_AMOUNT = 1;
|
|
14
|
-
const FORM_URL_MAP = {
|
|
15
|
-
private: 'https://old.rshb.ru/p2p/',
|
|
16
|
-
business: 'https://old.rshb.ru/smallbusiness/p2p/',
|
|
17
|
-
};
|
|
18
16
|
const INITIAL_FORM_STATE = {
|
|
19
17
|
amount: 1500,
|
|
20
18
|
};
|
|
21
19
|
export const CardTransfer = JSX(({ className = '', title = DEFAULT_TITLE, label = DEFAULT_LABEL, button, formType = 'private', ...rest }) => {
|
|
22
|
-
const [
|
|
23
|
-
const
|
|
20
|
+
const [isDisabled, { setValue: setDisabled }] = useBool(false);
|
|
21
|
+
const handleSubmit = useSubmitCardTransfer(formType);
|
|
22
|
+
const [{ amount }, { field, onSubmit }] = useForm(INITIAL_FORM_STATE, {
|
|
23
|
+
onSubmit: handleSubmit,
|
|
24
|
+
});
|
|
25
|
+
// TODO: dont set state in useEffect
|
|
24
26
|
useEffect(() => {
|
|
25
27
|
setDisabled(amount <= 0);
|
|
26
28
|
}, [amount]);
|
|
27
|
-
return (_jsxs(BlockWrapper, { className: style('flex flex-col items-center', className), defaultPadding: "p-6xl", ...rest, children: [title ? (_jsx(Heading, { className: "pb-lg xl:pb-4xl self-start xl:self-center", headingType: "h3", title: title })) : null, _jsxs("form", { className: "w-full xl:max-w-[468px]", method: "POST",
|
|
29
|
+
return (_jsxs(BlockWrapper, { className: style('flex flex-col items-center', className), defaultPadding: "p-6xl", ...rest, children: [title ? (_jsx(Heading, { className: "pb-lg xl:pb-4xl self-start xl:self-center", headingType: "h3", title: title })) : null, _jsxs("form", { className: "w-full xl:max-w-[468px]", method: "POST", onSubmit: onSubmit, children: [_jsx(CurrencyInput, { valid: !isDisabled, label: label, max: MAX_AMOUNT, min: MIN_AMOUNT, ...field('amount', { parse: Number, format: String }) }), _jsx("input", { type: "hidden", name: "amount", value: amount }), button?.text ? (_jsx(Button, { className: "w-full mt-lg", type: "submit", disabled: isDisabled, children: button.text })) : null] })] }));
|
|
28
30
|
});
|
|
29
31
|
//# sourceMappingURL=CardTransfer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardTransfer.js","sourceRoot":"","sources":["../../../src/components/CardTransfer/CardTransfer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"CardTransfer.js","sourceRoot":"","sources":["../../../src/components/CardTransfer/CardTransfer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAEvD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAC/C,MAAM,aAAa,GAAG,gBAAgB,CAAC;AACvC,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,UAAU,GAAG,CAAC,CAAC;AAErB,MAAM,kBAAkB,GAAG;IACzB,MAAM,EAAE,IAAI;CACb,CAAC;AAIF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAC7B,CAAC,EACC,SAAS,GAAG,EAAE,EACd,KAAK,GAAG,aAAa,EACrB,KAAK,GAAG,aAAa,EACrB,MAAM,EACN,QAAQ,GAAG,SAAS,EACpB,GAAG,IAAI,EACR,EAAE,EAAE;IACH,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAE/D,MAAM,YAAY,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAErD,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,EAAE;QACpE,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IAEH,oCAAoC;IACpC,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IAC3B,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,CACL,MAAC,YAAY,IACX,SAAS,EAAE,KAAK,CAAC,4BAA4B,EAAE,SAAS,CAAC,EACzD,cAAc,EAAC,OAAO,KAClB,IAAI,aAEP,KAAK,CAAC,CAAC,CAAC,CACP,KAAC,OAAO,IACN,SAAS,EAAC,2CAA2C,EACrD,WAAW,EAAC,IAAI,EAChB,KAAK,EAAE,KAAK,GACZ,CACH,CAAC,CAAC,CAAC,IAAI,EACR,gBAAM,SAAS,EAAC,yBAAyB,EAAC,MAAM,EAAC,MAAM,EAAC,QAAQ,EAAE,QAAQ,aACxE,KAAC,aAAa,IACZ,KAAK,EAAE,CAAC,UAAU,EAClB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,UAAU,KACX,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GACtD,EACF,gBAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,MAAM,GAAI,EACnD,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CACd,KAAC,MAAM,IAAC,SAAS,EAAC,cAAc,EAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,UAAU,YAChE,MAAM,CAAC,IAAI,GACL,CACV,CAAC,CAAC,CAAC,IAAI,IACH,IACM,CAChB,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type LabelProps, type TextProps, type TitleProps } from '../../model/HeadlineType';
|
|
2
2
|
import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
|
|
3
|
+
export declare type CardTransferFormType = 'private' | 'business';
|
|
3
4
|
/**
|
|
4
5
|
* @title Перевод с карты на карту
|
|
5
6
|
*/
|
|
@@ -10,5 +11,5 @@ export declare type CardTransferContent = UniBlockContent & LabelProps & TitlePr
|
|
|
10
11
|
* @title Тип формы
|
|
11
12
|
* @enumNames ['Частные клиенты', 'Бизнес-клиенты']
|
|
12
13
|
*/
|
|
13
|
-
formType?:
|
|
14
|
+
formType?: CardTransferFormType;
|
|
14
15
|
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
|
+
import { Dialog } from '../../ui-kit/DialogManager/Dialog.js';
|
|
3
|
+
import { Img } from '../../ui-kit/Img/Img.js';
|
|
4
|
+
import { Headline } from '../Headline/Headline.js';
|
|
5
|
+
const FAILED_TITLE = 'Ошибка перевода';
|
|
6
|
+
export const SubmitFailedDialog = ({ onClose, errorCode, errorMessage, }) => {
|
|
7
|
+
const description = errorCode ? `Код ошибки - ${errorCode}` : 'Пожалуйста, повторите позднее';
|
|
8
|
+
return (_jsx(Dialog, { className: "my-6xl max-w-lg w-full min-h-fit mx-auto", onClose: onClose, children: _jsxs("div", { className: "flex flex-col gap-lg items-center rounded-md space-x-m", children: [_jsx(Img, { image: { icon: 'ResponseFailIcon', iconVersion: 'normal' }, width: "136", height: "136" }), _jsx(Headline, { className: "w-full", title: FAILED_TITLE, description: description, headlineVersion: "XS", isEmbedded: true }), errorMessage ? (_jsxs("div", { className: "bg-secondary-dark rounded-xl px-4 pt-4 pb-8 grid gap-4 grid-cols-12", children: [_jsxs("div", { className: "col-span-8", children: [" ", errorMessage] }), _jsx("div", { className: "col-span-4", children: _jsx(Img, { image: { icon: 'ResponseFailIcon', iconVersion: 'normal' } }) })] })) : null] }) }));
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=SubmitFailedDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubmitFailedDialog.js","sourceRoot":"","sources":["../../../src/components/CardTransfer/SubmitFailedDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAQhD,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAEvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,OAAO,EACP,SAAS,EACT,YAAY,GACY,EAAE,EAAE;IAC5B,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC,CAAC,+BAA+B,CAAC;IAE9F,OAAO,CACL,KAAC,MAAM,IAAC,SAAS,EAAC,0CAA0C,EAAC,OAAO,EAAE,OAAO,YAC3E,eAAK,SAAS,EAAC,wDAAwD,aACrE,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAC,KAAK,EAAC,MAAM,EAAC,KAAK,GAAG,EAC5F,KAAC,QAAQ,IACP,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAC,IAAI,EACpB,UAAU,EAAE,IAAI,GAChB,EACD,YAAY,CAAC,CAAC,CAAC,CACd,eAAK,SAAS,EAAC,qEAAqE,aAClF,eAAK,SAAS,EAAC,YAAY,kBAAG,YAAY,IAAO,EACjD,cAAK,SAAS,EAAC,YAAY,YACzB,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAI,GAC/D,IACF,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,GACC,CACV,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type CardTransferFormType } from './CardTransferContent';
|
|
2
|
+
export declare type CardTransferResponse = Partial<{
|
|
3
|
+
errorCode: number;
|
|
4
|
+
errorMessage: string;
|
|
5
|
+
orderId: string;
|
|
6
|
+
formUrl: string;
|
|
7
|
+
}>;
|
|
8
|
+
export declare const submitCardTransfer: (typeForm: CardTransferFormType, amount: number) => Promise<CardTransferResponse | null>;
|
|
9
|
+
export declare const isSuccessResponse: (response: CardTransferResponse | null) => response is {
|
|
10
|
+
orderId: string;
|
|
11
|
+
formUrl: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const isErrorInResponse: (response: CardTransferResponse | null) => response is {
|
|
14
|
+
errorCode: number;
|
|
15
|
+
errorMessage: string;
|
|
16
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { API_BASE_URI } from '../../api/apiBaseUrl.js';
|
|
2
|
+
import { locationNavigator } from '../../external/locationNavigator.js';
|
|
3
|
+
const paymentURLMap = {
|
|
4
|
+
private: 'p2p/registerP2P',
|
|
5
|
+
business: 'b2c/registerB2C',
|
|
6
|
+
};
|
|
7
|
+
const SUCCESS_URL = '/p2p/success';
|
|
8
|
+
const FAIL_URL = '/p2p/success';
|
|
9
|
+
const CURRENCY_CODE = '643';
|
|
10
|
+
const LANGUAGE = 'ru';
|
|
11
|
+
export const submitCardTransfer = async (typeForm, amount) => {
|
|
12
|
+
const navigator = locationNavigator();
|
|
13
|
+
const submitBody = {
|
|
14
|
+
amount: String(amount),
|
|
15
|
+
currency: CURRENCY_CODE,
|
|
16
|
+
returnUrl: `${navigator.origin}${SUCCESS_URL}`,
|
|
17
|
+
failUrl: `${navigator.origin}${FAIL_URL}`,
|
|
18
|
+
language: LANGUAGE,
|
|
19
|
+
};
|
|
20
|
+
const url = `${API_BASE_URI}/payment/${paymentURLMap[typeForm]}`;
|
|
21
|
+
try {
|
|
22
|
+
const res = await fetch(url, {
|
|
23
|
+
method: 'POST',
|
|
24
|
+
headers: { 'Content-Type': 'application/json' },
|
|
25
|
+
mode: 'cors',
|
|
26
|
+
body: JSON.stringify(submitBody),
|
|
27
|
+
});
|
|
28
|
+
if (!res.ok) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return await res.json();
|
|
32
|
+
}
|
|
33
|
+
catch (ex) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
export const isSuccessResponse = (response) => Boolean(response?.formUrl) && Boolean(response?.orderId);
|
|
38
|
+
export const isErrorInResponse = (response) => Boolean(response?.errorMessage) && response?.errorCode !== 0;
|
|
39
|
+
//# sourceMappingURL=submitCardTransfer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submitCardTransfer.js","sourceRoot":"","sources":["../../../src/components/CardTransfer/submitCardTransfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAkBrE,MAAM,aAAa,GAAyC;IAC1D,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,EAAE,iBAAiB;CAC5B,CAAC;AAEF,MAAM,WAAW,GAAG,cAAc,CAAC;AACnC,MAAM,QAAQ,GAAG,cAAc,CAAC;AAChC,MAAM,aAAa,GAAG,KAAK,CAAC;AAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC;AAEtB,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,QAA8B,EAC9B,MAAc,EACwB,EAAE;IACxC,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;IAEtC,MAAM,UAAU,GAA2B;QACzC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,GAAG,SAAS,CAAC,MAAM,GAAG,WAAW,EAAE;QAC9C,OAAO,EAAE,GAAG,SAAS,CAAC,MAAM,GAAG,QAAQ,EAAE;QACzC,QAAQ,EAAE,QAAQ;KACnB,CAAC;IAEF,MAAM,GAAG,GAAG,GAAG,YAAY,YAAY,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;IAEjE,IAAI;QACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;SACjC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;YACX,OAAO,IAAI,CAAC;SACb;QAED,OAAO,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;KACzB;IAAC,OAAO,EAAE,EAAE;QACX,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,QAAqC,EACa,EAAE,CACpD,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,QAAqC,EACoB,EAAE,CAC3D,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,QAAQ,EAAE,SAAS,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type CardTransferFormType } from './CardTransferContent';
|
|
2
|
+
export interface TransactionStore {
|
|
3
|
+
transaction: {
|
|
4
|
+
orderId: string;
|
|
5
|
+
type: 'p2p' | 'b2c';
|
|
6
|
+
url: string;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export declare const useSubmitCardTransfer: (formType: CardTransferFormType) => ({ amount }: {
|
|
10
|
+
amount: number;
|
|
11
|
+
}) => Promise<void>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
|
|
2
|
+
import { useSessionStore } from '@redneckz/uni-jsx/lib/Store/useSessionStore';
|
|
3
|
+
import { locationNavigator } from '../../external/locationNavigator.js';
|
|
4
|
+
import { useDialog } from '../../ui-kit/DialogManager/useDialog.js';
|
|
5
|
+
import { isErrorInResponse, isSuccessResponse, submitCardTransfer } from './submitCardTransfer.js';
|
|
6
|
+
import { SubmitFailedDialog } from './SubmitFailedDialog.js';
|
|
7
|
+
export const useSubmitCardTransfer = (formType) => {
|
|
8
|
+
const responseTypeDialog = useDialog(SubmitFailedDialog);
|
|
9
|
+
const sessionStore = useSessionStore();
|
|
10
|
+
const navigator = locationNavigator();
|
|
11
|
+
const adjustedTypeForm = formType === 'private' ? 'p2p' : 'b2c';
|
|
12
|
+
return useCallback(async ({ amount }) => {
|
|
13
|
+
const response = await submitCardTransfer(formType, amount);
|
|
14
|
+
if (isSuccessResponse(response)) {
|
|
15
|
+
sessionStore.transaction = {
|
|
16
|
+
orderId: response.orderId,
|
|
17
|
+
type: adjustedTypeForm,
|
|
18
|
+
url: navigator.href,
|
|
19
|
+
};
|
|
20
|
+
navigator.assign(`${adjustedTypeForm}/?formUrl=${encodeURIComponent(response.formUrl)}`);
|
|
21
|
+
}
|
|
22
|
+
if (isErrorInResponse(response)) {
|
|
23
|
+
responseTypeDialog.open({
|
|
24
|
+
errorCode: response.errorCode,
|
|
25
|
+
errorMessage: response.errorMessage,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}, [formType]);
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=useSubmitCardTransfer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSubmitCardTransfer.js","sourceRoot":"","sources":["../../../src/components/CardTransfer/useSubmitCardTransfer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAU1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAA8B,EAAE,EAAE;IACtE,MAAM,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,eAAe,EAAoB,CAAC;IACzD,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;IAEtC,MAAM,gBAAgB,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAEhE,OAAO,WAAW,CAChB,KAAK,EAAE,EAAE,MAAM,EAAsB,EAAE,EAAE;QACvC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE5D,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE;YAC/B,YAAY,CAAC,WAAW,GAAG;gBACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,IAAI,EAAE,gBAAgB;gBACtB,GAAG,EAAE,SAAS,CAAC,IAAI;aACpB,CAAC;YAEF,SAAS,CAAC,MAAM,CAAC,GAAG,gBAAgB,aAAa,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SAC1F;QAED,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE;YAC/B,kBAAkB,CAAC,IAAI,CAAC;gBACtB,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,YAAY,EAAE,QAAQ,CAAC,YAAY;aACpC,CAAC,CAAC;SACJ;IACH,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { dateToISO } from '../../utils/dateToISO.js';
|
|
1
2
|
import { getParticipantAddresses } from '../CreditForm/utils.js';
|
|
2
3
|
export const getDeliveryData = (formData) => {
|
|
3
4
|
const { methodObtain, deliveryDate = '' } = formData;
|
|
@@ -5,7 +6,7 @@ export const getDeliveryData = (formData) => {
|
|
|
5
6
|
return isCourierDelivery
|
|
6
7
|
? {
|
|
7
8
|
courierDeliveryFlg: isCourierDelivery,
|
|
8
|
-
deliveryDate: deliveryDate.toString().replace(/(GMT)[+-]\d{4}/, 'GMT+0000'),
|
|
9
|
+
deliveryDate: dateToISO(deliveryDate.toString().replace(/(GMT)[+-]\d{4}/, 'GMT+0000')),
|
|
9
10
|
deliveryTimeCd: { value: 'TIME_2' },
|
|
10
11
|
//TODO временный хардкод для тестирования, не забыть удалить
|
|
11
12
|
office: { id: '3' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDeliveryCreditCardData.js","sourceRoot":"","sources":["../../../src/components/CreditCardForm/getDeliveryCreditCardData.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAuB,EAAE,EAAE;IACzD,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,QAAQ,CAAC;IAErD,MAAM,iBAAiB,GAAG,YAAY,KAAK,SAAS,CAAC;IAErD,OAAO,iBAAiB;QACtB,CAAC,CAAC;YACE,kBAAkB,EAAE,iBAAiB;YACrC,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"getDeliveryCreditCardData.js","sourceRoot":"","sources":["../../../src/components/CreditCardForm/getDeliveryCreditCardData.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAuB,EAAE,EAAE;IACzD,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,QAAQ,CAAC;IAErD,MAAM,iBAAiB,GAAG,YAAY,KAAK,SAAS,CAAC;IAErD,OAAO,iBAAiB;QACtB,CAAC,CAAC;YACE,kBAAkB,EAAE,iBAAiB;YACrC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;YACtF,cAAc,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;YACnC,4DAA4D;YAC5D,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE;SACpB;QACH,CAAC,CAAC,EAAE,CAAC;AACT,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAuB,EAAE,EAAE;IACvD,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;IAEjD,MAAM,cAAc,GAAG,aAAa,EAAE,GAAG,IAAI,YAAY,KAAK,QAAQ,CAAC;IAEvE,OAAO,cAAc;QACnB,CAAC,CAAC;YACE,MAAM,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,GAAG,EAAE;SAClC;QACH,CAAC,CAAC,EAAE,CAAC;AACT,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,QAAuB,EAAE,EAAE;IACnE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;IAElD,MAAM,iBAAiB,GAAG,YAAY,KAAK,SAAS,CAAC;IAErD,OAAO,iBAAiB;QACtB,CAAC,CAAC;YACE,oBAAoB,EAAE,uBAAuB,CAAC,EAAE,cAAc,EAAE,CAAC;SAClE;QACH,CAAC,CAAC,EAAE,CAAC;AACT,CAAC,CAAC"}
|
|
@@ -74,6 +74,7 @@ export const getField = (field, params, externalInputs = {}) => (input, i) => {
|
|
|
74
74
|
...InputsMap,
|
|
75
75
|
...externalInputs,
|
|
76
76
|
};
|
|
77
|
-
|
|
77
|
+
const Component = fieldsRegister[String(input.name)];
|
|
78
|
+
return shouldRenderField({ input, field }) && Component ? (_jsx("div", { children: _jsx(Component, { field: field, input: input, params: params }) }, i)) : null;
|
|
78
79
|
};
|
|
79
80
|
//# sourceMappingURL=getField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getField.js","sourceRoot":"","sources":["../../../src/ui-kit/FormField/getField.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,6CAA6C;CACpD,CAAC;AAEF,MAAM,SAAS,GAAG;IAChB,QAAQ,EAAE,aAAa;IACvB,aAAa,EAAE,kBAAkB;IACjC,kBAAkB,EAAE,uBAAuB;IAC3C,OAAO,EAAE,CAAC,KAAuB,EAAE,EAAE,CAAC,KAAC,YAAY,OAAK,KAAK,EAAE,MAAM,EAAE,WAAW,GAAI;IACtF,UAAU,EAAE,eAAe;IAC3B,QAAQ,EAAE,aAAa;IACvB,eAAe,EAAE,oBAAoB;IACrC,eAAe,EAAE,oBAAoB;IACrC,aAAa,EAAE,cAAc;IAC7B,cAAc,EAAE,mBAAmB;IACnC,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,iBAAiB;IAC9B,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,WAAW;IACnB,aAAa,EAAE,kBAAkB;IACjC,QAAQ,EAAE,QAAQ;IAClB,cAAc,EAAE,mBAAmB;IACnC,gBAAgB,EAAE,qBAAqB;IACvC,WAAW,EAAE,gBAAgB;IAC7B,cAAc,EAAE,mBAAmB;IACnC,eAAe,EAAE,CAAC,KAAuB,EAAE,EAAE,CAAC,CAC5C,KAAC,YAAY,IAAC,KAAK,EAAC,uJAA+B,KAAK,KAAK,GAAI,CAClE;IACD,MAAM,EAAE,CAAC,KAAuB,EAAE,EAAE,CAClC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAA4B,CAAC,CAAC,CAAC,CAAC,CACxD,KAAC,kBAAkB,OAAK,KAAK,GAAI,CAClC,CAAC,CAAC,CAAC,CACF,KAAC,WAAW,OAAK,KAAK,GAAI,CAC3B;IACH,yBAAyB,EAAE,8BAA8B;IAEzD,OAAO,EAAE,YAAY;IACrB,IAAI,EAAE,SAAS;IACf,UAAU,EAAE,eAAe;IAC3B,QAAQ,EAAE,aAAa;IACvB,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,QAAQ;IACb,OAAO,EAAE,YAAY;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GACnB,CACE,KAA+B,EAC/B,MAA4B,EAC5B,iBAAwC,EAAE,EAC1C,EAAE,CACJ,CAAC,KAAQ,EAAE,CAAS,EAAE,EAAE;IACtB,MAAM,cAAc,GAAG;QACrB,GAAG,SAAS;QACZ,GAAG,cAAc;KAClB,CAAC;IAEF,OAAO,
|
|
1
|
+
{"version":3,"file":"getField.js","sourceRoot":"","sources":["../../../src/ui-kit/FormField/getField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2817,7 +2817,8 @@
|
|
|
2817
2817
|
...InputsMap$1,
|
|
2818
2818
|
...externalInputs,
|
|
2819
2819
|
};
|
|
2820
|
-
|
|
2820
|
+
const Component = fieldsRegister[String(input.name)];
|
|
2821
|
+
return shouldRenderField({ input, field }) && Component ? (jsx("div", { children: jsx(Component, { field: field, input: input, params: params }) }, i)) : null;
|
|
2821
2822
|
};
|
|
2822
2823
|
|
|
2823
2824
|
const inputColumnStyles = (column) => column === 2 ? '@xl:grid-cols-2' : '';
|
|
@@ -6491,24 +6492,97 @@
|
|
|
6491
6492
|
|
|
6492
6493
|
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" }) }) })));
|
|
6493
6494
|
|
|
6495
|
+
const sessionStore = new Store(); // sessionStorage cache
|
|
6496
|
+
replicate(sessionStore, new StorageAdapter(globalThis?.sessionStorage));
|
|
6497
|
+
function useSessionStore() {
|
|
6498
|
+
return useStore(sessionStore);
|
|
6499
|
+
}
|
|
6500
|
+
|
|
6501
|
+
const paymentURLMap = {
|
|
6502
|
+
private: 'p2p/registerP2P',
|
|
6503
|
+
business: 'b2c/registerB2C',
|
|
6504
|
+
};
|
|
6505
|
+
const SUCCESS_URL = '/p2p/success';
|
|
6506
|
+
const FAIL_URL = '/p2p/success';
|
|
6507
|
+
const CURRENCY_CODE = '643';
|
|
6508
|
+
const LANGUAGE = 'ru';
|
|
6509
|
+
const submitCardTransfer = async (typeForm, amount) => {
|
|
6510
|
+
const navigator = locationNavigator();
|
|
6511
|
+
const submitBody = {
|
|
6512
|
+
amount: String(amount),
|
|
6513
|
+
currency: CURRENCY_CODE,
|
|
6514
|
+
returnUrl: `${navigator.origin}${SUCCESS_URL}`,
|
|
6515
|
+
failUrl: `${navigator.origin}${FAIL_URL}`,
|
|
6516
|
+
language: LANGUAGE,
|
|
6517
|
+
};
|
|
6518
|
+
const url = `${API_BASE_URI}/payment/${paymentURLMap[typeForm]}`;
|
|
6519
|
+
try {
|
|
6520
|
+
const res = await fetch(url, {
|
|
6521
|
+
method: 'POST',
|
|
6522
|
+
headers: { 'Content-Type': 'application/json' },
|
|
6523
|
+
mode: 'cors',
|
|
6524
|
+
body: JSON.stringify(submitBody),
|
|
6525
|
+
});
|
|
6526
|
+
if (!res.ok) {
|
|
6527
|
+
return null;
|
|
6528
|
+
}
|
|
6529
|
+
return await res.json();
|
|
6530
|
+
}
|
|
6531
|
+
catch (ex) {
|
|
6532
|
+
return null;
|
|
6533
|
+
}
|
|
6534
|
+
};
|
|
6535
|
+
const isSuccessResponse = (response) => Boolean(response?.formUrl) && Boolean(response?.orderId);
|
|
6536
|
+
const isErrorInResponse = (response) => Boolean(response?.errorMessage) && response?.errorCode !== 0;
|
|
6537
|
+
|
|
6538
|
+
const FAILED_TITLE = 'Ошибка перевода';
|
|
6539
|
+
const SubmitFailedDialog = ({ onClose, errorCode, errorMessage, }) => {
|
|
6540
|
+
const description = errorCode ? `Код ошибки - ${errorCode}` : 'Пожалуйста, повторите позднее';
|
|
6541
|
+
return (jsx(Dialog, { className: "my-6xl max-w-lg w-full min-h-fit mx-auto", onClose: onClose, children: jsxs("div", { className: "flex flex-col gap-lg items-center rounded-md space-x-m", children: [jsx(Img, { image: { icon: 'ResponseFailIcon', iconVersion: 'normal' }, width: "136", height: "136" }), jsx(Headline, { className: "w-full", title: FAILED_TITLE, description: description, headlineVersion: "XS", isEmbedded: true }), errorMessage ? (jsxs("div", { className: "bg-secondary-dark rounded-xl px-4 pt-4 pb-8 grid gap-4 grid-cols-12", children: [jsxs("div", { className: "col-span-8", children: [" ", errorMessage] }), jsx("div", { className: "col-span-4", children: jsx(Img, { image: { icon: 'ResponseFailIcon', iconVersion: 'normal' } }) })] })) : null] }) }));
|
|
6542
|
+
};
|
|
6543
|
+
|
|
6544
|
+
const useSubmitCardTransfer = (formType) => {
|
|
6545
|
+
const responseTypeDialog = useDialog(SubmitFailedDialog);
|
|
6546
|
+
const sessionStore = useSessionStore();
|
|
6547
|
+
const navigator = locationNavigator();
|
|
6548
|
+
const adjustedTypeForm = formType === 'private' ? 'p2p' : 'b2c';
|
|
6549
|
+
return useCallback(async ({ amount }) => {
|
|
6550
|
+
const response = await submitCardTransfer(formType, amount);
|
|
6551
|
+
if (isSuccessResponse(response)) {
|
|
6552
|
+
sessionStore.transaction = {
|
|
6553
|
+
orderId: response.orderId,
|
|
6554
|
+
type: adjustedTypeForm,
|
|
6555
|
+
url: navigator.href,
|
|
6556
|
+
};
|
|
6557
|
+
navigator.assign(`${adjustedTypeForm}/?formUrl=${encodeURIComponent(response.formUrl)}`);
|
|
6558
|
+
}
|
|
6559
|
+
if (isErrorInResponse(response)) {
|
|
6560
|
+
responseTypeDialog.open({
|
|
6561
|
+
errorCode: response.errorCode,
|
|
6562
|
+
errorMessage: response.errorMessage,
|
|
6563
|
+
});
|
|
6564
|
+
}
|
|
6565
|
+
}, [formType]);
|
|
6566
|
+
};
|
|
6567
|
+
|
|
6494
6568
|
const DEFAULT_TITLE = 'Укажите сумму перевода';
|
|
6495
6569
|
const DEFAULT_LABEL = 'Сумма перевода';
|
|
6496
6570
|
const MAX_AMOUNT = 300000;
|
|
6497
6571
|
const MIN_AMOUNT = 1;
|
|
6498
|
-
const FORM_URL_MAP = {
|
|
6499
|
-
private: 'https://old.rshb.ru/p2p/',
|
|
6500
|
-
business: 'https://old.rshb.ru/smallbusiness/p2p/',
|
|
6501
|
-
};
|
|
6502
6572
|
const INITIAL_FORM_STATE = {
|
|
6503
6573
|
amount: 1500,
|
|
6504
6574
|
};
|
|
6505
6575
|
const CardTransfer = JSX(({ className = '', title = DEFAULT_TITLE, label = DEFAULT_LABEL, button, formType = 'private', ...rest }) => {
|
|
6506
|
-
const [
|
|
6507
|
-
const
|
|
6576
|
+
const [isDisabled, { setValue: setDisabled }] = useBool(false);
|
|
6577
|
+
const handleSubmit = useSubmitCardTransfer(formType);
|
|
6578
|
+
const [{ amount }, { field, onSubmit }] = useForm(INITIAL_FORM_STATE, {
|
|
6579
|
+
onSubmit: handleSubmit,
|
|
6580
|
+
});
|
|
6581
|
+
// TODO: dont set state in useEffect
|
|
6508
6582
|
useEffect(() => {
|
|
6509
6583
|
setDisabled(amount <= 0);
|
|
6510
6584
|
}, [amount]);
|
|
6511
|
-
return (jsxs(BlockWrapper, { className: style('flex flex-col items-center', className), defaultPadding: "p-6xl", ...rest, children: [title ? (jsx(Heading, { className: "pb-lg xl:pb-4xl self-start xl:self-center", headingType: "h3", title: title })) : null, jsxs("form", { className: "w-full xl:max-w-[468px]", method: "POST",
|
|
6585
|
+
return (jsxs(BlockWrapper, { className: style('flex flex-col items-center', className), defaultPadding: "p-6xl", ...rest, children: [title ? (jsx(Heading, { className: "pb-lg xl:pb-4xl self-start xl:self-center", headingType: "h3", title: title })) : null, jsxs("form", { className: "w-full xl:max-w-[468px]", method: "POST", onSubmit: onSubmit, children: [jsx(CurrencyInput, { valid: !isDisabled, label: label, max: MAX_AMOUNT, min: MIN_AMOUNT, ...field('amount', { parse: Number, format: String }) }), jsx("input", { type: "hidden", name: "amount", value: amount }), button?.text ? (jsx(Button, { className: "w-full mt-lg", type: "submit", disabled: isDisabled, children: button.text })) : null] })] }));
|
|
6512
6586
|
});
|
|
6513
6587
|
|
|
6514
6588
|
const ITEMS_GAP = 16;
|
|
@@ -7043,13 +7117,20 @@
|
|
|
7043
7117
|
};
|
|
7044
7118
|
};
|
|
7045
7119
|
|
|
7120
|
+
const dateToISO = (date) => {
|
|
7121
|
+
if (!date) {
|
|
7122
|
+
return '';
|
|
7123
|
+
}
|
|
7124
|
+
return new Date(date).toISOString().split('.')[0];
|
|
7125
|
+
};
|
|
7126
|
+
|
|
7046
7127
|
const getDeliveryData = (formData) => {
|
|
7047
7128
|
const { methodObtain, deliveryDate = '' } = formData;
|
|
7048
7129
|
const isCourierDelivery = methodObtain === 'courier';
|
|
7049
7130
|
return isCourierDelivery
|
|
7050
7131
|
? {
|
|
7051
7132
|
courierDeliveryFlg: isCourierDelivery,
|
|
7052
|
-
deliveryDate: deliveryDate.toString().replace(/(GMT)[+-]\d{4}/, 'GMT+0000'),
|
|
7133
|
+
deliveryDate: dateToISO(deliveryDate.toString().replace(/(GMT)[+-]\d{4}/, 'GMT+0000')),
|
|
7053
7134
|
deliveryTimeCd: { value: 'TIME_2' },
|
|
7054
7135
|
//TODO временный хардкод для тестирования, не забыть удалить
|
|
7055
7136
|
office: { id: '3' },
|
|
@@ -10009,7 +10090,7 @@
|
|
|
10009
10090
|
slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
|
|
10010
10091
|
});
|
|
10011
10092
|
|
|
10012
|
-
const packageVersion = "0.14.
|
|
10093
|
+
const packageVersion = "0.14.745";
|
|
10013
10094
|
|
|
10014
10095
|
exports.Blocks = Blocks;
|
|
10015
10096
|
exports.ContentPage = ContentPage;
|