@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.
Files changed (69) hide show
  1. package/bundle/api/RetailAPI/updateUserTask.d.ts +9 -0
  2. package/bundle/bundle.umd.js +19 -5
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/ui-kit/DocumentDialog/DocumentDialog.d.ts +1 -0
  5. package/bundle/ui-kit/DocumentDialog/useDocumentDialog.d.ts +1 -1
  6. package/dist/api/RetailAPI/updateUserTask.d.ts +9 -0
  7. package/dist/api/RetailAPI/updateUserTask.js.map +1 -1
  8. package/dist/components/ApplicationLeadForm/getLeadFormTaskData.js +11 -0
  9. package/dist/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
  10. package/dist/ui-kit/Checkbox/CheckboxWithDoc.js +1 -1
  11. package/dist/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  12. package/dist/ui-kit/DocumentDialog/DocumentDialog.d.ts +1 -0
  13. package/dist/ui-kit/DocumentDialog/DocumentDialog.js +4 -1
  14. package/dist/ui-kit/DocumentDialog/DocumentDialog.js.map +1 -1
  15. package/dist/ui-kit/DocumentDialog/useDocumentDialog.d.ts +1 -1
  16. package/dist/ui-kit/DocumentDialog/useDocumentDialog.js +2 -2
  17. package/dist/ui-kit/DocumentDialog/useDocumentDialog.js.map +1 -1
  18. package/lib/api/RetailAPI/updateUserTask.d.ts +9 -0
  19. package/lib/api/RetailAPI/updateUserTask.js.map +1 -1
  20. package/lib/components/ApplicationLeadForm/getLeadFormTaskData.js +11 -0
  21. package/lib/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
  22. package/lib/ui-kit/Checkbox/CheckboxWithDoc.js +1 -1
  23. package/lib/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  24. package/lib/ui-kit/DocumentDialog/DocumentDialog.d.ts +1 -0
  25. package/lib/ui-kit/DocumentDialog/DocumentDialog.js +4 -1
  26. package/lib/ui-kit/DocumentDialog/DocumentDialog.js.map +1 -1
  27. package/lib/ui-kit/DocumentDialog/useDocumentDialog.d.ts +1 -1
  28. package/lib/ui-kit/DocumentDialog/useDocumentDialog.js +2 -2
  29. package/lib/ui-kit/DocumentDialog/useDocumentDialog.js.map +1 -1
  30. package/mobile/bundle/api/RetailAPI/updateUserTask.d.ts +9 -0
  31. package/mobile/bundle/bundle.umd.js +19 -5
  32. package/mobile/bundle/bundle.umd.min.js +1 -1
  33. package/mobile/bundle/ui-kit/DocumentDialog/DocumentDialog.d.ts +1 -0
  34. package/mobile/bundle/ui-kit/DocumentDialog/useDocumentDialog.d.ts +1 -1
  35. package/mobile/dist/api/RetailAPI/updateUserTask.d.ts +9 -0
  36. package/mobile/dist/api/RetailAPI/updateUserTask.js.map +1 -1
  37. package/mobile/dist/components/ApplicationLeadForm/getLeadFormTaskData.js +11 -0
  38. package/mobile/dist/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
  39. package/mobile/dist/ui-kit/Checkbox/CheckboxWithDoc.js +1 -1
  40. package/mobile/dist/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  41. package/mobile/dist/ui-kit/DocumentDialog/DocumentDialog.d.ts +1 -0
  42. package/mobile/dist/ui-kit/DocumentDialog/DocumentDialog.js +4 -1
  43. package/mobile/dist/ui-kit/DocumentDialog/DocumentDialog.js.map +1 -1
  44. package/mobile/dist/ui-kit/DocumentDialog/useDocumentDialog.d.ts +1 -1
  45. package/mobile/dist/ui-kit/DocumentDialog/useDocumentDialog.js +2 -2
  46. package/mobile/dist/ui-kit/DocumentDialog/useDocumentDialog.js.map +1 -1
  47. package/mobile/lib/api/RetailAPI/updateUserTask.d.ts +9 -0
  48. package/mobile/lib/api/RetailAPI/updateUserTask.js.map +1 -1
  49. package/mobile/lib/components/ApplicationLeadForm/getLeadFormTaskData.js +11 -0
  50. package/mobile/lib/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
  51. package/mobile/lib/ui-kit/Checkbox/CheckboxWithDoc.js +1 -1
  52. package/mobile/lib/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  53. package/mobile/lib/ui-kit/DocumentDialog/DocumentDialog.d.ts +1 -0
  54. package/mobile/lib/ui-kit/DocumentDialog/DocumentDialog.js +4 -1
  55. package/mobile/lib/ui-kit/DocumentDialog/DocumentDialog.js.map +1 -1
  56. package/mobile/lib/ui-kit/DocumentDialog/useDocumentDialog.d.ts +1 -1
  57. package/mobile/lib/ui-kit/DocumentDialog/useDocumentDialog.js +2 -2
  58. package/mobile/lib/ui-kit/DocumentDialog/useDocumentDialog.js.map +1 -1
  59. package/mobile/src/api/RetailAPI/updateUserTask.ts +10 -0
  60. package/mobile/src/components/ApplicationLeadForm/getLeadFormTaskData.ts +15 -1
  61. package/mobile/src/ui-kit/Checkbox/CheckboxWithDoc.tsx +1 -1
  62. package/mobile/src/ui-kit/DocumentDialog/DocumentDialog.tsx +22 -12
  63. package/mobile/src/ui-kit/DocumentDialog/useDocumentDialog.ts +2 -2
  64. package/package.json +1 -1
  65. package/src/api/RetailAPI/updateUserTask.ts +10 -0
  66. package/src/components/ApplicationLeadForm/getLeadFormTaskData.ts +15 -1
  67. package/src/ui-kit/Checkbox/CheckboxWithDoc.tsx +1 -1
  68. package/src/ui-kit/DocumentDialog/DocumentDialog.tsx +22 -12
  69. package/src/ui-kit/DocumentDialog/useDocumentDialog.ts +2 -2
