@redneckz/wildless-cms-uni-blocks 0.14.720 → 0.14.722
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/api/RetailAPI/updateUserTask.d.ts +9 -0
- package/bundle/bundle.umd.js +19 -5
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/ui-kit/DocumentDialog/DocumentDialog.d.ts +1 -0
- package/bundle/ui-kit/DocumentDialog/useDocumentDialog.d.ts +1 -1
- package/dist/api/RetailAPI/updateUserTask.d.ts +9 -0
- package/dist/api/RetailAPI/updateUserTask.js.map +1 -1
- package/dist/components/ApplicationLeadForm/getLeadFormTaskData.js +11 -0
- package/dist/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
- package/dist/ui-kit/Checkbox/CheckboxWithDoc.js +1 -1
- package/dist/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
- package/dist/ui-kit/DocumentDialog/DocumentDialog.d.ts +1 -0
- package/dist/ui-kit/DocumentDialog/DocumentDialog.js +4 -1
- package/dist/ui-kit/DocumentDialog/DocumentDialog.js.map +1 -1
- package/dist/ui-kit/DocumentDialog/useDocumentDialog.d.ts +1 -1
- package/dist/ui-kit/DocumentDialog/useDocumentDialog.js +2 -2
- package/dist/ui-kit/DocumentDialog/useDocumentDialog.js.map +1 -1
- package/lib/api/RetailAPI/updateUserTask.d.ts +9 -0
- package/lib/api/RetailAPI/updateUserTask.js.map +1 -1
- package/lib/components/ApplicationLeadForm/getLeadFormTaskData.js +11 -0
- package/lib/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
- package/lib/ui-kit/Checkbox/CheckboxWithDoc.js +1 -1
- package/lib/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
- package/lib/ui-kit/DocumentDialog/DocumentDialog.d.ts +1 -0
- package/lib/ui-kit/DocumentDialog/DocumentDialog.js +4 -1
- package/lib/ui-kit/DocumentDialog/DocumentDialog.js.map +1 -1
- package/lib/ui-kit/DocumentDialog/useDocumentDialog.d.ts +1 -1
- package/lib/ui-kit/DocumentDialog/useDocumentDialog.js +2 -2
- package/lib/ui-kit/DocumentDialog/useDocumentDialog.js.map +1 -1
- package/mobile/bundle/api/RetailAPI/updateUserTask.d.ts +9 -0
- package/mobile/bundle/bundle.umd.js +19 -5
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/ui-kit/DocumentDialog/DocumentDialog.d.ts +1 -0
- package/mobile/bundle/ui-kit/DocumentDialog/useDocumentDialog.d.ts +1 -1
- package/mobile/dist/api/RetailAPI/updateUserTask.d.ts +9 -0
- package/mobile/dist/api/RetailAPI/updateUserTask.js.map +1 -1
- package/mobile/dist/components/ApplicationLeadForm/getLeadFormTaskData.js +11 -0
- package/mobile/dist/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
- package/mobile/dist/ui-kit/Checkbox/CheckboxWithDoc.js +1 -1
- package/mobile/dist/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
- package/mobile/dist/ui-kit/DocumentDialog/DocumentDialog.d.ts +1 -0
- package/mobile/dist/ui-kit/DocumentDialog/DocumentDialog.js +4 -1
- package/mobile/dist/ui-kit/DocumentDialog/DocumentDialog.js.map +1 -1
- package/mobile/dist/ui-kit/DocumentDialog/useDocumentDialog.d.ts +1 -1
- package/mobile/dist/ui-kit/DocumentDialog/useDocumentDialog.js +2 -2
- package/mobile/dist/ui-kit/DocumentDialog/useDocumentDialog.js.map +1 -1
- package/mobile/lib/api/RetailAPI/updateUserTask.d.ts +9 -0
- package/mobile/lib/api/RetailAPI/updateUserTask.js.map +1 -1
- package/mobile/lib/components/ApplicationLeadForm/getLeadFormTaskData.js +11 -0
- package/mobile/lib/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
- package/mobile/lib/ui-kit/Checkbox/CheckboxWithDoc.js +1 -1
- package/mobile/lib/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
- package/mobile/lib/ui-kit/DocumentDialog/DocumentDialog.d.ts +1 -0
- package/mobile/lib/ui-kit/DocumentDialog/DocumentDialog.js +4 -1
- package/mobile/lib/ui-kit/DocumentDialog/DocumentDialog.js.map +1 -1
- package/mobile/lib/ui-kit/DocumentDialog/useDocumentDialog.d.ts +1 -1
- package/mobile/lib/ui-kit/DocumentDialog/useDocumentDialog.js +2 -2
- package/mobile/lib/ui-kit/DocumentDialog/useDocumentDialog.js.map +1 -1
- package/mobile/src/api/RetailAPI/updateUserTask.ts +10 -0
- package/mobile/src/components/ApplicationLeadForm/getLeadFormTaskData.ts +15 -1
- package/mobile/src/ui-kit/Checkbox/CheckboxWithDoc.tsx +1 -1
- package/mobile/src/ui-kit/DocumentDialog/DocumentDialog.tsx +22 -12
- package/mobile/src/ui-kit/DocumentDialog/useDocumentDialog.ts +2 -2
- package/package.json +1 -1
- package/src/api/RetailAPI/updateUserTask.ts +10 -0
- package/src/components/ApplicationLeadForm/getLeadFormTaskData.ts +15 -1
- package/src/ui-kit/Checkbox/CheckboxWithDoc.tsx +1 -1
- package/src/ui-kit/DocumentDialog/DocumentDialog.tsx +22 -12
- package/src/ui-kit/DocumentDialog/useDocumentDialog.ts +2 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { Nullable } from '../../utils/Nullable';
|
|
2
|
-
export declare const useDocumentDialog: (docId: Nullable<number
|
|
2
|
+
export declare const useDocumentDialog: (docId: Nullable<number>, onDocumentRead?: () => void) => () => Promise<void>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Option } from '../../ui-kit/Select/Option';
|
|
2
|
+
import { type Nullable } from '../../utils/Nullable';
|
|
2
3
|
declare type ParticipantAddress = {
|
|
3
4
|
addressType: {
|
|
4
5
|
key: 'REGISTRATION' | 'RESIDENTAL' | 'WORK';
|
|
@@ -98,6 +99,13 @@ export declare type Participant = {
|
|
|
98
99
|
classCard?: Option;
|
|
99
100
|
codeWord?: string;
|
|
100
101
|
};
|
|
102
|
+
export declare type MarketingInfo = {
|
|
103
|
+
utm_campaign?: Nullable<string>;
|
|
104
|
+
utm_medium?: Nullable<string>;
|
|
105
|
+
utm_source?: Nullable<string>;
|
|
106
|
+
utm_content?: Nullable<string>;
|
|
107
|
+
utm_term?: Nullable<string>;
|
|
108
|
+
};
|
|
101
109
|
export declare type UpdateUserTaskBody = {
|
|
102
110
|
sendToBank: boolean;
|
|
103
111
|
taskKind: 'SHORT' | 'FULL' | 'UNITED';
|
|
@@ -120,6 +128,7 @@ export declare type UpdateUserTaskBody = {
|
|
|
120
128
|
loanAmount?: number;
|
|
121
129
|
creditPeriod?: number;
|
|
122
130
|
paymentTypeCd?: PaymentType;
|
|
131
|
+
marketingInfo?: MarketingInfo;
|
|
123
132
|
};
|
|
124
133
|
};
|
|
125
134
|
export declare type CreateUserProfileResponse = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateUserTask.js","sourceRoot":"","sources":["../../../src/api/RetailAPI/updateUserTask.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"updateUserTask.js","sourceRoot":"","sources":["../../../src/api/RetailAPI/updateUserTask.ts"],"names":[],"mappings":";;AAEA,2CAAwC;AAuJjC,MAAM,cAAc,GAAG,CAAC,IAAwB,EAAE,EAAE,CACzD,IAAA,qBAAS,EAAC,2BAA2B,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AADzC,QAAA,cAAc,kBAC2B"}
|
|
@@ -33,8 +33,19 @@ const getLeadFormTaskData = ({ participantId, taskId, profileId, formData, }) =>
|
|
|
33
33
|
},
|
|
34
34
|
},
|
|
35
35
|
],
|
|
36
|
+
marketingInfo: getMarketingInfo(),
|
|
36
37
|
},
|
|
37
38
|
};
|
|
38
39
|
};
|
|
39
40
|
exports.getLeadFormTaskData = getLeadFormTaskData;
|
|
41
|
+
const getMarketingInfo = () => {
|
|
42
|
+
const params = new URLSearchParams(decodeURIComponent(globalThis.location?.search));
|
|
43
|
+
return {
|
|
44
|
+
utm_campaign: params.get('utm_campaign'),
|
|
45
|
+
utm_medium: params.get('utm_medium'),
|
|
46
|
+
utm_source: params.get('utm_source'),
|
|
47
|
+
utm_content: params.get('utm_content'),
|
|
48
|
+
utm_term: params.get('utm_term'),
|
|
49
|
+
};
|
|
50
|
+
};
|
|
40
51
|
//# sourceMappingURL=getLeadFormTaskData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLeadFormTaskData.js","sourceRoot":"","sources":["../../../src/components/ApplicationLeadForm/getLeadFormTaskData.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"getLeadFormTaskData.js","sourceRoot":"","sources":["../../../src/components/ApplicationLeadForm/getLeadFormTaskData.ts"],"names":[],"mappings":";;AAEA,wEAAqE;AACrE,uDAAoD;AACpD,yDAAsD;AACtD,+CAA6D;AAUtD,MAAM,mBAAmB,GAAG,CAAC,EAClC,aAAa,EACb,MAAM,EACN,SAAS,EACT,QAAQ,GACiB,EAAsB,EAAE;IACjD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;IAC9E,MAAM,SAAS,GAAG,IAAA,qCAAiB,GAAE,CAAC;IAEtC,OAAO;QACL,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE;YACJ,UAAU,EAAE,SAAS,CAAC,MAAM;YAC5B,EAAE,EAAE,MAAM;YACV,YAAY,EAAE;gBACZ;oBACE,SAAS,EAAE,eAAe,IAAI,IAAA,uBAAU,EAAC,eAAe,EAAE,IAAI,CAAC;oBAC/D,EAAE,EAAE,aAAa;oBACjB,OAAO,EAAE,UAAU;oBACnB,IAAI;oBACJ,OAAO;oBACP,OAAO,EAAE;wBACP,EAAE,EAAE,SAAS;qBACd;oBACD,mBAAmB,EAAE,IAAA,8BAAsB,EAAC;wBAC1C,KAAK,EAAE,KAAK,IAAI,IAAA,yBAAW,EAAC,KAAK,CAAC;wBAClC,KAAK;qBACN,CAAC;oBACF,MAAM,EAAE;wBACN,GAAG,EAAE,UAAU;wBACf,KAAK,EAAE,SAAS;qBACjB;iBACF;aACF;YACD,aAAa,EAAE,gBAAgB,EAAE;SAClC;KACF,CAAC;AACJ,CAAC,CAAC;AAtCW,QAAA,mBAAmB,uBAsC9B;AAEF,MAAM,gBAAgB,GAAG,GAAkB,EAAE;IAC3C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAEpF,OAAO;QACL,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;QACxC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;QACpC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;QACpC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;QACtC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;KACjC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -9,7 +9,7 @@ const Text_1 = require("../Text/Text");
|
|
|
9
9
|
const Checkbox_1 = require("./Checkbox");
|
|
10
10
|
const OPEN_DOC_BUTTON_TEXT = 'Ознакомиться';
|
|
11
11
|
exports.CheckboxWithDoc = (0, uni_jsx_1.JSX)(({ className, error, docId, ...props }) => {
|
|
12
|
-
const openDocument = (0, useDocumentDialog_1.useDocumentDialog)(docId);
|
|
12
|
+
const openDocument = (0, useDocumentDialog_1.useDocumentDialog)(docId, () => props.onChange?.(true));
|
|
13
13
|
return ((0, jsx_runtime_1.jsxs)("div", { className: className, children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-wrap gap-x-m", children: [(0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { ...props }), docId ? ((0, jsx_runtime_1.jsx)(LinkButton_1.LinkButton, { className: "text-primary-main", onClick: openDocument, children: (0, jsx_runtime_1.jsx)(Text_1.Text, { children: OPEN_DOC_BUTTON_TEXT }) })) : null] }), (0, renderErrorText_1.renderErrorText)(error)] }));
|
|
14
14
|
});
|
|
15
15
|
//# sourceMappingURL=CheckboxWithDoc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxWithDoc.js","sourceRoot":"","sources":["../../../src/ui-kit/Checkbox/CheckboxWithDoc.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,2EAAwE;AACxE,8DAA2D;AAC3D,yDAAsD;AACtD,uCAAoC;AACpC,yCAAsC;AAGtC,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAM/B,QAAA,eAAe,GAAG,IAAA,aAAG,EAChC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACxC,MAAM,YAAY,GAAG,IAAA,qCAAiB,EAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"CheckboxWithDoc.js","sourceRoot":"","sources":["../../../src/ui-kit/Checkbox/CheckboxWithDoc.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,2EAAwE;AACxE,8DAA2D;AAC3D,yDAAsD;AACtD,uCAAoC;AACpC,yCAAsC;AAGtC,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAM/B,QAAA,eAAe,GAAG,IAAA,aAAG,EAChC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACxC,MAAM,YAAY,GAAG,IAAA,qCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAE5E,OAAO,CACL,iCAAK,SAAS,EAAE,SAAS,aACvB,iCAAK,SAAS,EAAC,wBAAwB,aACrC,uBAAC,mBAAQ,OAAK,KAAK,GAAI,EACtB,KAAK,CAAC,CAAC,CAAC,CACP,uBAAC,uBAAU,IAAC,SAAS,EAAC,mBAAmB,EAAC,OAAO,EAAE,YAAY,YAC7D,uBAAC,WAAI,cAAE,oBAAoB,GAAQ,GACxB,CACd,CAAC,CAAC,CAAC,IAAI,IACJ,EACL,IAAA,iCAAe,EAAC,KAAK,CAAC,IACnB,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -5,5 +5,8 @@ const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
|
5
5
|
const Button_1 = require("../Button/Button");
|
|
6
6
|
const Dialog_1 = require("../DialogManager/Dialog");
|
|
7
7
|
// TODO Перенесено как есть из openDocument. Требует рефакторинга
|
|
8
|
-
exports.DocumentDialog = (0, uni_jsx_1.JSX)(({ src, convertToPng, onClose }) => ((0, jsx_runtime_1.jsxs)(Dialog_1.Dialog, { className: "my-6xl max-w-4xl mx-auto px-0 min-h-0 pb-0", onClose: onClose, children: [convertToPng ? ((0, jsx_runtime_1.jsx)("img", { src: src })) : ((0, jsx_runtime_1.jsx)("iframe", { src: `${src}#toolbar=0`, className: "w-full h-[80vh]", id: "iframe-dialog" })), (0, jsx_runtime_1.jsx)(Button_1.Button, { className: "mx-auto mt-m", type: "button", onClick:
|
|
8
|
+
exports.DocumentDialog = (0, uni_jsx_1.JSX)(({ src, convertToPng, onClose, onDocumentRead }) => ((0, jsx_runtime_1.jsxs)(Dialog_1.Dialog, { className: "my-6xl max-w-4xl mx-auto px-0 min-h-0 pb-0", onClose: onClose, children: [convertToPng ? ((0, jsx_runtime_1.jsx)("img", { src: src })) : ((0, jsx_runtime_1.jsx)("iframe", { src: `${src}#toolbar=0`, className: "w-full h-[80vh]", id: "iframe-dialog" })), (0, jsx_runtime_1.jsx)(Button_1.Button, { className: "mx-auto mt-m", type: "button", onClick: () => {
|
|
9
|
+
onDocumentRead?.();
|
|
10
|
+
onClose?.();
|
|
11
|
+
}, children: "\u041E\u0437\u043D\u0430\u043A\u043E\u043C\u0438\u0442\u044C\u0441\u044F" })] })));
|
|
9
12
|
//# sourceMappingURL=DocumentDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentDialog.js","sourceRoot":"","sources":["../../../src/ui-kit/DocumentDialog/DocumentDialog.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,6CAA0C;AAC1C,oDAAiD;
|
|
1
|
+
{"version":3,"file":"DocumentDialog.js","sourceRoot":"","sources":["../../../src/ui-kit/DocumentDialog/DocumentDialog.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,6CAA0C;AAC1C,oDAAiD;AASjD,iEAAiE;AACpD,QAAA,cAAc,GAAG,IAAA,aAAG,EAC/B,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAClD,wBAAC,eAAM,IAAC,SAAS,EAAC,4CAA4C,EAAC,OAAO,EAAE,OAAO,aAC5E,YAAY,CAAC,CAAC,CAAC,CACd,gCAAK,GAAG,EAAE,GAAG,GAAI,CAClB,CAAC,CAAC,CAAC,CACF,mCAAQ,GAAG,EAAE,GAAG,GAAG,YAAY,EAAE,SAAS,EAAC,iBAAiB,EAAC,EAAE,EAAC,eAAe,GAAG,CACnF,EACD,uBAAC,eAAM,IACL,SAAS,EAAC,cAAc,EACxB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;gBACZ,cAAc,EAAE,EAAE,CAAC;gBACnB,OAAO,EAAE,EAAE,CAAC;YACd,CAAC,yFAGM,IACF,CACV,CACF,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { Nullable } from '../../utils/Nullable';
|
|
2
|
-
export declare const useDocumentDialog: (docId: Nullable<number
|
|
2
|
+
export declare const useDocumentDialog: (docId: Nullable<number>, onDocumentRead?: () => void) => () => Promise<void>;
|
|
@@ -5,13 +5,13 @@ const feedbackById_1 = require("../../api/RetailAPI/feedbackById");
|
|
|
5
5
|
const useMobileMode_1 = require("../../hooks/useMobileMode");
|
|
6
6
|
const useDialog_1 = require("../DialogManager/useDialog");
|
|
7
7
|
const DocumentDialog_1 = require("./DocumentDialog");
|
|
8
|
-
const useDocumentDialog = (docId) => {
|
|
8
|
+
const useDocumentDialog = (docId, onDocumentRead) => {
|
|
9
9
|
const { open } = (0, useDialog_1.useDialog)(DocumentDialog_1.DocumentDialog);
|
|
10
10
|
const isMobileMode = (0, useMobileMode_1.useMobileMode)();
|
|
11
11
|
return (0, hooks_1.useCallback)(async () => {
|
|
12
12
|
if (docId) {
|
|
13
13
|
const src = URL.createObjectURL(await (0, feedbackById_1.feedbackById)(docId, isMobileMode));
|
|
14
|
-
open({ src });
|
|
14
|
+
open({ src, onDocumentRead });
|
|
15
15
|
}
|
|
16
16
|
}, [open, docId, isMobileMode]);
|
|
17
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDocumentDialog.js","sourceRoot":"","sources":["../../../src/ui-kit/DocumentDialog/useDocumentDialog.ts"],"names":[],"mappings":";;AAAA,uDAA0D;AAC1D,mEAAgE;AAChE,6DAA0D;AAE1D,0DAAuD;AACvD,qDAAkD;AAE3C,MAAM,iBAAiB,GAAG,CAAC,KAAuB,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"useDocumentDialog.js","sourceRoot":"","sources":["../../../src/ui-kit/DocumentDialog/useDocumentDialog.ts"],"names":[],"mappings":";;AAAA,uDAA0D;AAC1D,mEAAgE;AAChE,6DAA0D;AAE1D,0DAAuD;AACvD,qDAAkD;AAE3C,MAAM,iBAAiB,GAAG,CAAC,KAAuB,EAAE,cAA2B,EAAE,EAAE;IACxF,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,qBAAS,EAAC,+BAAc,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,IAAA,6BAAa,GAAE,CAAC;IAErC,OAAO,IAAA,mBAAW,EAAC,KAAK,IAAI,EAAE;QAC5B,IAAI,KAAK,EAAE;YACT,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,IAAA,2BAAY,EAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;SAC/B;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC;AAVW,QAAA,iBAAiB,qBAU5B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Option } from '../../ui-kit/Select/Option';
|
|
2
|
+
import { type Nullable } from '../../utils/Nullable';
|
|
2
3
|
declare type ParticipantAddress = {
|
|
3
4
|
addressType: {
|
|
4
5
|
key: 'REGISTRATION' | 'RESIDENTAL' | 'WORK';
|
|
@@ -98,6 +99,13 @@ export declare type Participant = {
|
|
|
98
99
|
classCard?: Option;
|
|
99
100
|
codeWord?: string;
|
|
100
101
|
};
|
|
102
|
+
export declare type MarketingInfo = {
|
|
103
|
+
utm_campaign?: Nullable<string>;
|
|
104
|
+
utm_medium?: Nullable<string>;
|
|
105
|
+
utm_source?: Nullable<string>;
|
|
106
|
+
utm_content?: Nullable<string>;
|
|
107
|
+
utm_term?: Nullable<string>;
|
|
108
|
+
};
|
|
101
109
|
export declare type UpdateUserTaskBody = {
|
|
102
110
|
sendToBank: boolean;
|
|
103
111
|
taskKind: 'SHORT' | 'FULL' | 'UNITED';
|
|
@@ -120,6 +128,7 @@ export declare type UpdateUserTaskBody = {
|
|
|
120
128
|
loanAmount?: number;
|
|
121
129
|
creditPeriod?: number;
|
|
122
130
|
paymentTypeCd?: PaymentType;
|
|
131
|
+
marketingInfo?: MarketingInfo;
|
|
123
132
|
};
|
|
124
133
|
};
|
|
125
134
|
export declare type CreateUserProfileResponse = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateUserTask.js","sourceRoot":"","sources":["../../../src/api/RetailAPI/updateUserTask.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"updateUserTask.js","sourceRoot":"","sources":["../../../src/api/RetailAPI/updateUserTask.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAuJxC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAwB,EAAE,EAAE,CACzD,SAAS,CAAC,2BAA2B,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC"}
|
|
@@ -31,7 +31,18 @@ export const getLeadFormTaskData = ({ participantId, taskId, profileId, formData
|
|
|
31
31
|
},
|
|
32
32
|
},
|
|
33
33
|
],
|
|
34
|
+
marketingInfo: getMarketingInfo(),
|
|
34
35
|
},
|
|
35
36
|
};
|
|
36
37
|
};
|
|
38
|
+
const getMarketingInfo = () => {
|
|
39
|
+
const params = new URLSearchParams(decodeURIComponent(globalThis.location?.search));
|
|
40
|
+
return {
|
|
41
|
+
utm_campaign: params.get('utm_campaign'),
|
|
42
|
+
utm_medium: params.get('utm_medium'),
|
|
43
|
+
utm_source: params.get('utm_source'),
|
|
44
|
+
utm_content: params.get('utm_content'),
|
|
45
|
+
utm_term: params.get('utm_term'),
|
|
46
|
+
};
|
|
47
|
+
};
|
|
37
48
|
//# sourceMappingURL=getLeadFormTaskData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLeadFormTaskData.js","sourceRoot":"","sources":["../../../src/components/ApplicationLeadForm/getLeadFormTaskData.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getLeadFormTaskData.js","sourceRoot":"","sources":["../../../src/components/ApplicationLeadForm/getLeadFormTaskData.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAU7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,aAAa,EACb,MAAM,EACN,SAAS,EACT,QAAQ,GACiB,EAAsB,EAAE;IACjD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;IAC9E,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;IAEtC,OAAO;QACL,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE;YACJ,UAAU,EAAE,SAAS,CAAC,MAAM;YAC5B,EAAE,EAAE,MAAM;YACV,YAAY,EAAE;gBACZ;oBACE,SAAS,EAAE,eAAe,IAAI,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC;oBAC/D,EAAE,EAAE,aAAa;oBACjB,OAAO,EAAE,UAAU;oBACnB,IAAI;oBACJ,OAAO;oBACP,OAAO,EAAE;wBACP,EAAE,EAAE,SAAS;qBACd;oBACD,mBAAmB,EAAE,sBAAsB,CAAC;wBAC1C,KAAK,EAAE,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC;wBAClC,KAAK;qBACN,CAAC;oBACF,MAAM,EAAE;wBACN,GAAG,EAAE,UAAU;wBACf,KAAK,EAAE,SAAS;qBACjB;iBACF;aACF;YACD,aAAa,EAAE,gBAAgB,EAAE;SAClC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,GAAkB,EAAE;IAC3C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAEpF,OAAO;QACL,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;QACxC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;QACpC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;QACpC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;QACtC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;KACjC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -7,7 +7,7 @@ import { Text } from '../Text/Text.js';
|
|
|
7
7
|
import { Checkbox } from './Checkbox.js';
|
|
8
8
|
const OPEN_DOC_BUTTON_TEXT = 'Ознакомиться';
|
|
9
9
|
export const CheckboxWithDoc = JSX(({ className, error, docId, ...props }) => {
|
|
10
|
-
const openDocument = useDocumentDialog(docId);
|
|
10
|
+
const openDocument = useDocumentDialog(docId, () => props.onChange?.(true));
|
|
11
11
|
return (_jsxs("div", { className: className, children: [_jsxs("div", { className: "flex flex-wrap gap-x-m", children: [_jsx(Checkbox, { ...props }), docId ? (_jsx(LinkButton, { className: "text-primary-main", onClick: openDocument, children: _jsx(Text, { children: OPEN_DOC_BUTTON_TEXT }) })) : null] }), renderErrorText(error)] }));
|
|
12
12
|
});
|
|
13
13
|
//# sourceMappingURL=CheckboxWithDoc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxWithDoc.js","sourceRoot":"","sources":["../../../src/ui-kit/Checkbox/CheckboxWithDoc.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAM5C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAChC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACxC,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"CheckboxWithDoc.js","sourceRoot":"","sources":["../../../src/ui-kit/Checkbox/CheckboxWithDoc.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAM5C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAChC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACxC,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAE5E,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,aACvB,eAAK,SAAS,EAAC,wBAAwB,aACrC,KAAC,QAAQ,OAAK,KAAK,GAAI,EACtB,KAAK,CAAC,CAAC,CAAC,CACP,KAAC,UAAU,IAAC,SAAS,EAAC,mBAAmB,EAAC,OAAO,EAAE,YAAY,YAC7D,KAAC,IAAI,cAAE,oBAAoB,GAAQ,GACxB,CACd,CAAC,CAAC,CAAC,IAAI,IACJ,EACL,eAAe,CAAC,KAAK,CAAC,IACnB,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -3,5 +3,8 @@ import { JSX } from '@redneckz/uni-jsx';
|
|
|
3
3
|
import { Button } from '../Button/Button.js';
|
|
4
4
|
import { Dialog } from '../DialogManager/Dialog.js';
|
|
5
5
|
// TODO Перенесено как есть из openDocument. Требует рефакторинга
|
|
6
|
-
export const DocumentDialog = JSX(({ src, convertToPng, onClose }) => (_jsxs(Dialog, { className: "my-6xl max-w-4xl mx-auto px-0 min-h-0 pb-0", onClose: onClose, children: [convertToPng ? (_jsx("img", { src: src })) : (_jsx("iframe", { src: `${src}#toolbar=0`, className: "w-full h-[80vh]", id: "iframe-dialog" })), _jsx(Button, { className: "mx-auto mt-m", type: "button", onClick:
|
|
6
|
+
export const DocumentDialog = JSX(({ src, convertToPng, onClose, onDocumentRead }) => (_jsxs(Dialog, { className: "my-6xl max-w-4xl mx-auto px-0 min-h-0 pb-0", onClose: onClose, children: [convertToPng ? (_jsx("img", { src: src })) : (_jsx("iframe", { src: `${src}#toolbar=0`, className: "w-full h-[80vh]", id: "iframe-dialog" })), _jsx(Button, { className: "mx-auto mt-m", type: "button", onClick: () => {
|
|
7
|
+
onDocumentRead?.();
|
|
8
|
+
onClose?.();
|
|
9
|
+
}, children: "\u041E\u0437\u043D\u0430\u043A\u043E\u043C\u0438\u0442\u044C\u0441\u044F" })] })));
|
|
7
10
|
//# sourceMappingURL=DocumentDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentDialog.js","sourceRoot":"","sources":["../../../src/ui-kit/DocumentDialog/DocumentDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"DocumentDialog.js","sourceRoot":"","sources":["../../../src/ui-kit/DocumentDialog/DocumentDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AASjD,iEAAiE;AACjE,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAC/B,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAClD,MAAC,MAAM,IAAC,SAAS,EAAC,4CAA4C,EAAC,OAAO,EAAE,OAAO,aAC5E,YAAY,CAAC,CAAC,CAAC,CACd,cAAK,GAAG,EAAE,GAAG,GAAI,CAClB,CAAC,CAAC,CAAC,CACF,iBAAQ,GAAG,EAAE,GAAG,GAAG,YAAY,EAAE,SAAS,EAAC,iBAAiB,EAAC,EAAE,EAAC,eAAe,GAAG,CACnF,EACD,KAAC,MAAM,IACL,SAAS,EAAC,cAAc,EACxB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;gBACZ,cAAc,EAAE,EAAE,CAAC;gBACnB,OAAO,EAAE,EAAE,CAAC;YACd,CAAC,yFAGM,IACF,CACV,CACF,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { Nullable } from '../../utils/Nullable';
|
|
2
|
-
export declare const useDocumentDialog: (docId: Nullable<number
|
|
2
|
+
export declare const useDocumentDialog: (docId: Nullable<number>, onDocumentRead?: () => void) => () => Promise<void>;
|
|
@@ -3,13 +3,13 @@ import { feedbackById } from '../../api/RetailAPI/feedbackById.js';
|
|
|
3
3
|
import { useMobileMode } from '../../hooks/useMobileMode.js';
|
|
4
4
|
import { useDialog } from '../DialogManager/useDialog.js';
|
|
5
5
|
import { DocumentDialog } from './DocumentDialog.js';
|
|
6
|
-
export const useDocumentDialog = (docId) => {
|
|
6
|
+
export const useDocumentDialog = (docId, onDocumentRead) => {
|
|
7
7
|
const { open } = useDialog(DocumentDialog);
|
|
8
8
|
const isMobileMode = useMobileMode();
|
|
9
9
|
return useCallback(async () => {
|
|
10
10
|
if (docId) {
|
|
11
11
|
const src = URL.createObjectURL(await feedbackById(docId, isMobileMode));
|
|
12
|
-
open({ src });
|
|
12
|
+
open({ src, onDocumentRead });
|
|
13
13
|
}
|
|
14
14
|
}, [open, docId, isMobileMode]);
|
|
15
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDocumentDialog.js","sourceRoot":"","sources":["../../../src/ui-kit/DocumentDialog/useDocumentDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAuB,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"useDocumentDialog.js","sourceRoot":"","sources":["../../../src/ui-kit/DocumentDialog/useDocumentDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAuB,EAAE,cAA2B,EAAE,EAAE;IACxF,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,aAAa,EAAE,CAAC;IAErC,OAAO,WAAW,CAAC,KAAK,IAAI,EAAE;QAC5B,IAAI,KAAK,EAAE;YACT,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;SAC/B;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Option } from '../../ui-kit/Select/Option';
|
|
2
|
+
import { type Nullable } from '../../utils/Nullable';
|
|
2
3
|
import { doRequest } from './doRequest';
|
|
3
4
|
|
|
4
5
|
type ParticipantAddress = {
|
|
@@ -110,6 +111,14 @@ export type Participant = {
|
|
|
110
111
|
codeWord?: string;
|
|
111
112
|
};
|
|
112
113
|
|
|
114
|
+
export type MarketingInfo = {
|
|
115
|
+
utm_campaign?: Nullable<string>;
|
|
116
|
+
utm_medium?: Nullable<string>;
|
|
117
|
+
utm_source?: Nullable<string>;
|
|
118
|
+
utm_content?: Nullable<string>;
|
|
119
|
+
utm_term?: Nullable<string>;
|
|
120
|
+
};
|
|
121
|
+
|
|
113
122
|
export type UpdateUserTaskBody = {
|
|
114
123
|
sendToBank: boolean;
|
|
115
124
|
taskKind: 'SHORT' | 'FULL' | 'UNITED';
|
|
@@ -132,6 +141,7 @@ export type UpdateUserTaskBody = {
|
|
|
132
141
|
loanAmount?: number;
|
|
133
142
|
creditPeriod?: number;
|
|
134
143
|
paymentTypeCd?: PaymentType;
|
|
144
|
+
marketingInfo?: MarketingInfo;
|
|
135
145
|
};
|
|
136
146
|
};
|
|
137
147
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
/* eslint-disable camelcase */
|
|
2
|
+
import { type MarketingInfo, type UpdateUserTaskBody } from '../../api/RetailAPI/updateUserTask';
|
|
2
3
|
import { locationNavigator } from '../../external/locationNavigator';
|
|
3
4
|
import { formatDate } from '../../utils/formatDate';
|
|
4
5
|
import { formatPhone } from '../../utils/formatPhone';
|
|
@@ -47,6 +48,19 @@ export const getLeadFormTaskData = ({
|
|
|
47
48
|
},
|
|
48
49
|
},
|
|
49
50
|
],
|
|
51
|
+
marketingInfo: getMarketingInfo(),
|
|
50
52
|
},
|
|
51
53
|
};
|
|
52
54
|
};
|
|
55
|
+
|
|
56
|
+
const getMarketingInfo = (): MarketingInfo => {
|
|
57
|
+
const params = new URLSearchParams(decodeURIComponent(globalThis.location?.search));
|
|
58
|
+
|
|
59
|
+
return {
|
|
60
|
+
utm_campaign: params.get('utm_campaign'),
|
|
61
|
+
utm_medium: params.get('utm_medium'),
|
|
62
|
+
utm_source: params.get('utm_source'),
|
|
63
|
+
utm_content: params.get('utm_content'),
|
|
64
|
+
utm_term: params.get('utm_term'),
|
|
65
|
+
};
|
|
66
|
+
};
|
|
@@ -14,7 +14,7 @@ interface CheckboxWithDocProps extends CheckboxProps {
|
|
|
14
14
|
|
|
15
15
|
export const CheckboxWithDoc = JSX<CheckboxWithDocProps>(
|
|
16
16
|
({ className, error, docId, ...props }) => {
|
|
17
|
-
const openDocument = useDocumentDialog(docId);
|
|
17
|
+
const openDocument = useDocumentDialog(docId, () => props.onChange?.(true));
|
|
18
18
|
|
|
19
19
|
return (
|
|
20
20
|
<div className={className}>
|
|
@@ -6,18 +6,28 @@ export interface DocumentDialogProps {
|
|
|
6
6
|
src: string;
|
|
7
7
|
convertToPng?: boolean;
|
|
8
8
|
onClose?: () => void;
|
|
9
|
+
onDocumentRead?: () => void;
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
// TODO Перенесено как есть из openDocument. Требует рефакторинга
|
|
12
|
-
export const DocumentDialog = JSX<DocumentDialogProps>(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
)
|
|
13
|
+
export const DocumentDialog = JSX<DocumentDialogProps>(
|
|
14
|
+
({ src, convertToPng, onClose, onDocumentRead }) => (
|
|
15
|
+
<Dialog className="my-6xl max-w-4xl mx-auto px-0 min-h-0 pb-0" onClose={onClose}>
|
|
16
|
+
{convertToPng ? (
|
|
17
|
+
<img src={src} />
|
|
18
|
+
) : (
|
|
19
|
+
<iframe src={`${src}#toolbar=0`} className="w-full h-[80vh]" id="iframe-dialog" />
|
|
20
|
+
)}
|
|
21
|
+
<Button
|
|
22
|
+
className="mx-auto mt-m"
|
|
23
|
+
type="button"
|
|
24
|
+
onClick={() => {
|
|
25
|
+
onDocumentRead?.();
|
|
26
|
+
onClose?.();
|
|
27
|
+
}}
|
|
28
|
+
>
|
|
29
|
+
Ознакомиться
|
|
30
|
+
</Button>
|
|
31
|
+
</Dialog>
|
|
32
|
+
),
|
|
33
|
+
);
|
|
@@ -5,14 +5,14 @@ import type { Nullable } from '../../utils/Nullable';
|
|
|
5
5
|
import { useDialog } from '../DialogManager/useDialog';
|
|
6
6
|
import { DocumentDialog } from './DocumentDialog';
|
|
7
7
|
|
|
8
|
-
export const useDocumentDialog = (docId: Nullable<number
|
|
8
|
+
export const useDocumentDialog = (docId: Nullable<number>, onDocumentRead?: () => void) => {
|
|
9
9
|
const { open } = useDialog(DocumentDialog);
|
|
10
10
|
const isMobileMode = useMobileMode();
|
|
11
11
|
|
|
12
12
|
return useCallback(async () => {
|
|
13
13
|
if (docId) {
|
|
14
14
|
const src = URL.createObjectURL(await feedbackById(docId, isMobileMode));
|
|
15
|
-
open({ src });
|
|
15
|
+
open({ src, onDocumentRead });
|
|
16
16
|
}
|
|
17
17
|
}, [open, docId, isMobileMode]);
|
|
18
18
|
};
|
package/package.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Option } from '../../ui-kit/Select/Option';
|
|
2
|
+
import { type Nullable } from '../../utils/Nullable';
|
|
2
3
|
import { doRequest } from './doRequest';
|
|
3
4
|
|
|
4
5
|
type ParticipantAddress = {
|
|
@@ -110,6 +111,14 @@ export type Participant = {
|
|
|
110
111
|
codeWord?: string;
|
|
111
112
|
};
|
|
112
113
|
|
|
114
|
+
export type MarketingInfo = {
|
|
115
|
+
utm_campaign?: Nullable<string>;
|
|
116
|
+
utm_medium?: Nullable<string>;
|
|
117
|
+
utm_source?: Nullable<string>;
|
|
118
|
+
utm_content?: Nullable<string>;
|
|
119
|
+
utm_term?: Nullable<string>;
|
|
120
|
+
};
|
|
121
|
+
|
|
113
122
|
export type UpdateUserTaskBody = {
|
|
114
123
|
sendToBank: boolean;
|
|
115
124
|
taskKind: 'SHORT' | 'FULL' | 'UNITED';
|
|
@@ -132,6 +141,7 @@ export type UpdateUserTaskBody = {
|
|
|
132
141
|
loanAmount?: number;
|
|
133
142
|
creditPeriod?: number;
|
|
134
143
|
paymentTypeCd?: PaymentType;
|
|
144
|
+
marketingInfo?: MarketingInfo;
|
|
135
145
|
};
|
|
136
146
|
};
|
|
137
147
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
/* eslint-disable camelcase */
|
|
2
|
+
import { type MarketingInfo, type UpdateUserTaskBody } from '../../api/RetailAPI/updateUserTask';
|
|
2
3
|
import { locationNavigator } from '../../external/locationNavigator';
|
|
3
4
|
import { formatDate } from '../../utils/formatDate';
|
|
4
5
|
import { formatPhone } from '../../utils/formatPhone';
|
|
@@ -47,6 +48,19 @@ export const getLeadFormTaskData = ({
|
|
|
47
48
|
},
|
|
48
49
|
},
|
|
49
50
|
],
|
|
51
|
+
marketingInfo: getMarketingInfo(),
|
|
50
52
|
},
|
|
51
53
|
};
|
|
52
54
|
};
|
|
55
|
+
|
|
56
|
+
const getMarketingInfo = (): MarketingInfo => {
|
|
57
|
+
const params = new URLSearchParams(decodeURIComponent(globalThis.location?.search));
|
|
58
|
+
|
|
59
|
+
return {
|
|
60
|
+
utm_campaign: params.get('utm_campaign'),
|
|
61
|
+
utm_medium: params.get('utm_medium'),
|
|
62
|
+
utm_source: params.get('utm_source'),
|
|
63
|
+
utm_content: params.get('utm_content'),
|
|
64
|
+
utm_term: params.get('utm_term'),
|
|
65
|
+
};
|
|
66
|
+
};
|
|
@@ -14,7 +14,7 @@ interface CheckboxWithDocProps extends CheckboxProps {
|
|
|
14
14
|
|
|
15
15
|
export const CheckboxWithDoc = JSX<CheckboxWithDocProps>(
|
|
16
16
|
({ className, error, docId, ...props }) => {
|
|
17
|
-
const openDocument = useDocumentDialog(docId);
|
|
17
|
+
const openDocument = useDocumentDialog(docId, () => props.onChange?.(true));
|
|
18
18
|
|
|
19
19
|
return (
|
|
20
20
|
<div className={className}>
|
|
@@ -6,18 +6,28 @@ export interface DocumentDialogProps {
|
|
|
6
6
|
src: string;
|
|
7
7
|
convertToPng?: boolean;
|
|
8
8
|
onClose?: () => void;
|
|
9
|
+
onDocumentRead?: () => void;
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
// TODO Перенесено как есть из openDocument. Требует рефакторинга
|
|
12
|
-
export const DocumentDialog = JSX<DocumentDialogProps>(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
)
|
|
13
|
+
export const DocumentDialog = JSX<DocumentDialogProps>(
|
|
14
|
+
({ src, convertToPng, onClose, onDocumentRead }) => (
|
|
15
|
+
<Dialog className="my-6xl max-w-4xl mx-auto px-0 min-h-0 pb-0" onClose={onClose}>
|
|
16
|
+
{convertToPng ? (
|
|
17
|
+
<img src={src} />
|
|
18
|
+
) : (
|
|
19
|
+
<iframe src={`${src}#toolbar=0`} className="w-full h-[80vh]" id="iframe-dialog" />
|
|
20
|
+
)}
|
|
21
|
+
<Button
|
|
22
|
+
className="mx-auto mt-m"
|
|
23
|
+
type="button"
|
|
24
|
+
onClick={() => {
|
|
25
|
+
onDocumentRead?.();
|
|
26
|
+
onClose?.();
|
|
27
|
+
}}
|
|
28
|
+
>
|
|
29
|
+
Ознакомиться
|
|
30
|
+
</Button>
|
|
31
|
+
</Dialog>
|
|
32
|
+
),
|
|
33
|
+
);
|
|
@@ -5,14 +5,14 @@ import type { Nullable } from '../../utils/Nullable';
|
|
|
5
5
|
import { useDialog } from '../DialogManager/useDialog';
|
|
6
6
|
import { DocumentDialog } from './DocumentDialog';
|
|
7
7
|
|
|
8
|
-
export const useDocumentDialog = (docId: Nullable<number
|
|
8
|
+
export const useDocumentDialog = (docId: Nullable<number>, onDocumentRead?: () => void) => {
|
|
9
9
|
const { open } = useDialog(DocumentDialog);
|
|
10
10
|
const isMobileMode = useMobileMode();
|
|
11
11
|
|
|
12
12
|
return useCallback(async () => {
|
|
13
13
|
if (docId) {
|
|
14
14
|
const src = URL.createObjectURL(await feedbackById(docId, isMobileMode));
|
|
15
|
-
open({ src });
|
|
15
|
+
open({ src, onDocumentRead });
|
|
16
16
|
}
|
|
17
17
|
}, [open, docId, isMobileMode]);
|
|
18
18
|
};
|