@redneckz/wildless-cms-uni-blocks 0.14.943 → 0.14.945
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 +14 -6
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/ApplicationForm/handlers.d.ts +2 -1
- package/bundle/components/CashbackCalculator/CashbackCalculatorContent.d.ts +3 -0
- package/dist/components/ApplicationForm/ApplicationForm.js +4 -1
- package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/dist/components/ApplicationForm/handlers.d.ts +2 -1
- package/dist/components/ApplicationForm/handlers.js +2 -2
- package/dist/components/ApplicationForm/handlers.js.map +1 -1
- package/dist/components/CashbackCalculator/CashbackCalculator.js +7 -2
- package/dist/components/CashbackCalculator/CashbackCalculator.js.map +1 -1
- package/dist/components/CashbackCalculator/CashbackCalculatorContent.d.ts +3 -0
- package/lib/components/ApplicationForm/ApplicationForm.js +4 -1
- package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/lib/components/ApplicationForm/handlers.d.ts +2 -1
- package/lib/components/ApplicationForm/handlers.js +2 -2
- package/lib/components/ApplicationForm/handlers.js.map +1 -1
- package/lib/components/CashbackCalculator/CashbackCalculator.js +7 -2
- package/lib/components/CashbackCalculator/CashbackCalculator.js.map +1 -1
- package/lib/components/CashbackCalculator/CashbackCalculatorContent.d.ts +3 -0
- package/mobile/bundle/bundle.umd.js +14 -6
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/ApplicationForm/handlers.d.ts +2 -1
- package/mobile/bundle/components/CashbackCalculator/CashbackCalculatorContent.d.ts +3 -0
- package/mobile/dist/components/ApplicationForm/ApplicationForm.js +4 -1
- package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/mobile/dist/components/ApplicationForm/handlers.d.ts +2 -1
- package/mobile/dist/components/ApplicationForm/handlers.js +2 -2
- package/mobile/dist/components/ApplicationForm/handlers.js.map +1 -1
- package/mobile/dist/components/CashbackCalculator/CashbackCalculator.js +7 -2
- package/mobile/dist/components/CashbackCalculator/CashbackCalculator.js.map +1 -1
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorContent.d.ts +3 -0
- package/mobile/lib/components/ApplicationForm/ApplicationForm.js +4 -1
- package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/mobile/lib/components/ApplicationForm/handlers.d.ts +2 -1
- package/mobile/lib/components/ApplicationForm/handlers.js +2 -2
- package/mobile/lib/components/ApplicationForm/handlers.js.map +1 -1
- package/mobile/lib/components/CashbackCalculator/CashbackCalculator.js +7 -2
- package/mobile/lib/components/CashbackCalculator/CashbackCalculator.js.map +1 -1
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorContent.d.ts +3 -0
- package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +2 -0
- package/mobile/src/components/ApplicationForm/handlers.ts +3 -1
- package/mobile/src/components/CashbackCalculator/CashbackCalculator.tsx +19 -3
- package/mobile/src/components/CashbackCalculator/CashbackCalculatorContent.ts +3 -0
- package/package.json +1 -1
- package/src/components/ApplicationForm/handlers.ts +1 -1
- package/src/components/CashbackCalculator/CashbackCalculator.tsx +19 -3
- package/src/components/CashbackCalculator/CashbackCalculatorContent.ts +3 -0
|
@@ -13,7 +13,8 @@ export declare type HandlerProps = {
|
|
|
13
13
|
verifyPhoneDialog?: any;
|
|
14
14
|
responseTypeDialog?: any;
|
|
15
15
|
onSuccess?: () => void;
|
|
16
|
+
endpoint?: string;
|
|
16
17
|
};
|
|
17
18
|
export declare const handleInitCorporateLead: ({ formatData, typeForm, responseTypeDialog, verifyPhoneDialog, data, aspects, ev, }: HandlerProps) => Promise<void>;
|
|
18
19
|
export declare const handleCallback: ({ formatData, data, aspects, ev, typeForm, responseTypeDialog, onSuccess, }: HandlerProps) => Promise<void>;
|
|
19
|
-
export declare const handleDefault: ({ formatData, data, aspects, ev, router, responseTypeDialog, }: HandlerProps) => Promise<void>;
|
|
20
|
+
export declare const handleDefault: ({ formatData, data, aspects, ev, router, responseTypeDialog, endpoint, }: HandlerProps) => Promise<void>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type TitleProps } from '../../model/HeadlineType';
|
|
2
2
|
import { type Picture } from '../../model/Picture';
|
|
3
|
+
import { type LinkButtonContent } from '../../ui-kit/LinkButton/LinkButtonContent';
|
|
3
4
|
import { type Option } from '../../ui-kit/Select/Option';
|
|
4
5
|
import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
|
|
5
6
|
export declare type Cashback = {
|
|
@@ -11,6 +12,8 @@ export declare type Cashback = {
|
|
|
11
12
|
* @title Блок калькулятора кэшбека
|
|
12
13
|
*/
|
|
13
14
|
export declare type CashbackCalculatorContent = UniBlockContent & TitleProps & {
|
|
15
|
+
/** @title Кнопка */
|
|
16
|
+
button?: LinkButtonContent;
|
|
14
17
|
/** @title Максимальное значение поля 'Сумма покупок в категории' */
|
|
15
18
|
maxInputRange?: number;
|
|
16
19
|
/** @title Изображение */
|
|
@@ -24,7 +24,9 @@ const handlerMap = {
|
|
|
24
24
|
callback: handlers_1.handleCallback,
|
|
25
25
|
default: handlers_1.handleDefault,
|
|
26
26
|
};
|
|
27
|
-
exports.ApplicationForm = (0, UniBlock_1.UniBlock)(
|
|
27
|
+
exports.ApplicationForm = (0, UniBlock_1.UniBlock)(
|
|
28
|
+
// eslint-disable-next-line max-lines-per-function
|
|
29
|
+
({ className, title, typeForm = '', sections = [], button, link, endpoint, additionalParams, isContacts, data, onSuccess, ...rest }) => {
|
|
28
30
|
const inputs = (0, hooks_1.useMemo)(() => (sections?.flatMap((_) => _?.inputs) || []), [sections]);
|
|
29
31
|
const initialFormState = (0, hooks_1.useMemo)(() => (0, getInitialFormState_1.getInitialFormState)(inputs, typeForm), [inputs, typeForm]);
|
|
30
32
|
const router = (0, useRouter_1.useRouter)();
|
|
@@ -44,6 +46,7 @@ exports.ApplicationForm = (0, UniBlock_1.UniBlock)(({ className, title, typeForm
|
|
|
44
46
|
responseTypeDialog,
|
|
45
47
|
verifyPhoneDialog,
|
|
46
48
|
onSuccess,
|
|
49
|
+
endpoint,
|
|
47
50
|
});
|
|
48
51
|
}, [typeForm]);
|
|
49
52
|
const [, { field, onSubmit }] = (0, useForm_1.useForm)(initialFormState, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationForm.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/ApplicationForm.tsx"],"names":[],"mappings":";;;AAAA,uDAAmE;AACnE,wDAAqD;AACrD,kEAA+D;AAC/D,yDAAsD;AACtD,oGAAiG;AACjG,oEAAiE;AACjE,8FAA2F;AAC3F,kFAA6E;AAE7E,2FAAwF;AACxF,sDAAmD;AAEnD,6CAA0C;AAE1C,mDAAgD;AAChD,+DAA4E;AAC5E,yCAKoB;AACpB,mEAAgE;AAChE,qDAAkD;AAClD,qDAAkD;AAClD,2DAAwD;AAQxD,MAAM,UAAU,GAA4B;IAC1C,iBAAiB,EAAE,kCAAuB;IAC1C,QAAQ,EAAE,yBAAc;IACxB,OAAO,EAAE,wBAAa;CACvB,CAAC;AAEW,QAAA,eAAe,GAAG,IAAA,mBAAQ,
|
|
1
|
+
{"version":3,"file":"ApplicationForm.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/ApplicationForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,8 @@ export declare type HandlerProps = {
|
|
|
13
13
|
verifyPhoneDialog?: any;
|
|
14
14
|
responseTypeDialog?: any;
|
|
15
15
|
onSuccess?: () => void;
|
|
16
|
+
endpoint?: string;
|
|
16
17
|
};
|
|
17
18
|
export declare const handleInitCorporateLead: ({ formatData, typeForm, responseTypeDialog, verifyPhoneDialog, data, aspects, ev, }: HandlerProps) => Promise<void>;
|
|
18
19
|
export declare const handleCallback: ({ formatData, data, aspects, ev, typeForm, responseTypeDialog, onSuccess, }: HandlerProps) => Promise<void>;
|
|
19
|
-
export declare const handleDefault: ({ formatData, data, aspects, ev, router, responseTypeDialog, }: HandlerProps) => Promise<void>;
|
|
20
|
+
export declare const handleDefault: ({ formatData, data, aspects, ev, router, responseTypeDialog, endpoint, }: HandlerProps) => Promise<void>;
|
|
@@ -44,8 +44,8 @@ const handleCallback = async ({ formatData, data, aspects = {}, ev, typeForm, re
|
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
exports.handleCallback = handleCallback;
|
|
47
|
-
const handleDefault = async ({ formatData, data, aspects = {}, ev, router, responseTypeDialog, }) => {
|
|
48
|
-
const ok = Boolean(await API.send(formatData, router,
|
|
47
|
+
const handleDefault = async ({ formatData, data, aspects = {}, ev, router, responseTypeDialog, endpoint, }) => {
|
|
48
|
+
const ok = Boolean(await API.send(formatData, router, endpoint === 'lead'));
|
|
49
49
|
responseTypeDialog.open({ ok });
|
|
50
50
|
if (ok) {
|
|
51
51
|
(0, handleAspects_1.handleAspects)({ aspectsAttributes: data, aspects, ev });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/handlers.ts"],"names":[],"mappings":";;AAAA,6DAA4E;AAE5E,wEAAqE;AAIrE,2CAAwC;
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,13 +12,18 @@ const Headline_1 = require("../Headline/Headline");
|
|
|
12
12
|
const CashbackCalculatorResult_1 = require("./CashbackCalculatorResult");
|
|
13
13
|
const CashbackCategory_1 = require("./CashbackCategory");
|
|
14
14
|
const useCashbackCalculator_1 = require("./useCashbackCalculator");
|
|
15
|
+
const defaultButton = {
|
|
16
|
+
href: '/natural/debetcards/svoya-plus',
|
|
17
|
+
text: 'Оформить карту',
|
|
18
|
+
target: '_self',
|
|
19
|
+
};
|
|
15
20
|
const INCREASED_PERCENTS = ['5', '10', '15'];
|
|
16
21
|
const MAX_CATEGORIES = 5;
|
|
17
22
|
const INFO_BLOCK_HTML = `<p>Полученные баллы можно конвертировать в рубли и компенсировать покупки у партнеров. Подробнее в <a href='#docs'>документах</a></p>`;
|
|
18
|
-
exports.CashbackCalculator = (0, uni_jsx_1.JSX)(({ maxInputRange = 300000, image, deleteImage, infoImage, className = '', ...rest }) => {
|
|
23
|
+
exports.CashbackCalculator = (0, uni_jsx_1.JSX)(({ maxInputRange = 300000, image, deleteImage, infoImage, className = '', button = defaultButton, ...rest }) => {
|
|
19
24
|
const { cashbacks, categories, onAddNewCashback, onChangeCashback, onDeleteCashback, onResetCashback, } = (0, useCashbackCalculator_1.useCashbackCalculator)();
|
|
20
25
|
const img = image?.src ? ((0, jsx_runtime_1.jsx)(Img_1.Img, { image: image, className: "hidden w-full @xl:block", imageClassName: "justify-self-center" })) : null;
|
|
21
|
-
return ((0, jsx_runtime_1.jsxs)(BlockWrapper_1.BlockWrapper, { className: (0, style_1.style)('flex flex-col justify-center items-center gap-lg', className), defaultPadding: (0, style_1.style)('p-6xl'), ...rest, children: [(0, jsx_runtime_1.jsx)(Headline_1.Headline, { title: "\u041A\u0430\u043B\u044C\u043A\u0443\u043B\u044F\u0442\u043E\u0440 \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u0431\u0430\u043B\u043B\u043E\u0432", description: "\u041C\u043E\u0436\u043D\u043E \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 5 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0439, \u043E\u0434\u043D\u0430 \u0438\u0437 \u043D\u0438\u0445 \u0438\u0437 \u043F\u043E\u0432\u044B\u0448\u0435\u043D\u043D\u043E\u0439 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438", headlineVersion: "XL", isEmbedded: true }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-row items-start gap-lg", children: [(0, jsx_runtime_1.jsxs)("div", { className: "w-full flex flex-col justify-center items-center gap-lg", children: [cashbacks.map((_) => ((0, jsx_runtime_1.jsx)(CashbackCategory_1.CashbackCategory, { categories: categories, cashback: _, showIncreasedPercents: showIncreasedPercents(_, cashbacks), maxInputRange: maxInputRange, deleteImage: deleteImage, onDelete: onDeleteCashback, onChange: onChangeCashback }, String(_.id)))), renderButtons(cashbacks.length, onAddNewCashback, onResetCashback), (0, jsx_runtime_1.jsx)(CashbackCalculatorResult_1.CashbackCalculatorResult, { cashbacks: cashbacks }), (0, jsx_runtime_1.jsx)(InfoCard_1.InfoCard, { __html: INFO_BLOCK_HTML, image: infoImage }), (0, jsx_runtime_1.jsx)(LinkButton_1.LinkButton, { className: "w-full @lg:w-auto self-start", href:
|
|
26
|
+
return ((0, jsx_runtime_1.jsxs)(BlockWrapper_1.BlockWrapper, { className: (0, style_1.style)('flex flex-col justify-center items-center gap-lg', className), defaultPadding: (0, style_1.style)('p-6xl'), ...rest, children: [(0, jsx_runtime_1.jsx)(Headline_1.Headline, { title: "\u041A\u0430\u043B\u044C\u043A\u0443\u043B\u044F\u0442\u043E\u0440 \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u0431\u0430\u043B\u043B\u043E\u0432", description: "\u041C\u043E\u0436\u043D\u043E \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 5 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0439, \u043E\u0434\u043D\u0430 \u0438\u0437 \u043D\u0438\u0445 \u0438\u0437 \u043F\u043E\u0432\u044B\u0448\u0435\u043D\u043D\u043E\u0439 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438", headlineVersion: "XL", isEmbedded: true }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-row items-start gap-lg", children: [(0, jsx_runtime_1.jsxs)("div", { className: "w-full flex flex-col justify-center items-center gap-lg", children: [cashbacks.map((_) => ((0, jsx_runtime_1.jsx)(CashbackCategory_1.CashbackCategory, { categories: categories, cashback: _, showIncreasedPercents: showIncreasedPercents(_, cashbacks), maxInputRange: maxInputRange, deleteImage: deleteImage, onDelete: onDeleteCashback, onChange: onChangeCashback }, String(_.id)))), renderButtons(cashbacks.length, onAddNewCashback, onResetCashback), (0, jsx_runtime_1.jsx)(CashbackCalculatorResult_1.CashbackCalculatorResult, { cashbacks: cashbacks }), (0, jsx_runtime_1.jsx)(InfoCard_1.InfoCard, { __html: INFO_BLOCK_HTML, image: infoImage }), (0, jsx_runtime_1.jsx)(LinkButton_1.LinkButton, { className: "w-full @lg:w-auto self-start", href: button.href, text: button.text, target: button.target, version: "primary" })] }), img] })] }));
|
|
22
27
|
});
|
|
23
28
|
const renderButtons = (cashbacksLength, onAddNewCashback, onResetCashback) => {
|
|
24
29
|
return ((0, jsx_runtime_1.jsxs)("div", { className: "w-full flex flex-col gap-lg", children: [cashbacksLength < MAX_CATEGORIES ? ((0, jsx_runtime_1.jsx)(Button_1.Button, { className: "self-start text-primary-main", embedded: true, version: "secondary", onClick: onAddNewCashback, children: "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0435\u0449\u0435" })) : null, cashbacksLength > 2 ? ((0, jsx_runtime_1.jsx)(Button_1.Button, { className: "self-start", version: "secondary", onClick: onResetCashback, children: "\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0432\u0441\u0435 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438" })) : null] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CashbackCalculator.js","sourceRoot":"","sources":["../../../src/components/CashbackCalculator/CashbackCalculator.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,4DAAyD;AACzD,uDAAoD;AACpD,8CAA2C;AAC3C,6DAA0D;AAC1D,mEAAgE;
|
|
1
|
+
{"version":3,"file":"CashbackCalculator.js","sourceRoot":"","sources":["../../../src/components/CashbackCalculator/CashbackCalculator.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,4DAAyD;AACzD,uDAAoD;AACpD,8CAA2C;AAC3C,6DAA0D;AAC1D,mEAAgE;AAGhE,6CAA0C;AAC1C,mDAAgD;AAEhD,yEAAsE;AACtE,yDAAsD;AACtD,mEAAgE;AAEhE,MAAM,aAAa,GAAsB;IACvC,IAAI,EAAE,gCAAgC;IACtC,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,OAAO;CAChB,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE7C,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,MAAM,eAAe,GAAG,uIAAuI,CAAC;AAInJ,QAAA,kBAAkB,GAAG,IAAA,aAAG,EACnC,CAAC,EACC,aAAa,GAAG,MAAM,EACtB,KAAK,EACL,WAAW,EACX,SAAS,EACT,SAAS,GAAG,EAAE,EACd,MAAM,GAAG,aAAa,EACtB,GAAG,IAAI,EACR,EAAE,EAAE;IACH,MAAM,EACJ,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,GAAG,IAAA,6CAAqB,GAAE,CAAC;IAE5B,MAAM,GAAG,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CACvB,uBAAC,SAAG,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAC,yBAAyB,EAAC,cAAc,EAAC,qBAAqB,GAAG,CAC/F,CAAC,CAAC,CAAC,IAAI,CAAC;IAET,OAAO,CACL,wBAAC,2BAAY,IACX,SAAS,EAAE,IAAA,aAAK,EAAC,kDAAkD,EAAE,SAAS,CAAC,EAC/E,cAAc,EAAE,IAAA,aAAK,EAAC,OAAO,CAAC,KAC1B,IAAI,aAER,uBAAC,mBAAQ,IACP,KAAK,EAAC,oJAA4B,EAClC,WAAW,EAAC,2WAAyE,EACrF,eAAe,EAAC,IAAI,EACpB,UAAU,EAAE,IAAI,GAChB,EACF,iCAAK,SAAS,EAAC,kCAAkC,aAC/C,iCAAK,SAAS,EAAC,yDAAyD,aACrE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACpB,uBAAC,mCAAgB,IAEf,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,CAAC,EACX,qBAAqB,EAAE,qBAAqB,CAAC,CAAC,EAAE,SAAS,CAAC,EAC1D,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,gBAAgB,IAPrB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAQjB,CACH,CAAC,EACD,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,eAAe,CAAC,EACnE,uBAAC,mDAAwB,IAAC,SAAS,EAAE,SAAS,GAAI,EAClD,uBAAC,mBAAQ,IAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,GAAI,EACvD,uBAAC,uBAAU,IACT,SAAS,EAAC,8BAA8B,EACxC,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,OAAO,EAAC,SAAS,GACjB,IACE,EACL,GAAG,IACA,IACO,CAChB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,aAAa,GAAG,CACpB,eAAuB,EACvB,gBAA4B,EAC5B,eAA2B,EAC3B,EAAE;IACF,OAAO,CACL,iCAAK,SAAS,EAAC,6BAA6B,aACzC,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,CAClC,uBAAC,eAAM,IACL,SAAS,EAAC,8BAA8B,EACxC,QAAQ,QACR,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE,gBAAgB,oFAGlB,CACV,CAAC,CAAC,CAAC,IAAI,EACP,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,CACrB,uBAAC,eAAM,IAAC,SAAS,EAAC,YAAY,EAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,eAAe,2IAElE,CACV,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,eAAyB,EAAE,QAAoB,EAAE,EAAE,CAChF,kBAAkB,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC;IACxD,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type TitleProps } from '../../model/HeadlineType';
|
|
2
2
|
import { type Picture } from '../../model/Picture';
|
|
3
|
+
import { type LinkButtonContent } from '../../ui-kit/LinkButton/LinkButtonContent';
|
|
3
4
|
import { type Option } from '../../ui-kit/Select/Option';
|
|
4
5
|
import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
|
|
5
6
|
export declare type Cashback = {
|
|
@@ -11,6 +12,8 @@ export declare type Cashback = {
|
|
|
11
12
|
* @title Блок калькулятора кэшбека
|
|
12
13
|
*/
|
|
13
14
|
export declare type CashbackCalculatorContent = UniBlockContent & TitleProps & {
|
|
15
|
+
/** @title Кнопка */
|
|
16
|
+
button?: LinkButtonContent;
|
|
14
17
|
/** @title Максимальное значение поля 'Сумма покупок в категории' */
|
|
15
18
|
maxInputRange?: number;
|
|
16
19
|
/** @title Изображение */
|
|
@@ -22,7 +22,9 @@ const handlerMap = {
|
|
|
22
22
|
callback: handleCallback,
|
|
23
23
|
default: handleDefault,
|
|
24
24
|
};
|
|
25
|
-
export const ApplicationForm = UniBlock(
|
|
25
|
+
export const ApplicationForm = UniBlock(
|
|
26
|
+
// eslint-disable-next-line max-lines-per-function
|
|
27
|
+
({ className, title, typeForm = '', sections = [], button, link, endpoint, additionalParams, isContacts, data, onSuccess, ...rest }) => {
|
|
26
28
|
const inputs = useMemo(() => (sections?.flatMap((_) => _?.inputs) || []), [sections]);
|
|
27
29
|
const initialFormState = useMemo(() => getInitialFormState(inputs, typeForm), [inputs, typeForm]);
|
|
28
30
|
const router = useRouter();
|
|
@@ -42,6 +44,7 @@ export const ApplicationForm = UniBlock(({ className, title, typeForm = '', sect
|
|
|
42
44
|
responseTypeDialog,
|
|
43
45
|
verifyPhoneDialog,
|
|
44
46
|
onSuccess,
|
|
47
|
+
endpoint,
|
|
45
48
|
});
|
|
46
49
|
}, [typeForm]);
|
|
47
50
|
const [, { field, onSubmit }] = useForm(initialFormState, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationForm.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/ApplicationForm.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0DAA0D,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAE7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAkB,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EACL,cAAc,EACd,aAAa,EACb,uBAAuB,GAExB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAQxD,MAAM,UAAU,GAA4B;IAC1C,iBAAiB,EAAE,uBAAuB;IAC1C,QAAQ,EAAE,cAAc;IACxB,OAAO,EAAE,aAAa;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"ApplicationForm.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/ApplicationForm.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0DAA0D,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAE7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAkB,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EACL,cAAc,EACd,aAAa,EACb,uBAAuB,GAExB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAQxD,MAAM,UAAU,GAA4B;IAC1C,iBAAiB,EAAE,uBAAuB;IAC1C,QAAQ,EAAE,cAAc;IACxB,OAAO,EAAE,aAAa;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ;AACrC,kDAAkD;AAClD,CAAC,EACC,SAAS,EACT,KAAK,EACL,QAAQ,GAAG,EAAE,EACb,QAAQ,GAAG,EAAE,EACb,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,IAAI,EACJ,SAAS,EACT,GAAG,IAAI,EACR,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,CAAe,EAC/D,CAAC,QAAQ,CAAC,CACX,CAAC;IACF,MAAM,gBAAgB,GAAG,OAAO,CAC9B,GAAG,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC3C,CAAC,MAAM,EAAE,QAAQ,CAAC,CACnB,CAAC;IACF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,MAAM,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACzD,MAAM,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAEvD,MAAM,YAAY,GAAG,WAAW,CAC9B,KAAK,EAAE,QAAmB,EAAE,EAA8B,EAAE,EAAE;QAC5D,MAAM,UAAU,GAAG,aAAa,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC;QAEvE,MAAM,cAAc,CAAC,QAAQ,IAAI,SAAS,EAAE;YAC1C,UAAU;YACV,EAAE;YACF,QAAQ;YACR,IAAI;YACJ,OAAO;YACP,MAAM;YACN,kBAAkB;YAClB,iBAAiB;YACjB,SAAS;YACT,QAAQ;SACT,CAAC,CAAC;IACL,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,gBAAgB,EAAE;QACxD,aAAa,EAAE,IAAI;QACnB,aAAa;QACb,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,wBAAwB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;IACzD,MAAM,qBAAqB,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAErF,OAAO,CACL,MAAC,qBAAqB,IACpB,SAAS,EAAE,KAAK,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAClD,KAAK,EAAE,KAAK,KACR,IAAI,aAER,gBAAM,QAAQ,EAAE,QAAQ,aACrB,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,EAC/D,qBAAqB,CAAC;wBACrB,qBAAqB;wBACrB,IAAI;wBACJ,MAAM;wBACN,QAAQ;qBACT,CAAC,IACG,EACN,UAAU,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,IACf,CACzB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,cAAc,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAqB,EAAiB,EAAE;IACtF,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC;IAC3D,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC,CAAC"}
|
|
@@ -13,7 +13,8 @@ export declare type HandlerProps = {
|
|
|
13
13
|
verifyPhoneDialog?: any;
|
|
14
14
|
responseTypeDialog?: any;
|
|
15
15
|
onSuccess?: () => void;
|
|
16
|
+
endpoint?: string;
|
|
16
17
|
};
|
|
17
18
|
export declare const handleInitCorporateLead: ({ formatData, typeForm, responseTypeDialog, verifyPhoneDialog, data, aspects, ev, }: HandlerProps) => Promise<void>;
|
|
18
19
|
export declare const handleCallback: ({ formatData, data, aspects, ev, typeForm, responseTypeDialog, onSuccess, }: HandlerProps) => Promise<void>;
|
|
19
|
-
export declare const handleDefault: ({ formatData, data, aspects, ev, router, responseTypeDialog, }: HandlerProps) => Promise<void>;
|
|
20
|
+
export declare const handleDefault: ({ formatData, data, aspects, ev, router, responseTypeDialog, endpoint, }: HandlerProps) => Promise<void>;
|
|
@@ -40,8 +40,8 @@ export const handleCallback = async ({ formatData, data, aspects = {}, ev, typeF
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
};
|
|
43
|
-
export const handleDefault = async ({ formatData, data, aspects = {}, ev, router, responseTypeDialog, }) => {
|
|
44
|
-
const ok = Boolean(await API.send(formatData, router,
|
|
43
|
+
export const handleDefault = async ({ formatData, data, aspects = {}, ev, router, responseTypeDialog, endpoint, }) => {
|
|
44
|
+
const ok = Boolean(await API.send(formatData, router, endpoint === 'lead'));
|
|
45
45
|
responseTypeDialog.open({ ok });
|
|
46
46
|
if (ok) {
|
|
47
47
|
handleAspects({ aspectsAttributes: data, aspects, ev });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAoB,MAAM,0BAA0B,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAIrE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,13 +10,18 @@ import { Headline } from '../Headline/Headline.js';
|
|
|
10
10
|
import { CashbackCalculatorResult } from './CashbackCalculatorResult.js';
|
|
11
11
|
import { CashbackCategory } from './CashbackCategory.js';
|
|
12
12
|
import { useCashbackCalculator } from './useCashbackCalculator.js';
|
|
13
|
+
const defaultButton = {
|
|
14
|
+
href: '/natural/debetcards/svoya-plus',
|
|
15
|
+
text: 'Оформить карту',
|
|
16
|
+
target: '_self',
|
|
17
|
+
};
|
|
13
18
|
const INCREASED_PERCENTS = ['5', '10', '15'];
|
|
14
19
|
const MAX_CATEGORIES = 5;
|
|
15
20
|
const INFO_BLOCK_HTML = `<p>Полученные баллы можно конвертировать в рубли и компенсировать покупки у партнеров. Подробнее в <a href='#docs'>документах</a></p>`;
|
|
16
|
-
export const CashbackCalculator = JSX(({ maxInputRange = 300000, image, deleteImage, infoImage, className = '', ...rest }) => {
|
|
21
|
+
export const CashbackCalculator = JSX(({ maxInputRange = 300000, image, deleteImage, infoImage, className = '', button = defaultButton, ...rest }) => {
|
|
17
22
|
const { cashbacks, categories, onAddNewCashback, onChangeCashback, onDeleteCashback, onResetCashback, } = useCashbackCalculator();
|
|
18
23
|
const img = image?.src ? (_jsx(Img, { image: image, className: "hidden w-full @xl:block", imageClassName: "justify-self-center" })) : null;
|
|
19
|
-
return (_jsxs(BlockWrapper, { className: style('flex flex-col justify-center items-center gap-lg', className), defaultPadding: style('p-6xl'), ...rest, children: [_jsx(Headline, { title: "\u041A\u0430\u043B\u044C\u043A\u0443\u043B\u044F\u0442\u043E\u0440 \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u0431\u0430\u043B\u043B\u043E\u0432", description: "\u041C\u043E\u0436\u043D\u043E \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 5 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0439, \u043E\u0434\u043D\u0430 \u0438\u0437 \u043D\u0438\u0445 \u0438\u0437 \u043F\u043E\u0432\u044B\u0448\u0435\u043D\u043D\u043E\u0439 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438", headlineVersion: "XL", isEmbedded: true }), _jsxs("div", { className: "flex flex-row items-start gap-lg", children: [_jsxs("div", { className: "w-full flex flex-col justify-center items-center gap-lg", children: [cashbacks.map((_) => (_jsx(CashbackCategory, { categories: categories, cashback: _, showIncreasedPercents: showIncreasedPercents(_, cashbacks), maxInputRange: maxInputRange, deleteImage: deleteImage, onDelete: onDeleteCashback, onChange: onChangeCashback }, String(_.id)))), renderButtons(cashbacks.length, onAddNewCashback, onResetCashback), _jsx(CashbackCalculatorResult, { cashbacks: cashbacks }), _jsx(InfoCard, { __html: INFO_BLOCK_HTML, image: infoImage }), _jsx(LinkButton, { className: "w-full @lg:w-auto self-start", href:
|
|
24
|
+
return (_jsxs(BlockWrapper, { className: style('flex flex-col justify-center items-center gap-lg', className), defaultPadding: style('p-6xl'), ...rest, children: [_jsx(Headline, { title: "\u041A\u0430\u043B\u044C\u043A\u0443\u043B\u044F\u0442\u043E\u0440 \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u0431\u0430\u043B\u043B\u043E\u0432", description: "\u041C\u043E\u0436\u043D\u043E \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 5 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0439, \u043E\u0434\u043D\u0430 \u0438\u0437 \u043D\u0438\u0445 \u0438\u0437 \u043F\u043E\u0432\u044B\u0448\u0435\u043D\u043D\u043E\u0439 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438", headlineVersion: "XL", isEmbedded: true }), _jsxs("div", { className: "flex flex-row items-start gap-lg", children: [_jsxs("div", { className: "w-full flex flex-col justify-center items-center gap-lg", children: [cashbacks.map((_) => (_jsx(CashbackCategory, { categories: categories, cashback: _, showIncreasedPercents: showIncreasedPercents(_, cashbacks), maxInputRange: maxInputRange, deleteImage: deleteImage, onDelete: onDeleteCashback, onChange: onChangeCashback }, String(_.id)))), renderButtons(cashbacks.length, onAddNewCashback, onResetCashback), _jsx(CashbackCalculatorResult, { cashbacks: cashbacks }), _jsx(InfoCard, { __html: INFO_BLOCK_HTML, image: infoImage }), _jsx(LinkButton, { className: "w-full @lg:w-auto self-start", href: button.href, text: button.text, target: button.target, version: "primary" })] }), img] })] }));
|
|
20
25
|
});
|
|
21
26
|
const renderButtons = (cashbacksLength, onAddNewCashback, onResetCashback) => {
|
|
22
27
|
return (_jsxs("div", { className: "w-full flex flex-col gap-lg", children: [cashbacksLength < MAX_CATEGORIES ? (_jsx(Button, { className: "self-start text-primary-main", embedded: true, version: "secondary", onClick: onAddNewCashback, children: "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0435\u0449\u0435" })) : null, cashbacksLength > 2 ? (_jsx(Button, { className: "self-start", version: "secondary", onClick: onResetCashback, children: "\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0432\u0441\u0435 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438" })) : null] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CashbackCalculator.js","sourceRoot":"","sources":["../../../src/components/CashbackCalculator/CashbackCalculator.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"CashbackCalculator.js","sourceRoot":"","sources":["../../../src/components/CashbackCalculator/CashbackCalculator.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type TitleProps } from '../../model/HeadlineType';
|
|
2
2
|
import { type Picture } from '../../model/Picture';
|
|
3
|
+
import { type LinkButtonContent } from '../../ui-kit/LinkButton/LinkButtonContent';
|
|
3
4
|
import { type Option } from '../../ui-kit/Select/Option';
|
|
4
5
|
import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
|
|
5
6
|
export declare type Cashback = {
|
|
@@ -11,6 +12,8 @@ export declare type Cashback = {
|
|
|
11
12
|
* @title Блок калькулятора кэшбека
|
|
12
13
|
*/
|
|
13
14
|
export declare type CashbackCalculatorContent = UniBlockContent & TitleProps & {
|
|
15
|
+
/** @title Кнопка */
|
|
16
|
+
button?: LinkButtonContent;
|
|
14
17
|
/** @title Максимальное значение поля 'Сумма покупок в категории' */
|
|
15
18
|
maxInputRange?: number;
|
|
16
19
|
/** @title Изображение */
|
|
@@ -38,6 +38,7 @@ const handlerMap: Record<string, Handler> = {
|
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
export const ApplicationForm = UniBlock<ApplicationFormProps>(
|
|
41
|
+
// eslint-disable-next-line max-lines-per-function
|
|
41
42
|
({
|
|
42
43
|
className,
|
|
43
44
|
title,
|
|
@@ -80,6 +81,7 @@ export const ApplicationForm = UniBlock<ApplicationFormProps>(
|
|
|
80
81
|
responseTypeDialog,
|
|
81
82
|
verifyPhoneDialog,
|
|
82
83
|
onSuccess,
|
|
84
|
+
endpoint,
|
|
83
85
|
});
|
|
84
86
|
},
|
|
85
87
|
[typeForm],
|
|
@@ -16,6 +16,7 @@ export type HandlerProps = {
|
|
|
16
16
|
verifyPhoneDialog?: any;
|
|
17
17
|
responseTypeDialog?: any;
|
|
18
18
|
onSuccess?: () => void;
|
|
19
|
+
endpoint?: string;
|
|
19
20
|
};
|
|
20
21
|
|
|
21
22
|
const API = LeadServiceAPI();
|
|
@@ -87,8 +88,9 @@ export const handleDefault = async ({
|
|
|
87
88
|
ev,
|
|
88
89
|
router,
|
|
89
90
|
responseTypeDialog,
|
|
91
|
+
endpoint,
|
|
90
92
|
}: HandlerProps) => {
|
|
91
|
-
const ok = Boolean(await API.send(formatData, router,
|
|
93
|
+
const ok = Boolean(await API.send(formatData, router, endpoint === 'lead'));
|
|
92
94
|
|
|
93
95
|
responseTypeDialog.open({ ok });
|
|
94
96
|
if (ok) {
|
|
@@ -4,6 +4,7 @@ import { Button } from '../../ui-kit/Button/Button';
|
|
|
4
4
|
import { Img } from '../../ui-kit/Img/Img';
|
|
5
5
|
import { InfoCard } from '../../ui-kit/InfoCard/InfoCard';
|
|
6
6
|
import { LinkButton } from '../../ui-kit/LinkButton/LinkButton';
|
|
7
|
+
import { type LinkButtonContent } from '../../ui-kit/LinkButton/LinkButtonContent';
|
|
7
8
|
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
8
9
|
import { style } from '../../utils/style';
|
|
9
10
|
import { Headline } from '../Headline/Headline';
|
|
@@ -12,6 +13,12 @@ import { CashbackCalculatorResult } from './CashbackCalculatorResult';
|
|
|
12
13
|
import { CashbackCategory } from './CashbackCategory';
|
|
13
14
|
import { useCashbackCalculator } from './useCashbackCalculator';
|
|
14
15
|
|
|
16
|
+
const defaultButton: LinkButtonContent = {
|
|
17
|
+
href: '/natural/debetcards/svoya-plus',
|
|
18
|
+
text: 'Оформить карту',
|
|
19
|
+
target: '_self',
|
|
20
|
+
};
|
|
21
|
+
|
|
15
22
|
const INCREASED_PERCENTS = ['5', '10', '15'];
|
|
16
23
|
|
|
17
24
|
const MAX_CATEGORIES = 5;
|
|
@@ -21,7 +28,15 @@ const INFO_BLOCK_HTML = `<p>Полученные баллы можно конв
|
|
|
21
28
|
interface CashbackCalculatorProps extends CashbackCalculatorContent, UniBlockProps {}
|
|
22
29
|
|
|
23
30
|
export const CashbackCalculator = JSX<CashbackCalculatorProps>(
|
|
24
|
-
({
|
|
31
|
+
({
|
|
32
|
+
maxInputRange = 300000,
|
|
33
|
+
image,
|
|
34
|
+
deleteImage,
|
|
35
|
+
infoImage,
|
|
36
|
+
className = '',
|
|
37
|
+
button = defaultButton,
|
|
38
|
+
...rest
|
|
39
|
+
}) => {
|
|
25
40
|
const {
|
|
26
41
|
cashbacks,
|
|
27
42
|
categories,
|
|
@@ -66,8 +81,9 @@ export const CashbackCalculator = JSX<CashbackCalculatorProps>(
|
|
|
66
81
|
<InfoCard __html={INFO_BLOCK_HTML} image={infoImage} />
|
|
67
82
|
<LinkButton
|
|
68
83
|
className="w-full @lg:w-auto self-start"
|
|
69
|
-
href=
|
|
70
|
-
text=
|
|
84
|
+
href={button.href}
|
|
85
|
+
text={button.text}
|
|
86
|
+
target={button.target}
|
|
71
87
|
version="primary"
|
|
72
88
|
/>
|
|
73
89
|
</div>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type TitleProps } from '../../model/HeadlineType';
|
|
2
2
|
import { type Picture } from '../../model/Picture';
|
|
3
|
+
import { type LinkButtonContent } from '../../ui-kit/LinkButton/LinkButtonContent';
|
|
3
4
|
import { type Option } from '../../ui-kit/Select/Option';
|
|
4
5
|
import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
|
|
5
6
|
|
|
@@ -14,6 +15,8 @@ export type Cashback = {
|
|
|
14
15
|
*/
|
|
15
16
|
export type CashbackCalculatorContent = UniBlockContent &
|
|
16
17
|
TitleProps & {
|
|
18
|
+
/** @title Кнопка */
|
|
19
|
+
button?: LinkButtonContent;
|
|
17
20
|
/** @title Максимальное значение поля 'Сумма покупок в категории' */
|
|
18
21
|
maxInputRange?: number;
|
|
19
22
|
/** @title Изображение */
|
package/package.json
CHANGED
|
@@ -90,7 +90,7 @@ export const handleDefault = async ({
|
|
|
90
90
|
responseTypeDialog,
|
|
91
91
|
endpoint,
|
|
92
92
|
}: HandlerProps) => {
|
|
93
|
-
const ok = Boolean(await API.send(formatData, router, endpoint
|
|
93
|
+
const ok = Boolean(await API.send(formatData, router, endpoint === 'lead'));
|
|
94
94
|
|
|
95
95
|
responseTypeDialog.open({ ok });
|
|
96
96
|
if (ok) {
|
|
@@ -4,6 +4,7 @@ import { Button } from '../../ui-kit/Button/Button';
|
|
|
4
4
|
import { Img } from '../../ui-kit/Img/Img';
|
|
5
5
|
import { InfoCard } from '../../ui-kit/InfoCard/InfoCard';
|
|
6
6
|
import { LinkButton } from '../../ui-kit/LinkButton/LinkButton';
|
|
7
|
+
import { type LinkButtonContent } from '../../ui-kit/LinkButton/LinkButtonContent';
|
|
7
8
|
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
8
9
|
import { style } from '../../utils/style';
|
|
9
10
|
import { Headline } from '../Headline/Headline';
|
|
@@ -12,6 +13,12 @@ import { CashbackCalculatorResult } from './CashbackCalculatorResult';
|
|
|
12
13
|
import { CashbackCategory } from './CashbackCategory';
|
|
13
14
|
import { useCashbackCalculator } from './useCashbackCalculator';
|
|
14
15
|
|
|
16
|
+
const defaultButton: LinkButtonContent = {
|
|
17
|
+
href: '/natural/debetcards/svoya-plus',
|
|
18
|
+
text: 'Оформить карту',
|
|
19
|
+
target: '_self',
|
|
20
|
+
};
|
|
21
|
+
|
|
15
22
|
const INCREASED_PERCENTS = ['5', '10', '15'];
|
|
16
23
|
|
|
17
24
|
const MAX_CATEGORIES = 5;
|
|
@@ -21,7 +28,15 @@ const INFO_BLOCK_HTML = `<p>Полученные баллы можно конв
|
|
|
21
28
|
interface CashbackCalculatorProps extends CashbackCalculatorContent, UniBlockProps {}
|
|
22
29
|
|
|
23
30
|
export const CashbackCalculator = JSX<CashbackCalculatorProps>(
|
|
24
|
-
({
|
|
31
|
+
({
|
|
32
|
+
maxInputRange = 300000,
|
|
33
|
+
image,
|
|
34
|
+
deleteImage,
|
|
35
|
+
infoImage,
|
|
36
|
+
className = '',
|
|
37
|
+
button = defaultButton,
|
|
38
|
+
...rest
|
|
39
|
+
}) => {
|
|
25
40
|
const {
|
|
26
41
|
cashbacks,
|
|
27
42
|
categories,
|
|
@@ -66,8 +81,9 @@ export const CashbackCalculator = JSX<CashbackCalculatorProps>(
|
|
|
66
81
|
<InfoCard __html={INFO_BLOCK_HTML} image={infoImage} />
|
|
67
82
|
<LinkButton
|
|
68
83
|
className="w-full @lg:w-auto self-start"
|
|
69
|
-
href=
|
|
70
|
-
text=
|
|
84
|
+
href={button.href}
|
|
85
|
+
text={button.text}
|
|
86
|
+
target={button.target}
|
|
71
87
|
version="primary"
|
|
72
88
|
/>
|
|
73
89
|
</div>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type TitleProps } from '../../model/HeadlineType';
|
|
2
2
|
import { type Picture } from '../../model/Picture';
|
|
3
|
+
import { type LinkButtonContent } from '../../ui-kit/LinkButton/LinkButtonContent';
|
|
3
4
|
import { type Option } from '../../ui-kit/Select/Option';
|
|
4
5
|
import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
|
|
5
6
|
|
|
@@ -14,6 +15,8 @@ export type Cashback = {
|
|
|
14
15
|
*/
|
|
15
16
|
export type CashbackCalculatorContent = UniBlockContent &
|
|
16
17
|
TitleProps & {
|
|
18
|
+
/** @title Кнопка */
|
|
19
|
+
button?: LinkButtonContent;
|
|
17
20
|
/** @title Максимальное значение поля 'Сумма покупок в категории' */
|
|
18
21
|
maxInputRange?: number;
|
|
19
22
|
/** @title Изображение */
|