@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 +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":"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
|
|
1
|
+
{"version":3,"file":"getField.js","sourceRoot":"","sources":["../../../src/ui-kit/FormField/getField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { useEffect
|
|
2
|
+
import { useEffect } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
|
+
import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
|
|
3
4
|
import { useForm } from '../../hooks/useForm/useForm';
|
|
4
5
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
5
6
|
import { Button } from '../../ui-kit/Button/Button';
|
|
@@ -8,17 +9,13 @@ import { Heading } from '../../ui-kit/Heading/Heading';
|
|
|
8
9
|
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
9
10
|
import { style } from '../../utils/style';
|
|
10
11
|
import { type CardTransferContent } from './CardTransferContent';
|
|
12
|
+
import { useSubmitCardTransfer } from './useSubmitCardTransfer';
|
|
11
13
|
|
|
12
14
|
const DEFAULT_TITLE = 'Укажите сумму перевода';
|
|
13
15
|
const DEFAULT_LABEL = 'Сумма перевода';
|
|
14
16
|
const MAX_AMOUNT = 300000;
|
|
15
17
|
const MIN_AMOUNT = 1;
|
|
16
18
|
|
|
17
|
-
const FORM_URL_MAP = {
|
|
18
|
-
private: 'https://old.rshb.ru/p2p/',
|
|
19
|
-
business: 'https://old.rshb.ru/smallbusiness/p2p/',
|
|
20
|
-
};
|
|
21
|
-
|
|
22
19
|
const INITIAL_FORM_STATE = {
|
|
23
20
|
amount: 1500,
|
|
24
21
|
};
|
|
@@ -34,9 +31,15 @@ export const CardTransfer = JSX<CardTransferProps>(
|
|
|
34
31
|
formType = 'private',
|
|
35
32
|
...rest
|
|
36
33
|
}) => {
|
|
37
|
-
const [
|
|
38
|
-
|
|
34
|
+
const [isDisabled, { setValue: setDisabled }] = useBool(false);
|
|
35
|
+
|
|
36
|
+
const handleSubmit = useSubmitCardTransfer(formType);
|
|
37
|
+
|
|
38
|
+
const [{ amount }, { field, onSubmit }] = useForm(INITIAL_FORM_STATE, {
|
|
39
|
+
onSubmit: handleSubmit,
|
|
40
|
+
});
|
|
39
41
|
|
|
42
|
+
// TODO: dont set state in useEffect
|
|
40
43
|
useEffect(() => {
|
|
41
44
|
setDisabled(amount <= 0);
|
|
42
45
|
}, [amount]);
|
|
@@ -54,7 +57,7 @@ export const CardTransfer = JSX<CardTransferProps>(
|
|
|
54
57
|
title={title}
|
|
55
58
|
/>
|
|
56
59
|
) : null}
|
|
57
|
-
<form className="w-full xl:max-w-[468px]" method="POST"
|
|
60
|
+
<form className="w-full xl:max-w-[468px]" method="POST" onSubmit={onSubmit}>
|
|
58
61
|
<CurrencyInput
|
|
59
62
|
valid={!isDisabled}
|
|
60
63
|
label={label}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type LabelProps, type TextProps, type TitleProps } from '../../model/HeadlineType';
|
|
2
2
|
import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
|
|
3
3
|
|
|
4
|
+
export type CardTransferFormType = 'private' | 'business';
|
|
5
|
+
|
|
4
6
|
/**
|
|
5
7
|
* @title Перевод с карты на карту
|
|
6
8
|
*/
|
|
@@ -13,5 +15,5 @@ export type CardTransferContent = UniBlockContent &
|
|
|
13
15
|
* @title Тип формы
|
|
14
16
|
* @enumNames ['Частные клиенты', 'Бизнес-клиенты']
|
|
15
17
|
*/
|
|
16
|
-
formType?:
|
|
18
|
+
formType?: CardTransferFormType;
|
|
17
19
|
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Dialog } from '../../ui-kit/DialogManager/Dialog';
|
|
2
|
+
import { Img } from '../../ui-kit/Img/Img';
|
|
3
|
+
import { Headline } from '../Headline/Headline';
|
|
4
|
+
|
|
5
|
+
export interface FormResponseDialogProps {
|
|
6
|
+
onClose?: () => void;
|
|
7
|
+
errorCode?: number;
|
|
8
|
+
errorMessage?: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const FAILED_TITLE = 'Ошибка перевода';
|
|
12
|
+
|
|
13
|
+
export const SubmitFailedDialog = ({
|
|
14
|
+
onClose,
|
|
15
|
+
errorCode,
|
|
16
|
+
errorMessage,
|
|
17
|
+
}: FormResponseDialogProps) => {
|
|
18
|
+
const description = errorCode ? `Код ошибки - ${errorCode}` : 'Пожалуйста, повторите позднее';
|
|
19
|
+
|
|
20
|
+
return (
|
|
21
|
+
<Dialog className="my-6xl max-w-lg w-full min-h-fit mx-auto" onClose={onClose}>
|
|
22
|
+
<div className="flex flex-col gap-lg items-center rounded-md space-x-m">
|
|
23
|
+
<Img image={{ icon: 'ResponseFailIcon', iconVersion: 'normal' }} width="136" height="136" />
|
|
24
|
+
<Headline
|
|
25
|
+
className="w-full"
|
|
26
|
+
title={FAILED_TITLE}
|
|
27
|
+
description={description}
|
|
28
|
+
headlineVersion="XS"
|
|
29
|
+
isEmbedded={true}
|
|
30
|
+
/>
|
|
31
|
+
{errorMessage ? (
|
|
32
|
+
<div className="bg-secondary-dark rounded-xl px-4 pt-4 pb-8 grid gap-4 grid-cols-12">
|
|
33
|
+
<div className="col-span-8"> {errorMessage}</div>
|
|
34
|
+
<div className="col-span-4">
|
|
35
|
+
<Img image={{ icon: 'ResponseFailIcon', iconVersion: 'normal' }} />
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
) : null}
|
|
39
|
+
</div>
|
|
40
|
+
</Dialog>
|
|
41
|
+
);
|
|
42
|
+
};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { API_BASE_URI } from '../../api/apiBaseUrl';
|
|
2
|
+
import { locationNavigator } from '../../external/locationNavigator';
|
|
3
|
+
import { type CardTransferFormType } from './CardTransferContent';
|
|
4
|
+
|
|
5
|
+
type CardTransferSubmitBody = {
|
|
6
|
+
amount: string;
|
|
7
|
+
currency: string;
|
|
8
|
+
returnUrl: string;
|
|
9
|
+
failUrl: string;
|
|
10
|
+
language: string;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export type CardTransferResponse = Partial<{
|
|
14
|
+
errorCode: number;
|
|
15
|
+
errorMessage: string;
|
|
16
|
+
orderId: string;
|
|
17
|
+
formUrl: string;
|
|
18
|
+
}>;
|
|
19
|
+
|
|
20
|
+
const paymentURLMap: Record<CardTransferFormType, string> = {
|
|
21
|
+
private: 'p2p/registerP2P',
|
|
22
|
+
business: 'b2c/registerB2C',
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const SUCCESS_URL = '/p2p/success';
|
|
26
|
+
const FAIL_URL = '/p2p/success';
|
|
27
|
+
const CURRENCY_CODE = '643';
|
|
28
|
+
const LANGUAGE = 'ru';
|
|
29
|
+
|
|
30
|
+
export const submitCardTransfer = async (
|
|
31
|
+
typeForm: CardTransferFormType,
|
|
32
|
+
amount: number,
|
|
33
|
+
): Promise<CardTransferResponse | null> => {
|
|
34
|
+
const navigator = locationNavigator();
|
|
35
|
+
|
|
36
|
+
const submitBody: CardTransferSubmitBody = {
|
|
37
|
+
amount: String(amount),
|
|
38
|
+
currency: CURRENCY_CODE,
|
|
39
|
+
returnUrl: `${navigator.origin}${SUCCESS_URL}`,
|
|
40
|
+
failUrl: `${navigator.origin}${FAIL_URL}`,
|
|
41
|
+
language: LANGUAGE,
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const url = `${API_BASE_URI}/payment/${paymentURLMap[typeForm]}`;
|
|
45
|
+
|
|
46
|
+
try {
|
|
47
|
+
const res = await fetch(url, {
|
|
48
|
+
method: 'POST',
|
|
49
|
+
headers: { 'Content-Type': 'application/json' },
|
|
50
|
+
mode: 'cors',
|
|
51
|
+
body: JSON.stringify(submitBody),
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
if (!res.ok) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return await res.json();
|
|
59
|
+
} catch (ex) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export const isSuccessResponse = (
|
|
65
|
+
response: CardTransferResponse | null,
|
|
66
|
+
): response is { orderId: string; formUrl: string } =>
|
|
67
|
+
Boolean(response?.formUrl) && Boolean(response?.orderId);
|
|
68
|
+
|
|
69
|
+
export const isErrorInResponse = (
|
|
70
|
+
response: CardTransferResponse | null,
|
|
71
|
+
): response is { errorCode: number; errorMessage: string } =>
|
|
72
|
+
Boolean(response?.errorMessage) && response?.errorCode !== 0;
|
|
@@ -0,0 +1,47 @@
|
|
|
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';
|
|
4
|
+
import { useDialog } from '../../ui-kit/DialogManager/useDialog';
|
|
5
|
+
import { type CardTransferFormType } from './CardTransferContent';
|
|
6
|
+
import { isErrorInResponse, isSuccessResponse, submitCardTransfer } from './submitCardTransfer';
|
|
7
|
+
import { SubmitFailedDialog } from './SubmitFailedDialog';
|
|
8
|
+
|
|
9
|
+
export interface TransactionStore {
|
|
10
|
+
transaction: {
|
|
11
|
+
orderId: string;
|
|
12
|
+
type: 'p2p' | 'b2c';
|
|
13
|
+
url: string;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const useSubmitCardTransfer = (formType: CardTransferFormType) => {
|
|
18
|
+
const responseTypeDialog = useDialog(SubmitFailedDialog);
|
|
19
|
+
const sessionStore = useSessionStore<TransactionStore>();
|
|
20
|
+
const navigator = locationNavigator();
|
|
21
|
+
|
|
22
|
+
const adjustedTypeForm = formType === 'private' ? 'p2p' : 'b2c';
|
|
23
|
+
|
|
24
|
+
return useCallback(
|
|
25
|
+
async ({ amount }: { amount: number }) => {
|
|
26
|
+
const response = await submitCardTransfer(formType, amount);
|
|
27
|
+
|
|
28
|
+
if (isSuccessResponse(response)) {
|
|
29
|
+
sessionStore.transaction = {
|
|
30
|
+
orderId: response.orderId,
|
|
31
|
+
type: adjustedTypeForm,
|
|
32
|
+
url: navigator.href,
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
navigator.assign(`${adjustedTypeForm}/?formUrl=${encodeURIComponent(response.formUrl)}`);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (isErrorInResponse(response)) {
|
|
39
|
+
responseTypeDialog.open({
|
|
40
|
+
errorCode: response.errorCode,
|
|
41
|
+
errorMessage: response.errorMessage,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
[formType],
|
|
46
|
+
);
|
|
47
|
+
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type LeadFormState } from '../../services/retail/model/LeadFormState';
|
|
2
|
+
import { dateToISO } from '../../utils/dateToISO';
|
|
2
3
|
import { getParticipantAddresses } from '../CreditForm/utils';
|
|
3
4
|
|
|
4
5
|
export const getDeliveryData = (formData: LeadFormState) => {
|
|
@@ -9,7 +10,7 @@ export const getDeliveryData = (formData: LeadFormState) => {
|
|
|
9
10
|
return isCourierDelivery
|
|
10
11
|
? {
|
|
11
12
|
courierDeliveryFlg: isCourierDelivery,
|
|
12
|
-
deliveryDate: deliveryDate.toString().replace(/(GMT)[+-]\d{4}/, 'GMT+0000'),
|
|
13
|
+
deliveryDate: dateToISO(deliveryDate.toString().replace(/(GMT)[+-]\d{4}/, 'GMT+0000')),
|
|
13
14
|
deliveryTimeCd: { value: 'TIME_2' },
|
|
14
15
|
//TODO временный хардкод для тестирования, не забыть удалить
|
|
15
16
|
office: { id: '3' },
|
|
@@ -96,9 +96,11 @@ export const getField =
|
|
|
96
96
|
...externalInputs,
|
|
97
97
|
};
|
|
98
98
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
99
|
+
const Component = fieldsRegister[String(input.name)];
|
|
100
|
+
|
|
101
|
+
return shouldRenderField({ input, field }) && Component ? (
|
|
102
|
+
<div key={i}>
|
|
103
|
+
<Component field={field} input={input} params={params} />
|
|
104
|
+
</div>
|
|
105
|
+
) : null;
|
|
104
106
|
};
|
package/package.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import '../../setup-fixture';
|
|
2
|
+
import { DialogManager } from '../../ui-kit/DialogManager/DialogManager';
|
|
2
3
|
import { type LinkButtonProps } from '../../ui-kit/LinkButton/LinkButtonProps';
|
|
3
4
|
import { CardTransfer } from './CardTransfer';
|
|
4
5
|
|
|
@@ -8,9 +9,16 @@ const button: LinkButtonProps = {
|
|
|
8
9
|
};
|
|
9
10
|
|
|
10
11
|
export default {
|
|
11
|
-
|
|
12
|
-
<div
|
|
13
|
-
<CardTransfer
|
|
12
|
+
private: (
|
|
13
|
+
<div>
|
|
14
|
+
<CardTransfer button={button} formType="private" />
|
|
15
|
+
<DialogManager />
|
|
16
|
+
</div>
|
|
17
|
+
),
|
|
18
|
+
business: (
|
|
19
|
+
<div>
|
|
20
|
+
<CardTransfer button={button} formType="business" />
|
|
21
|
+
<DialogManager />
|
|
14
22
|
</div>
|
|
15
23
|
),
|
|
16
24
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import '../../setup-fixture';
|
|
2
2
|
|
|
3
|
+
import { DialogManager } from '../../ui-kit/DialogManager/DialogManager';
|
|
3
4
|
import { type LinkButtonProps } from '../../ui-kit/LinkButton/LinkButtonProps';
|
|
4
5
|
import { CardTransfer } from './CardTransfer';
|
|
5
6
|
|
|
@@ -9,5 +10,16 @@ const button: LinkButtonProps = {
|
|
|
9
10
|
};
|
|
10
11
|
|
|
11
12
|
export default {
|
|
12
|
-
|
|
13
|
+
private: (
|
|
14
|
+
<div>
|
|
15
|
+
<CardTransfer button={button} formType="private" />
|
|
16
|
+
<DialogManager />
|
|
17
|
+
</div>
|
|
18
|
+
),
|
|
19
|
+
business: (
|
|
20
|
+
<div>
|
|
21
|
+
<CardTransfer button={button} formType="business" />
|
|
22
|
+
<DialogManager />
|
|
23
|
+
</div>
|
|
24
|
+
),
|
|
13
25
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { useEffect
|
|
2
|
+
import { useEffect } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
|
+
import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
|
|
3
4
|
import { useForm } from '../../hooks/useForm/useForm';
|
|
4
5
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
5
6
|
import { Button } from '../../ui-kit/Button/Button';
|
|
@@ -8,17 +9,13 @@ import { Heading } from '../../ui-kit/Heading/Heading';
|
|
|
8
9
|
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
9
10
|
import { style } from '../../utils/style';
|
|
10
11
|
import { type CardTransferContent } from './CardTransferContent';
|
|
12
|
+
import { useSubmitCardTransfer } from './useSubmitCardTransfer';
|
|
11
13
|
|
|
12
14
|
const DEFAULT_TITLE = 'Укажите сумму перевода';
|
|
13
15
|
const DEFAULT_LABEL = 'Сумма перевода';
|
|
14
16
|
const MAX_AMOUNT = 300000;
|
|
15
17
|
const MIN_AMOUNT = 1;
|
|
16
18
|
|
|
17
|
-
const FORM_URL_MAP = {
|
|
18
|
-
private: 'https://old.rshb.ru/p2p/',
|
|
19
|
-
business: 'https://old.rshb.ru/smallbusiness/p2p/',
|
|
20
|
-
};
|
|
21
|
-
|
|
22
19
|
const INITIAL_FORM_STATE = {
|
|
23
20
|
amount: 1500,
|
|
24
21
|
};
|
|
@@ -34,9 +31,15 @@ export const CardTransfer = JSX<CardTransferProps>(
|
|
|
34
31
|
formType = 'private',
|
|
35
32
|
...rest
|
|
36
33
|
}) => {
|
|
37
|
-
const [
|
|
38
|
-
|
|
34
|
+
const [isDisabled, { setValue: setDisabled }] = useBool(false);
|
|
35
|
+
|
|
36
|
+
const handleSubmit = useSubmitCardTransfer(formType);
|
|
37
|
+
|
|
38
|
+
const [{ amount }, { field, onSubmit }] = useForm(INITIAL_FORM_STATE, {
|
|
39
|
+
onSubmit: handleSubmit,
|
|
40
|
+
});
|
|
39
41
|
|
|
42
|
+
// TODO: dont set state in useEffect
|
|
40
43
|
useEffect(() => {
|
|
41
44
|
setDisabled(amount <= 0);
|
|
42
45
|
}, [amount]);
|
|
@@ -54,7 +57,7 @@ export const CardTransfer = JSX<CardTransferProps>(
|
|
|
54
57
|
title={title}
|
|
55
58
|
/>
|
|
56
59
|
) : null}
|
|
57
|
-
<form className="w-full xl:max-w-[468px]" method="POST"
|
|
60
|
+
<form className="w-full xl:max-w-[468px]" method="POST" onSubmit={onSubmit}>
|
|
58
61
|
<CurrencyInput
|
|
59
62
|
valid={!isDisabled}
|
|
60
63
|
label={label}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type LabelProps, type TextProps, type TitleProps } from '../../model/HeadlineType';
|
|
2
2
|
import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
|
|
3
3
|
|
|
4
|
+
export type CardTransferFormType = 'private' | 'business';
|
|
5
|
+
|
|
4
6
|
/**
|
|
5
7
|
* @title Перевод с карты на карту
|
|
6
8
|
*/
|
|
@@ -13,5 +15,5 @@ export type CardTransferContent = UniBlockContent &
|
|
|
13
15
|
* @title Тип формы
|
|
14
16
|
* @enumNames ['Частные клиенты', 'Бизнес-клиенты']
|
|
15
17
|
*/
|
|
16
|
-
formType?:
|
|
18
|
+
formType?: CardTransferFormType;
|
|
17
19
|
};
|