@@ -2,5 +2,6 @@ export interface DocumentDialogProps {
2
2
  src: string;
3
3
  convertToPng?: boolean;
4
4
  onClose?: () => void;
5
+ onDocumentRead?: () => void;
5
6
  }
6
7
  export declare const DocumentDialog: import("@redneckz/uni-jsx").UNIComponent<DocumentDialogProps, any, any>;
@@ -1,2 +1,2 @@
1
1
  import type { Nullable } from '../../utils/Nullable';
2
- export declare const useDocumentDialog: (docId: Nullable<number>) => () => Promise<void>;
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":";;AACA,2CAAwC;AA8IjC,MAAM,cAAc,GAAG,CAAC,IAAwB,EAAE,EAAE,CACzD,IAAA,qBAAS,EAAC,2BAA2B,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AADzC,QAAA,cAAc,kBAC2B"}
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":";;AACA,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;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AArCW,QAAA,mBAAmB,uBAqC9B"}
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;IAE9C,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"}
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"}
@@ -2,5 +2,6 @@ export interface DocumentDialogProps {
2
2
  src: string;
3
3
  convertToPng?: boolean;
4
4
  onClose?: () => void;
5
+ onDocumentRead?: () => void;
5
6
  }
6
7
  export declare const DocumentDialog: import("@redneckz/uni-jsx").UNIComponent<DocumentDialogProps, any, any>;
@@ -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: onClose, children: "\u041E\u0437\u043D\u0430\u043A\u043E\u043C\u0438\u0442\u044C\u0441\u044F" })] })));
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;AAQjD,iEAAiE;AACpD,QAAA,cAAc,GAAG,IAAA,aAAG,EAAsB,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CACzF,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,IAAC,SAAS,EAAC,cAAc,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,yFAEtD,IACF,CACV,CAAC,CAAC"}
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>) => () => Promise<void>;
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;IAC3D,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,CAAC;SACf;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC;AAVW,QAAA,iBAAiB,qBAU5B"}
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":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA8IxC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAwB,EAAE,EAAE,CACzD,SAAS,CAAC,2BAA2B,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC"}
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":"AACA,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;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
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;IAE9C,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"}
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"}
@@ -2,5 +2,6 @@ export interface DocumentDialogProps {
2
2
  src: string;
3
3
  convertToPng?: boolean;
4
4
  onClose?: () => void;
5
+ onDocumentRead?: () => void;
5
6
  }
6
7
  export declare const DocumentDialog: import("@redneckz/uni-jsx").UNIComponent<DocumentDialogProps, any, any>;
@@ -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: onClose, children: "\u041E\u0437\u043D\u0430\u043A\u043E\u043C\u0438\u0442\u044C\u0441\u044F" })] })));
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;AAQjD,iEAAiE;AACjE,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAsB,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CACzF,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,IAAC,SAAS,EAAC,cAAc,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,yFAEtD,IACF,CACV,CAAC,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>) => () => Promise<void>;
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;IAC3D,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,CAAC;SACf;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC"}
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
- import { type UpdateUserTaskBody } from '../../api/RetailAPI/updateUserTask';
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>(({ src, convertToPng, onClose }) => (
13
- <Dialog className="my-6xl max-w-4xl mx-auto px-0 min-h-0 pb-0" onClose={onClose}>
14
- {convertToPng ? (
15
- <img src={src} />
16
- ) : (
17
- <iframe src={`${src}#toolbar=0`} className="w-full h-[80vh]" id="iframe-dialog" />
18
- )}
19
- <Button className="mx-auto mt-m" type="button" onClick={onClose}>
20
- Ознакомиться
21
- </Button>
22
- </Dialog>
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.14.720",
3
+ "version": "0.14.722",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "ЦК",
@@ -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
- import { type UpdateUserTaskBody } from '../../api/RetailAPI/updateUserTask';
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>(({ src, convertToPng, onClose }) => (
13
- <Dialog className="my-6xl max-w-4xl mx-auto px-0 min-h-0 pb-0" onClose={onClose}>
14
- {convertToPng ? (
15
- <img src={src} />
16
- ) : (
17
- <iframe src={`${src}#toolbar=0`} className="w-full h-[80vh]" id="iframe-dialog" />
18
- )}
19
- <Button className="mx-auto mt-m" type="button" onClick={onClose}>
20
- Ознакомиться
21
- </Button>
22
- </Dialog>
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
  };