@redneckz/wildless-cms-uni-blocks 0.14.618 → 0.14.620
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/getLink.d.ts +7 -0
- package/bundle/api/RetailAPI/updateProfileEsia.d.ts +66 -0
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +103 -44
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +2 -0
- package/bundle/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +2 -1
- package/bundle/components/ApplicationLeadForm/useInitApplicationLead.d.ts +3 -1
- package/bundle/icons/IconName.d.ts +4 -2
- package/bundle/ui-kit/ConsentBkiDialog/useConsentBkiDialog.d.ts +1 -1
- package/bundle/ui-kit/EsiaLoginDialog/EsiaLoginDialog.d.ts +4 -0
- package/bundle/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.d.ts +9 -0
- package/cosmos-static/icons/GosUslugiIcon.svg +1 -0
- package/dist/api/RetailAPI/getLink.d.ts +7 -0
- package/dist/api/RetailAPI/getLink.js +6 -0
- package/dist/api/RetailAPI/getLink.js.map +1 -0
- package/dist/api/RetailAPI/updateProfileEsia.d.ts +66 -0
- package/dist/api/RetailAPI/updateProfileEsia.js +6 -0
- package/dist/api/RetailAPI/updateProfileEsia.js.map +1 -0
- package/dist/components/ApplicationForm/ApplicationForm.js +3 -5
- package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +5 -3
- package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/dist/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +2 -0
- package/dist/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +2 -1
- package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +28 -21
- package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/dist/components/ApplicationLeadForm/useInitApplicationLead.d.ts +3 -1
- package/dist/components/ApplicationLeadForm/useInitApplicationLead.js +34 -3
- package/dist/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
- package/dist/icons/IconName.d.ts +4 -2
- package/dist/icons/IconName.js +3 -1
- package/dist/icons/IconName.js.map +1 -1
- package/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.d.ts +1 -1
- package/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js +4 -7
- package/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js.map +1 -1
- package/dist/ui-kit/EsiaLoginDialog/EsiaLoginDialog.d.ts +4 -0
- package/dist/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js +21 -0
- package/dist/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js.map +1 -0
- package/dist/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.d.ts +9 -0
- package/dist/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js +19 -0
- package/dist/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js.map +1 -0
- package/lib/api/RetailAPI/getLink.d.ts +7 -0
- package/lib/api/RetailAPI/getLink.js +3 -0
- package/lib/api/RetailAPI/getLink.js.map +1 -0
- package/lib/api/RetailAPI/updateProfileEsia.d.ts +66 -0
- package/lib/api/RetailAPI/updateProfileEsia.js +3 -0
- package/lib/api/RetailAPI/updateProfileEsia.js.map +1 -0
- package/lib/common.css +1 -1
- package/lib/components/ApplicationForm/ApplicationForm.js +3 -5
- package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +6 -4
- package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/lib/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +2 -0
- package/lib/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +2 -1
- package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +28 -21
- package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/lib/components/ApplicationLeadForm/useInitApplicationLead.d.ts +3 -1
- package/lib/components/ApplicationLeadForm/useInitApplicationLead.js +35 -4
- package/lib/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
- package/lib/icons/IconName.d.ts +4 -2
- package/lib/icons/IconName.js +3 -1
- package/lib/icons/IconName.js.map +1 -1
- package/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.d.ts +1 -1
- package/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js +4 -7
- package/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js.map +1 -1
- package/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.d.ts +4 -0
- package/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.fixture.d.ts +6 -0
- package/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js +19 -0
- package/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js.map +1 -0
- package/lib/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.d.ts +9 -0
- package/lib/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js +16 -0
- package/lib/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js.map +1 -0
- package/mobile/bundle/api/RetailAPI/getLink.d.ts +7 -0
- package/mobile/bundle/api/RetailAPI/updateProfileEsia.d.ts +66 -0
- package/mobile/bundle/bundle.umd.js +103 -44
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +2 -0
- package/mobile/bundle/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +2 -1
- package/mobile/bundle/components/ApplicationLeadForm/useInitApplicationLead.d.ts +3 -1
- package/mobile/bundle/icons/IconName.d.ts +4 -2
- package/mobile/bundle/ui-kit/ConsentBkiDialog/useConsentBkiDialog.d.ts +1 -1
- package/mobile/bundle/ui-kit/EsiaLoginDialog/EsiaLoginDialog.d.ts +4 -0
- package/mobile/bundle/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.d.ts +9 -0
- package/mobile/dist/api/RetailAPI/getLink.d.ts +7 -0
- package/mobile/dist/api/RetailAPI/getLink.js +6 -0
- package/mobile/dist/api/RetailAPI/getLink.js.map +1 -0
- package/mobile/dist/api/RetailAPI/updateProfileEsia.d.ts +66 -0
- package/mobile/dist/api/RetailAPI/updateProfileEsia.js +6 -0
- package/mobile/dist/api/RetailAPI/updateProfileEsia.js.map +1 -0
- package/mobile/dist/components/ApplicationForm/ApplicationForm.js +3 -5
- package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +5 -3
- package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +2 -0
- package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +2 -1
- package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +28 -21
- package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.d.ts +3 -1
- package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.js +34 -3
- package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
- package/mobile/dist/icons/IconName.d.ts +4 -2
- package/mobile/dist/icons/IconName.js +3 -1
- package/mobile/dist/icons/IconName.js.map +1 -1
- package/mobile/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.d.ts +1 -1
- package/mobile/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js +4 -7
- package/mobile/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js.map +1 -1
- package/mobile/dist/ui-kit/EsiaLoginDialog/EsiaLoginDialog.d.ts +4 -0
- package/mobile/dist/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js +21 -0
- package/mobile/dist/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js.map +1 -0
- package/mobile/dist/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.d.ts +9 -0
- package/mobile/dist/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js +19 -0
- package/mobile/dist/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js.map +1 -0
- package/mobile/lib/api/RetailAPI/getLink.d.ts +7 -0
- package/mobile/lib/api/RetailAPI/getLink.js +3 -0
- package/mobile/lib/api/RetailAPI/getLink.js.map +1 -0
- package/mobile/lib/api/RetailAPI/updateProfileEsia.d.ts +66 -0
- package/mobile/lib/api/RetailAPI/updateProfileEsia.js +3 -0
- package/mobile/lib/api/RetailAPI/updateProfileEsia.js.map +1 -0
- package/mobile/lib/common.css +1 -1
- package/mobile/lib/components/ApplicationForm/ApplicationForm.js +3 -5
- package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +6 -4
- package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +2 -0
- package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +2 -1
- package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +28 -21
- package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.d.ts +3 -1
- package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.js +35 -4
- package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
- package/mobile/lib/icons/IconName.d.ts +4 -2
- package/mobile/lib/icons/IconName.js +3 -1
- package/mobile/lib/icons/IconName.js.map +1 -1
- package/mobile/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.d.ts +1 -1
- package/mobile/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js +4 -7
- package/mobile/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js.map +1 -1
- package/mobile/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.d.ts +4 -0
- package/mobile/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js +19 -0
- package/mobile/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js.map +1 -0
- package/mobile/lib/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.d.ts +9 -0
- package/mobile/lib/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js +16 -0
- package/mobile/lib/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js.map +1 -0
- package/mobile/src/api/RetailAPI/getLink.ts +12 -0
- package/mobile/src/api/RetailAPI/updateProfileEsia.ts +71 -0
- package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +4 -5
- package/mobile/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +16 -3
- package/mobile/src/components/ApplicationLeadForm/ApplicationLeadFormContent.ts +2 -0
- package/mobile/src/components/ApplicationLeadForm/useApplicationLeadApi.ts +53 -26
- package/mobile/src/components/ApplicationLeadForm/useInitApplicationLead.ts +40 -4
- package/mobile/src/icons/GosUslugiIcon.svg +11 -0
- package/mobile/src/icons/IconName.ts +5 -5
- package/mobile/src/ui-kit/ConsentBkiDialog/useConsentBkiDialog.tsx +4 -8
- package/mobile/src/ui-kit/EsiaLoginDialog/EsiaLoginDialog.tsx +44 -0
- package/mobile/src/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.tsx +23 -0
- package/package.json +1 -1
- package/src/api/RetailAPI/getLink.ts +12 -0
- package/src/api/RetailAPI/updateProfileEsia.ts +71 -0
- package/src/components/ApplicationForm/ApplicationForm.tsx +4 -5
- package/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +16 -3
- package/src/components/ApplicationLeadForm/ApplicationLeadFormContent.ts +2 -0
- package/src/components/ApplicationLeadForm/useApplicationLeadApi.ts +53 -26
- package/src/components/ApplicationLeadForm/useInitApplicationLead.ts +40 -4
- package/src/icons/GosUslugiIcon.svg +11 -0
- package/src/icons/IconName.ts +360 -6
- package/src/ui-kit/ConsentBkiDialog/useConsentBkiDialog.tsx +4 -8
- package/src/ui-kit/EsiaLoginDialog/EsiaLoginDialog.fixture.tsx +7 -0
- package/src/ui-kit/EsiaLoginDialog/EsiaLoginDialog.tsx +44 -0
- package/src/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.tsx +23 -0
package/bundle/bundle.umd.js
CHANGED
|
@@ -2714,7 +2714,7 @@
|
|
|
2714
2714
|
const inputsFiltered = getFilteredInputs(inputs, formData);
|
|
2715
2715
|
const feedbackValidator = objectValidator(getObjectValidator(inputsFiltered));
|
|
2716
2716
|
if (!isValidationSuccess(feedbackValidator(formData))) {
|
|
2717
|
-
return '
|
|
2717
|
+
return console.warn('validation fail');
|
|
2718
2718
|
}
|
|
2719
2719
|
const formatData = getFormatData({ ...formData, ...additionalParams });
|
|
2720
2720
|
const status = (await API.send(formatData, endpoint === 'lead')) ? 'OK' : 'Fail';
|
|
@@ -2740,13 +2740,11 @@
|
|
|
2740
2740
|
return (jsxs(ApplicationFormLayout, { className: style('container space-y-m', className), title: title, ...rest, children: [jsxs("form", { onSubmit: onSubmit, children: [sections.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), (_?.inputs || [])?.map(getField(field, typeForm))] }, `section-${i}`))), renderAgreementSubmit(fieldName ? field('consentDataProcessing') : undefined, link, button)] }), isContacts ? renderContacts() : null] }));
|
|
2741
2741
|
});
|
|
2742
2742
|
const getFilteredInputs = (inputs, data) => inputs
|
|
2743
|
-
.filter((_) => _)
|
|
2743
|
+
.filter((_) => (_?.name === 'secondaryPhone' ? Boolean(data.secondaryPhone) : _))
|
|
2744
2744
|
.filter((input) => !input?.condition ||
|
|
2745
2745
|
input?.condition.values.find((_) => {
|
|
2746
2746
|
const dataValue = data?.[input?.condition?.name ?? ''];
|
|
2747
|
-
return
|
|
2748
|
-
? Boolean(data.secondaryPhone)
|
|
2749
|
-
: _ === (dataValue?.key ?? dataValue);
|
|
2747
|
+
return _ === (dataValue?.key ?? dataValue);
|
|
2750
2748
|
}));
|
|
2751
2749
|
|
|
2752
2750
|
function useLocalStorage(key) {
|
|
@@ -2758,6 +2756,10 @@
|
|
|
2758
2756
|
return [storedValue, setValue];
|
|
2759
2757
|
}
|
|
2760
2758
|
|
|
2759
|
+
const Loader = JSX(({ color = 'text-primary-main', position = 'absolute', blur = true }) => (jsx("div", { className: style('flex justify-center items-center h-full w-full z-50', position, {
|
|
2760
|
+
'backdrop-blur': blur,
|
|
2761
|
+
}), children: jsx("div", { className: style('inline-block h-28 w-28', 'animate-spin rounded-full', 'border-8 border-solid border-current', 'border-r-transparent', color), role: "status" }) })));
|
|
2762
|
+
|
|
2761
2763
|
const Foldable = JSX(({ className = '', isFoldButtonOnTop = false, unfoldedByDefault = false, renderFoldableSection, renderFoldButton, }) => {
|
|
2762
2764
|
const [isUnfolded, setIsUnfolded] = useState(unfoldedByDefault);
|
|
2763
2765
|
const onToggle = useCallback(() => {
|
|
@@ -3013,10 +3015,6 @@
|
|
|
3013
3015
|
};
|
|
3014
3016
|
};
|
|
3015
3017
|
|
|
3016
|
-
const Loader = JSX(({ color = 'text-primary-main', position = 'absolute', blur = true }) => (jsx("div", { className: style('flex justify-center items-center h-full w-full z-50', position, {
|
|
3017
|
-
'backdrop-blur': blur,
|
|
3018
|
-
}), children: jsx("div", { className: style('inline-block h-28 w-28', 'animate-spin rounded-full', 'border-8 border-solid border-current', 'border-r-transparent', color), role: "status" }) })));
|
|
3019
|
-
|
|
3020
3018
|
const Timer = JSX(({ time, setTime, className }) => {
|
|
3021
3019
|
useEffect(() => {
|
|
3022
3020
|
const timer = setInterval(() => {
|
|
@@ -3220,12 +3218,9 @@
|
|
|
3220
3218
|
];
|
|
3221
3219
|
const CONSENT_BKI_ID = 2;
|
|
3222
3220
|
|
|
3223
|
-
const useConsentBkiDialog = () => {
|
|
3221
|
+
const useConsentBkiDialog = (onClose) => {
|
|
3224
3222
|
const { open, closeAll } = useDialogManager();
|
|
3225
3223
|
const verifyPhoneDialog = useVerifyPhoneDialog();
|
|
3226
|
-
const redirectToCreditForm = () => {
|
|
3227
|
-
globalThis.location.href = '/credit-lead';
|
|
3228
|
-
};
|
|
3229
3224
|
const handleSuccessVerify = (profileId) => async (smsCode) => {
|
|
3230
3225
|
if (profileId) {
|
|
3231
3226
|
await updateUserProfile({
|
|
@@ -3236,7 +3231,7 @@
|
|
|
3236
3231
|
},
|
|
3237
3232
|
});
|
|
3238
3233
|
}
|
|
3239
|
-
|
|
3234
|
+
onClose();
|
|
3240
3235
|
};
|
|
3241
3236
|
const handleSubmitBkiConstent = (phone, profileId) => async (confirmStatus) => {
|
|
3242
3237
|
await closeAll();
|
|
@@ -3244,11 +3239,11 @@
|
|
|
3244
3239
|
verifyPhoneDialog.open(handleSuccessVerify(profileId), verifyPhoneContent$1(phone));
|
|
3245
3240
|
}
|
|
3246
3241
|
else {
|
|
3247
|
-
|
|
3242
|
+
onClose();
|
|
3248
3243
|
}
|
|
3249
3244
|
};
|
|
3250
3245
|
return {
|
|
3251
|
-
open: (phone, profileId) => open(jsx(ConsentBkiDialog, { handleSubmit: handleSubmitBkiConstent(phone, profileId), onClose:
|
|
3246
|
+
open: (phone, profileId) => open(jsx(ConsentBkiDialog, { handleSubmit: handleSubmitBkiConstent(phone, profileId), onClose: onClose })),
|
|
3252
3247
|
};
|
|
3253
3248
|
};
|
|
3254
3249
|
const verifyPhoneContent$1 = (phone) => ({
|
|
@@ -3260,12 +3255,39 @@
|
|
|
3260
3255
|
<ul><li>согласие на запрос информации в БКИ</li></ul>`,
|
|
3261
3256
|
});
|
|
3262
3257
|
|
|
3263
|
-
const
|
|
3258
|
+
const getLink = (body) => doRequest('/esia/getLink', 'POST', body);
|
|
3259
|
+
|
|
3260
|
+
const EsiaLoginDialog = JSX(function ({ handleClose }) {
|
|
3261
|
+
const handleAuth = useCallback(async () => {
|
|
3262
|
+
const resp = await getLink({
|
|
3263
|
+
redirectUri: globalThis.location.href + '&esiaAuth=true',
|
|
3264
|
+
});
|
|
3265
|
+
if (resp) {
|
|
3266
|
+
globalThis.location.href = resp.link;
|
|
3267
|
+
}
|
|
3268
|
+
}, []);
|
|
3269
|
+
return (jsx(Dialog, { className: "my-6xl max-w-lg w-full min-h-fit mx-auto rounded-lg", onClose: handleClose, children: jsxs("div", { className: "flex flex-col gap-lg items-center rounded-md", children: [jsxs("div", { className: "flex items-center justify-around w-full", children: [jsxs("ul", { className: "list-disc", children: [jsx("li", { children: "\u0412\u0435\u0440\u043E\u044F\u0442\u043D\u043E\u0441\u0442\u044C \u043E\u0434\u043E\u0431\u0440\u0435\u043D\u0438\u044F \u0432\u044B\u0448\u0435" }), jsx("li", { children: "\u0411\u0435\u0437 \u0441\u043F\u0440\u0430\u0432\u043E\u043A \u043E \u0434\u043E\u0445\u043E\u0434\u0430\u0445 \u0438 \u0442\u0440\u0443\u0434\u043E\u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435" }), jsx("li", { children: "\u0421 \u0437\u0430\u0449\u0438\u0442\u043E\u0439 \u0412\u0430\u0448\u0438\u0445 \u0434\u0430\u043D\u043D\u044B\u0445" })] }), jsx(Img, { image: { icon: 'GosUslugiIcon', iconVersion: 'normal' }, height: "70" })] }), jsxs("div", { className: "flex items-center justify-between w-full m-0", children: [jsx(Button, { type: "button", onClick: handleAuth, children: "\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0447\u0435\u0440\u0435\u0437 \u0413\u043E\u0441\u0443\u0441\u043B\u0443\u0433\u0438" }), jsx(Button, { type: "button", version: "secondary", onClick: handleClose, children: "\u041F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u044C" })] })] }) }));
|
|
3270
|
+
});
|
|
3271
|
+
|
|
3272
|
+
const useEsiaLoginDialog = (nextStepLink) => {
|
|
3273
|
+
const { open, close } = useDialogManager();
|
|
3274
|
+
const handleClose = useCallback(() => {
|
|
3275
|
+
close();
|
|
3276
|
+
globalThis.location.href = nextStepLink;
|
|
3277
|
+
}, []);
|
|
3278
|
+
return {
|
|
3279
|
+
open: (options = {}) => open(jsx(EsiaLoginDialog, { handleClose: handleClose }), options),
|
|
3280
|
+
close,
|
|
3281
|
+
};
|
|
3282
|
+
};
|
|
3283
|
+
|
|
3284
|
+
const useApplicationLeadApi = ({ inputs, programId, nextStepLink, saveForm, }) => {
|
|
3264
3285
|
const [responseStatus, setResponseStatus] = useState('');
|
|
3265
3286
|
const [, setTaskId] = useLocalStorage('taskId');
|
|
3266
3287
|
const [, setProfileId] = useLocalStorage('profileId');
|
|
3267
3288
|
const [, setParticipantId] = useLocalStorage('participantId');
|
|
3268
|
-
const
|
|
3289
|
+
const esiaLoginDialog = useEsiaLoginDialog(nextStepLink);
|
|
3290
|
+
const consentBkiDialog = useConsentBkiDialog(esiaLoginDialog.open);
|
|
3269
3291
|
const verifyPhoneDialog = useVerifyPhoneDialog();
|
|
3270
3292
|
const saveUserData = useCallback((participantId, taskId, profileId) => {
|
|
3271
3293
|
setParticipantId(participantId);
|
|
@@ -3279,40 +3301,29 @@
|
|
|
3279
3301
|
return 'Fail';
|
|
3280
3302
|
}
|
|
3281
3303
|
try {
|
|
3282
|
-
const { profile } = await createUserProfile({
|
|
3304
|
+
const { profile: { id: profileId }, } = await createUserProfile({
|
|
3283
3305
|
profile: { phone: formatPhone(formData.phone) },
|
|
3284
3306
|
});
|
|
3285
|
-
const profileId = profile?.id;
|
|
3286
|
-
const transformedForm = transformOtherConsentsField(formData);
|
|
3287
3307
|
if (profileId && formData?.phone) {
|
|
3288
3308
|
const handleSuccessVerify = async () => {
|
|
3289
3309
|
try {
|
|
3290
|
-
await
|
|
3291
|
-
const { taskId, participantId } = await createDraftTask({
|
|
3292
|
-
profileId,
|
|
3310
|
+
await updateUserData({
|
|
3293
3311
|
programId,
|
|
3294
|
-
});
|
|
3295
|
-
await updateUserTask(getUpdateUserTaskData({
|
|
3296
|
-
participantId,
|
|
3297
|
-
taskId,
|
|
3298
3312
|
profileId,
|
|
3299
|
-
formData
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3313
|
+
formData,
|
|
3314
|
+
saveUserData,
|
|
3315
|
+
saveForm,
|
|
3316
|
+
});
|
|
3317
|
+
consentBkiDialog.open(formData.phone, profileId);
|
|
3303
3318
|
}
|
|
3304
3319
|
catch {
|
|
3305
3320
|
setResponseStatus('Fail');
|
|
3306
3321
|
}
|
|
3307
3322
|
};
|
|
3308
|
-
const handleCloseVerify = async () => {
|
|
3309
|
-
await handleSuccessVerify();
|
|
3310
|
-
consentBkiDialog.open(formData.phone, profileId);
|
|
3311
|
-
};
|
|
3312
3323
|
const acceptedConsents = Object.keys(CONSENTS)
|
|
3313
3324
|
.filter((_) => formData[_])
|
|
3314
3325
|
.map((_) => CONSENTS[_]?.text);
|
|
3315
|
-
verifyPhoneDialog.open(
|
|
3326
|
+
verifyPhoneDialog.open(handleSuccessVerify, verifyPhoneContent(formData?.phone, acceptedConsents));
|
|
3316
3327
|
}
|
|
3317
3328
|
}
|
|
3318
3329
|
catch {
|
|
@@ -3324,6 +3335,22 @@
|
|
|
3324
3335
|
responseStatus,
|
|
3325
3336
|
};
|
|
3326
3337
|
};
|
|
3338
|
+
const updateUserData = async ({ programId, profileId, formData, saveUserData, saveForm, }) => {
|
|
3339
|
+
const transformedForm = transformOtherConsentsField(formData);
|
|
3340
|
+
await updateUserProfile(getUpdateUserProfileData(profileId, transformedForm));
|
|
3341
|
+
const { taskId, participantId } = await createDraftTask({
|
|
3342
|
+
profileId,
|
|
3343
|
+
programId,
|
|
3344
|
+
});
|
|
3345
|
+
await updateUserTask(getUpdateUserTaskData({
|
|
3346
|
+
participantId,
|
|
3347
|
+
taskId,
|
|
3348
|
+
profileId,
|
|
3349
|
+
formData: transformedForm,
|
|
3350
|
+
}));
|
|
3351
|
+
saveUserData(participantId, taskId, profileId);
|
|
3352
|
+
saveForm(formData);
|
|
3353
|
+
};
|
|
3327
3354
|
const verifyPhoneContent = (phone, consents) => ({
|
|
3328
3355
|
title: 'Подтвердите номер телефона',
|
|
3329
3356
|
description: `Мы отправили код на ${phone}`,
|
|
@@ -3342,22 +3369,54 @@
|
|
|
3342
3369
|
};
|
|
3343
3370
|
};
|
|
3344
3371
|
|
|
3345
|
-
const
|
|
3372
|
+
const updateProfileEsia = (body) => doRequest('/esia/updateProfileEsia', 'POST', body);
|
|
3373
|
+
|
|
3374
|
+
const useInitApplicationLead = (nextStepLink) => {
|
|
3375
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
3376
|
+
const [profileId] = useLocalStorage('profileId');
|
|
3377
|
+
const [, setEsiaData] = useLocalStorage('esiaData');
|
|
3378
|
+
const params = new URLSearchParams(decodeURIComponent(window.location.search));
|
|
3379
|
+
const esiaAuth = params.get('esiaAuth');
|
|
3380
|
+
const updateEsiaProfile = useCallback(async () => {
|
|
3381
|
+
const code = params.get('code');
|
|
3382
|
+
const state = params.get('state');
|
|
3383
|
+
if (profileId && code && state) {
|
|
3384
|
+
const data = await updateProfileEsia({
|
|
3385
|
+
profileId: profileId,
|
|
3386
|
+
code,
|
|
3387
|
+
state,
|
|
3388
|
+
redirectUri: globalThis.location.href,
|
|
3389
|
+
});
|
|
3390
|
+
setEsiaData(JSON.stringify(data));
|
|
3391
|
+
globalThis.location.href = nextStepLink;
|
|
3392
|
+
}
|
|
3393
|
+
}, []);
|
|
3346
3394
|
useEffect(() => {
|
|
3347
|
-
|
|
3348
|
-
|
|
3395
|
+
if (esiaAuth) {
|
|
3396
|
+
setIsLoading(true);
|
|
3397
|
+
updateEsiaProfile();
|
|
3398
|
+
}
|
|
3399
|
+
else {
|
|
3400
|
+
setEsiaData('');
|
|
3401
|
+
sessionStorage.removeItem('accessToken');
|
|
3402
|
+
sessionStorage.removeItem('refreshToken');
|
|
3403
|
+
}
|
|
3349
3404
|
}, []);
|
|
3405
|
+
return {
|
|
3406
|
+
isLoading,
|
|
3407
|
+
};
|
|
3350
3408
|
};
|
|
3351
3409
|
|
|
3352
|
-
const ApplicationLeadForm = JSX(({ className, title, programId = '', typeForm = '', sections = [], button, ...rest }) => {
|
|
3410
|
+
const ApplicationLeadForm = JSX(({ className, title, programId = '', nextStepLink = '/credit-lead', typeForm = '', sections = [], button, ...rest }) => {
|
|
3353
3411
|
const inputs = (sections?.flatMap((_) => _?.inputs) || []);
|
|
3354
3412
|
const [responseType, setResponseType] = useState('');
|
|
3355
|
-
useInitApplicationLead();
|
|
3413
|
+
const { isLoading } = useInitApplicationLead(nextStepLink);
|
|
3356
3414
|
const [leadForm, setLeadForm] = useLocalStorage('leadForm');
|
|
3357
3415
|
const initialFormState = getInitialFormState$1(inputs, leadForm, typeForm);
|
|
3358
3416
|
const { handleSubmit, responseStatus } = useApplicationLeadApi({
|
|
3359
3417
|
inputs,
|
|
3360
3418
|
programId,
|
|
3419
|
+
nextStepLink,
|
|
3361
3420
|
saveForm: setLeadForm,
|
|
3362
3421
|
});
|
|
3363
3422
|
if (responseStatus) {
|
|
@@ -3371,7 +3430,7 @@
|
|
|
3371
3430
|
reset();
|
|
3372
3431
|
}
|
|
3373
3432
|
}, [responseType]);
|
|
3374
|
-
return (jsx(ApplicationFormLayout, { className: style('container space-y-m', className), title: title, ...rest, children: jsxs("form", { onSubmit: onSubmit, className: "space-y-m", children: [sections.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), renderInputs$1({ field, inputs: _?.inputs })] }, `section-${i}`))), renderSubmitButton(button)] }) }));
|
|
3433
|
+
return (jsx(ApplicationFormLayout, { className: style('container space-y-m', className), title: title, ...rest, children: jsxs("form", { onSubmit: onSubmit, className: "space-y-m relative", children: [isLoading ? jsx(Loader, { blur: false }) : null, sections.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), renderInputs$1({ field, inputs: _?.inputs })] }, `section-${i}`))), renderSubmitButton(button)] }) }));
|
|
3375
3434
|
});
|
|
3376
3435
|
|
|
3377
3436
|
const InfoCard = JSX(({ __html, icon = 'InfoCircleIcon', iconVersion = 'black', link }) => (jsxs("div", { className: "flex flex-row items-center w-full min-h-14 bg-main-gray rounded-lg gap-m p-m", children: [jsx("div", { className: "rounded-full bg-white p-xs", children: jsx(Icon, { name: icon, width: "24", height: "24", iconVersion: iconVersion }) }), jsxs("div", { className: "", children: [jsx(RichText, { __html: __html }), link?.text ? jsx(LinkButton, { className: "text-primary-main", children: link.text }) : null] })] })));
|
|
@@ -8188,7 +8247,7 @@
|
|
|
8188
8247
|
slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
|
|
8189
8248
|
});
|
|
8190
8249
|
|
|
8191
|
-
const packageVersion = "0.14.
|
|
8250
|
+
const packageVersion = "0.14.619";
|
|
8192
8251
|
|
|
8193
8252
|
exports.Blocks = Blocks;
|
|
8194
8253
|
exports.ContentPage = ContentPage;
|