@redneckz/wildless-cms-uni-blocks 0.14.973 → 0.14.975
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +39 -143
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/ApplicationLeadForm/getLeadFormTaskData.d.ts +1 -7
- package/bundle/components/ApplicationLeadForm/useInitApplicationLead.d.ts +0 -1
- package/bundle/components/GalleryLayout/utils.d.ts +2 -2
- package/bundle/components/ProductBlock/ProductBlock.d.ts +4 -0
- package/bundle/components/ProductBlock/ProductBlockContent.d.ts +2 -2
- package/bundle/model/HeadlineType.d.ts +14 -1
- package/bundle/retail/api/createUserTaskDebit.d.ts +0 -1
- package/dist/components/ApplicationLeadForm/getLeadFormTaskData.d.ts +1 -7
- package/dist/components/ApplicationLeadForm/getLeadFormTaskData.js +1 -2
- package/dist/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
- package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +4 -24
- package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/dist/components/ApplicationLeadForm/useInitApplicationLead.d.ts +0 -1
- package/dist/components/ApplicationLeadForm/useInitApplicationLead.js +0 -4
- package/dist/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
- package/dist/components/GalleryLayout/utils.d.ts +2 -2
- package/dist/components/ProductBlock/ProductBlock.d.ts +4 -0
- package/dist/components/ProductBlock/ProductBlock.js +16 -1
- package/dist/components/ProductBlock/ProductBlock.js.map +1 -1
- package/dist/components/ProductBlock/ProductBlockContent.d.ts +2 -2
- package/dist/model/HeadlineType.d.ts +14 -1
- package/dist/retail/api/createUserTaskDebit.d.ts +0 -1
- package/dist/retail/api/createUserTaskDebit.js.map +1 -1
- package/dist/retail/components/Fields/AddressRetailField.js +0 -20
- package/dist/retail/components/Fields/AddressRetailField.js.map +1 -1
- package/dist/retail/components/Fields/PaymentSystemField.js +2 -14
- package/dist/retail/components/Fields/PaymentSystemField.js.map +1 -1
- package/dist/retail/components/Fields/RegionRetailField.js +7 -20
- package/dist/retail/components/Fields/RegionRetailField.js.map +1 -1
- package/lib/components/ApplicationLeadForm/getLeadFormTaskData.d.ts +1 -7
- package/lib/components/ApplicationLeadForm/getLeadFormTaskData.js +1 -2
- package/lib/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
- package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +4 -24
- package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/lib/components/ApplicationLeadForm/useInitApplicationLead.d.ts +0 -1
- package/lib/components/ApplicationLeadForm/useInitApplicationLead.js +0 -4
- package/lib/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
- package/lib/components/GalleryLayout/utils.d.ts +2 -2
- package/lib/components/ProductBlock/ProductBlock.d.ts +4 -0
- package/lib/components/ProductBlock/ProductBlock.fixture.d.ts +1 -0
- package/lib/components/ProductBlock/ProductBlock.js +16 -1
- package/lib/components/ProductBlock/ProductBlock.js.map +1 -1
- package/lib/components/ProductBlock/ProductBlockContent.d.ts +2 -2
- package/lib/model/HeadlineType.d.ts +14 -1
- package/lib/retail/api/createUserTaskDebit.d.ts +0 -1
- package/lib/retail/api/createUserTaskDebit.js.map +1 -1
- package/lib/retail/components/Fields/AddressRetailField.js +0 -20
- package/lib/retail/components/Fields/AddressRetailField.js.map +1 -1
- package/lib/retail/components/Fields/PaymentSystemField.js +2 -14
- package/lib/retail/components/Fields/PaymentSystemField.js.map +1 -1
- package/lib/retail/components/Fields/RegionRetailField.js +7 -20
- package/lib/retail/components/Fields/RegionRetailField.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +39 -143
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/ApplicationLeadForm/getLeadFormTaskData.d.ts +1 -7
- package/mobile/bundle/components/ApplicationLeadForm/useInitApplicationLead.d.ts +0 -1
- package/mobile/bundle/components/GalleryLayout/utils.d.ts +2 -2
- package/mobile/bundle/components/ProductBlock/ProductBlock.d.ts +4 -0
- package/mobile/bundle/components/ProductBlock/ProductBlockContent.d.ts +2 -2
- package/mobile/bundle/model/HeadlineType.d.ts +14 -1
- package/mobile/bundle/retail/api/createUserTaskDebit.d.ts +0 -1
- package/mobile/dist/components/ApplicationLeadForm/getLeadFormTaskData.d.ts +1 -7
- package/mobile/dist/components/ApplicationLeadForm/getLeadFormTaskData.js +1 -2
- package/mobile/dist/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
- package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +4 -24
- package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.d.ts +0 -1
- package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.js +0 -4
- package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
- package/mobile/dist/components/GalleryLayout/utils.d.ts +2 -2
- package/mobile/dist/components/ProductBlock/ProductBlock.d.ts +4 -0
- package/mobile/dist/components/ProductBlock/ProductBlock.js +16 -1
- package/mobile/dist/components/ProductBlock/ProductBlock.js.map +1 -1
- package/mobile/dist/components/ProductBlock/ProductBlockContent.d.ts +2 -2
- package/mobile/dist/model/HeadlineType.d.ts +14 -1
- package/mobile/dist/retail/api/createUserTaskDebit.d.ts +0 -1
- package/mobile/dist/retail/api/createUserTaskDebit.js.map +1 -1
- package/mobile/dist/retail/components/Fields/AddressRetailField.js +0 -20
- package/mobile/dist/retail/components/Fields/AddressRetailField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/PaymentSystemField.js +2 -14
- package/mobile/dist/retail/components/Fields/PaymentSystemField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/RegionRetailField.js +7 -20
- package/mobile/dist/retail/components/Fields/RegionRetailField.js.map +1 -1
- package/mobile/lib/components/ApplicationLeadForm/getLeadFormTaskData.d.ts +1 -7
- package/mobile/lib/components/ApplicationLeadForm/getLeadFormTaskData.js +1 -2
- package/mobile/lib/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
- package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +4 -24
- package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.d.ts +0 -1
- package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.js +0 -4
- package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
- package/mobile/lib/components/GalleryLayout/utils.d.ts +2 -2
- package/mobile/lib/components/ProductBlock/ProductBlock.d.ts +4 -0
- package/mobile/lib/components/ProductBlock/ProductBlock.js +16 -1
- package/mobile/lib/components/ProductBlock/ProductBlock.js.map +1 -1
- package/mobile/lib/components/ProductBlock/ProductBlockContent.d.ts +2 -2
- package/mobile/lib/model/HeadlineType.d.ts +14 -1
- package/mobile/lib/retail/api/createUserTaskDebit.d.ts +0 -1
- package/mobile/lib/retail/api/createUserTaskDebit.js.map +1 -1
- package/mobile/lib/retail/components/Fields/AddressRetailField.js +0 -20
- package/mobile/lib/retail/components/Fields/AddressRetailField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/PaymentSystemField.js +2 -14
- package/mobile/lib/retail/components/Fields/PaymentSystemField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/RegionRetailField.js +7 -20
- package/mobile/lib/retail/components/Fields/RegionRetailField.js.map +1 -1
- package/mobile/src/components/ApplicationLeadForm/getLeadFormTaskData.ts +5 -14
- package/mobile/src/components/ApplicationLeadForm/useApplicationLeadApi.tsx +3 -32
- package/mobile/src/components/ApplicationLeadForm/useInitApplicationLead.ts +0 -6
- package/mobile/src/components/ProductBlock/ProductBlock.tsx +57 -14
- package/mobile/src/components/ProductBlock/ProductBlockContent.ts +6 -2
- package/mobile/src/model/HeadlineType.ts +20 -1
- package/mobile/src/retail/api/createUserTaskDebit.ts +0 -1
- package/mobile/src/retail/components/Fields/AddressRetailField.tsx +0 -26
- package/mobile/src/retail/components/Fields/PaymentSystemField.tsx +2 -21
- package/mobile/src/retail/components/Fields/RegionRetailField.tsx +7 -22
- package/package.json +2 -2
- package/src/components/ApplicationLeadForm/getLeadFormTaskData.ts +5 -14
- package/src/components/ApplicationLeadForm/useApplicationLeadApi.tsx +3 -32
- package/src/components/ApplicationLeadForm/useInitApplicationLead.ts +0 -6
- package/src/components/ProductBlock/ProductBlock.fixture.tsx +22 -0
- package/src/components/ProductBlock/ProductBlock.tsx +57 -14
- package/src/components/ProductBlock/ProductBlockContent.ts +6 -2
- package/src/icons/IconName.ts +4 -4
- package/src/model/HeadlineType.ts +20 -1
- package/src/retail/api/createUserTaskDebit.ts +0 -1
- package/src/retail/components/Fields/AddressRetailField.tsx +0 -26
- package/src/retail/components/Fields/PaymentSystemField.tsx +2 -21
- package/src/retail/components/Fields/RegionRetailField.tsx +7 -22
- package/bundle/retail/api/getClaimChannel.d.ts +0 -8
- package/bundle/retail/hooks/useBiblioglobusDefaultRegion.d.ts +0 -14
- package/bundle/retail/utils/filterPaymentSystems.d.ts +0 -4
- package/bundle/retail/utils/hasDelivery.d.ts +0 -10
- package/bundle/utils/getSlugFromUrl.d.ts +0 -1
- package/dist/retail/api/getClaimChannel.d.ts +0 -8
- package/dist/retail/api/getClaimChannel.js +0 -9
- package/dist/retail/api/getClaimChannel.js.map +0 -1
- package/dist/retail/hooks/useBiblioglobusDefaultRegion.d.ts +0 -14
- package/dist/retail/hooks/useBiblioglobusDefaultRegion.js +0 -34
- package/dist/retail/hooks/useBiblioglobusDefaultRegion.js.map +0 -1
- package/dist/retail/utils/filterPaymentSystems.d.ts +0 -4
- package/dist/retail/utils/filterPaymentSystems.js +0 -13
- package/dist/retail/utils/filterPaymentSystems.js.map +0 -1
- package/dist/retail/utils/hasDelivery.d.ts +0 -10
- package/dist/retail/utils/hasDelivery.js +0 -13
- package/dist/retail/utils/hasDelivery.js.map +0 -1
- package/dist/utils/getSlugFromUrl.d.ts +0 -1
- package/dist/utils/getSlugFromUrl.js +0 -12
- package/dist/utils/getSlugFromUrl.js.map +0 -1
- package/lib/retail/api/getClaimChannel.d.ts +0 -8
- package/lib/retail/api/getClaimChannel.js +0 -6
- package/lib/retail/api/getClaimChannel.js.map +0 -1
- package/lib/retail/hooks/useBiblioglobusDefaultRegion.d.ts +0 -14
- package/lib/retail/hooks/useBiblioglobusDefaultRegion.js +0 -31
- package/lib/retail/hooks/useBiblioglobusDefaultRegion.js.map +0 -1
- package/lib/retail/utils/filterPaymentSystems.d.ts +0 -4
- package/lib/retail/utils/filterPaymentSystems.js +0 -10
- package/lib/retail/utils/filterPaymentSystems.js.map +0 -1
- package/lib/retail/utils/hasDelivery.d.ts +0 -10
- package/lib/retail/utils/hasDelivery.js +0 -9
- package/lib/retail/utils/hasDelivery.js.map +0 -1
- package/lib/utils/getSlugFromUrl.d.ts +0 -1
- package/lib/utils/getSlugFromUrl.js +0 -9
- package/lib/utils/getSlugFromUrl.js.map +0 -1
- package/mobile/bundle/retail/api/getClaimChannel.d.ts +0 -8
- package/mobile/bundle/retail/hooks/useBiblioglobusDefaultRegion.d.ts +0 -14
- package/mobile/bundle/retail/utils/filterPaymentSystems.d.ts +0 -4
- package/mobile/bundle/retail/utils/hasDelivery.d.ts +0 -10
- package/mobile/bundle/utils/getSlugFromUrl.d.ts +0 -1
- package/mobile/dist/retail/api/getClaimChannel.d.ts +0 -8
- package/mobile/dist/retail/api/getClaimChannel.js +0 -9
- package/mobile/dist/retail/api/getClaimChannel.js.map +0 -1
- package/mobile/dist/retail/hooks/useBiblioglobusDefaultRegion.d.ts +0 -14
- package/mobile/dist/retail/hooks/useBiblioglobusDefaultRegion.js +0 -34
- package/mobile/dist/retail/hooks/useBiblioglobusDefaultRegion.js.map +0 -1
- package/mobile/dist/retail/utils/filterPaymentSystems.d.ts +0 -4
- package/mobile/dist/retail/utils/filterPaymentSystems.js +0 -13
- package/mobile/dist/retail/utils/filterPaymentSystems.js.map +0 -1
- package/mobile/dist/retail/utils/hasDelivery.d.ts +0 -10
- package/mobile/dist/retail/utils/hasDelivery.js +0 -13
- package/mobile/dist/retail/utils/hasDelivery.js.map +0 -1
- package/mobile/dist/utils/getSlugFromUrl.d.ts +0 -1
- package/mobile/dist/utils/getSlugFromUrl.js +0 -12
- package/mobile/dist/utils/getSlugFromUrl.js.map +0 -1
- package/mobile/lib/retail/api/getClaimChannel.d.ts +0 -8
- package/mobile/lib/retail/api/getClaimChannel.js +0 -6
- package/mobile/lib/retail/api/getClaimChannel.js.map +0 -1
- package/mobile/lib/retail/hooks/useBiblioglobusDefaultRegion.d.ts +0 -14
- package/mobile/lib/retail/hooks/useBiblioglobusDefaultRegion.js +0 -31
- package/mobile/lib/retail/hooks/useBiblioglobusDefaultRegion.js.map +0 -1
- package/mobile/lib/retail/utils/filterPaymentSystems.d.ts +0 -4
- package/mobile/lib/retail/utils/filterPaymentSystems.js +0 -10
- package/mobile/lib/retail/utils/filterPaymentSystems.js.map +0 -1
- package/mobile/lib/retail/utils/hasDelivery.d.ts +0 -10
- package/mobile/lib/retail/utils/hasDelivery.js +0 -9
- package/mobile/lib/retail/utils/hasDelivery.js.map +0 -1
- package/mobile/lib/utils/getSlugFromUrl.d.ts +0 -1
- package/mobile/lib/utils/getSlugFromUrl.js +0 -9
- package/mobile/lib/utils/getSlugFromUrl.js.map +0 -1
- package/mobile/src/retail/api/getClaimChannel.ts +0 -18
- package/mobile/src/retail/hooks/useBiblioglobusDefaultRegion.ts +0 -56
- package/mobile/src/retail/utils/filterPaymentSystems.ts +0 -14
- package/mobile/src/retail/utils/hasDelivery.ts +0 -22
- package/mobile/src/utils/getSlugFromUrl.ts +0 -10
- package/src/retail/api/getClaimChannel.ts +0 -18
- package/src/retail/hooks/useBiblioglobusDefaultRegion.ts +0 -56
- package/src/retail/utils/filterPaymentSystems.ts +0 -14
- package/src/retail/utils/hasDelivery.ts +0 -22
- package/src/utils/getSlugFromUrl.ts +0 -10
|
@@ -1,25 +1,68 @@
|
|
|
1
|
+
import type { JSONRefObject } from '../../data/JSONRefObject';
|
|
2
|
+
import { type DynamicDescription } from '../../model/HeadlineType';
|
|
1
3
|
import { BaseProductTile } from '../../ui-kit/BaseProductTile/BaseProductTile';
|
|
2
4
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
3
5
|
import { UniBlock } from '../../UniBlock/UniBlock';
|
|
4
6
|
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
7
|
+
import { saveSessionQuery } from '../../utils/getSessionQuery';
|
|
5
8
|
import { style } from '../../utils/style';
|
|
6
9
|
import { type ProductBlockContent } from './ProductBlockContent';
|
|
7
10
|
|
|
8
|
-
export interface ProductBlockProps extends UniBlockProps, ProductBlockContent {
|
|
11
|
+
export interface ProductBlockProps extends UniBlockProps, ProductBlockContent {
|
|
12
|
+
dynamicDescriptionSource?: JSONRefObject & {
|
|
13
|
+
list?: Record<string, string>[];
|
|
14
|
+
};
|
|
15
|
+
}
|
|
9
16
|
|
|
10
17
|
export const ProductBlock = UniBlock<ProductBlockProps>(
|
|
11
|
-
({
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
({
|
|
19
|
+
className,
|
|
20
|
+
padding,
|
|
21
|
+
defaultPadding,
|
|
22
|
+
dynamicUtmDescription,
|
|
23
|
+
dynamicDescriptionSource,
|
|
24
|
+
description,
|
|
25
|
+
...rest
|
|
26
|
+
}) => {
|
|
27
|
+
const formatDescription = getFormatDescription(
|
|
28
|
+
dynamicUtmDescription,
|
|
29
|
+
dynamicDescriptionSource?.list,
|
|
30
|
+
description,
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
return (
|
|
34
|
+
<BlockWrapper
|
|
35
|
+
className={style('overflow-hidden flex flex-col gap-3xl box-border', className)}
|
|
36
|
+
padding="p-0"
|
|
21
37
|
{...rest}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
38
|
+
>
|
|
39
|
+
<BaseProductTile
|
|
40
|
+
defaultPadding={defaultPadding || 'p-6xl'}
|
|
41
|
+
padding={padding}
|
|
42
|
+
description={formatDescription}
|
|
43
|
+
className="grow h-full"
|
|
44
|
+
{...rest}
|
|
45
|
+
/>
|
|
46
|
+
</BlockWrapper>
|
|
47
|
+
);
|
|
48
|
+
},
|
|
25
49
|
);
|
|
50
|
+
|
|
51
|
+
const getFormatDescription = (
|
|
52
|
+
dynamicUtmDescription: DynamicDescription = {},
|
|
53
|
+
valuesList: Record<string, string>[] = [],
|
|
54
|
+
description = '',
|
|
55
|
+
) => {
|
|
56
|
+
const { utm, value } = dynamicUtmDescription;
|
|
57
|
+
const sessionQuery = saveSessionQuery();
|
|
58
|
+
const utmValue = getUtmValue(utm ?? 'utm_source', sessionQuery);
|
|
59
|
+
const dynamicValue = valuesList.find((item) => item?.id === utmValue)?.value;
|
|
60
|
+
|
|
61
|
+
return dynamicValue ? description.replace(String(value), dynamicValue) : description;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const getUtmValue = (utm: string, queryString: string) => {
|
|
65
|
+
const params = new URLSearchParams(queryString);
|
|
66
|
+
|
|
67
|
+
return params.get(utm);
|
|
68
|
+
};
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
type AdditionalDescriptionProps,
|
|
3
|
+
type DynamicDescriptionProps,
|
|
4
|
+
} from '../../model/HeadlineType';
|
|
2
5
|
import { type BaseProductTileContent } from '../../ui-kit/BaseProductTile/BaseProductTileContent';
|
|
3
6
|
import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
|
|
4
7
|
|
|
@@ -7,7 +10,8 @@ import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
|
|
|
7
10
|
*/
|
|
8
11
|
export type ProductBlockContent = UniBlockContent &
|
|
9
12
|
BaseProductTileContent &
|
|
10
|
-
AdditionalDescriptionProps &
|
|
13
|
+
AdditionalDescriptionProps &
|
|
14
|
+
DynamicDescriptionProps & {
|
|
11
15
|
/** @title Отображать кнопку возврата */
|
|
12
16
|
backwardButton?: boolean;
|
|
13
17
|
};
|
package/src/icons/IconName.ts
CHANGED
|
@@ -7,11 +7,11 @@ export const IconsWithoutInversion = new Set([
|
|
|
7
7
|
]);
|
|
8
8
|
|
|
9
9
|
export enum IconMap {
|
|
10
|
-
YoutubeIcon = 'YoutubeIcon', WalletWithMoneyIcon = 'WalletWithMoneyIcon', WalletIcon = 'WalletIcon', WalletAddIcon = 'WalletAddIcon', VKIcon = 'VKIcon', UserTickIcon = 'UserTickIcon', UserSquareIcon = 'UserSquareIcon', UserGeoLocationIcon = 'UserGeoLocationIcon', TelegramIcon = 'TelegramIcon', StarIcon = 'StarIcon', SoundIcon = 'SoundIcon', SmallClockIcon = 'SmallClockIcon', SignDocsIcon = 'SignDocsIcon', ShieldTickIcon = 'ShieldTickIcon', SecurityСardIcon = 'SecurityСardIcon', SafeIcon = 'SafeIcon', RutubeIcon = 'RutubeIcon', RustoreIcon = 'RustoreIcon', RoundRubleIcon = 'RoundRubleIcon', ResponseOKIcon = 'ResponseOKIcon', ResponseFailIcon = 'ResponseFailIcon', RefreshIcon = 'RefreshIcon', ProfileIcon = 'ProfileIcon', Profile2UserIcon = 'Profile2UserIcon', PlusIcon = 'PlusIcon', PlusCircleIcon = 'PlusCircleIcon', PlayMarketIcon = 'PlayMarketIcon', PhoneIcon = 'PhoneIcon', PhoneCallingIcon = 'PhoneCallingIcon', PersonalCardIcon = 'PersonalCardIcon',
|
|
10
|
+
YoutubeIcon = 'YoutubeIcon', WalletWithMoneyIcon = 'WalletWithMoneyIcon', WalletIcon = 'WalletIcon', WalletAddIcon = 'WalletAddIcon', VKIcon = 'VKIcon', UserTickIcon = 'UserTickIcon', UserSquareIcon = 'UserSquareIcon', UserGeoLocationIcon = 'UserGeoLocationIcon', TelegramIcon = 'TelegramIcon', StarIcon = 'StarIcon', SoundIcon = 'SoundIcon', SmallClockIcon = 'SmallClockIcon', SignDocsIcon = 'SignDocsIcon', ShieldTickIcon = 'ShieldTickIcon', SecurityСardIcon = 'SecurityСardIcon', SafeIcon = 'SafeIcon', RutubeIcon = 'RutubeIcon', RustoreIcon = 'RustoreIcon', RoundRubleIcon = 'RoundRubleIcon', ResponseOKIcon = 'ResponseOKIcon', ResponseFailIcon = 'ResponseFailIcon', RefreshIcon = 'RefreshIcon', ProfileIcon = 'ProfileIcon', Profile2UserIcon = 'Profile2UserIcon', PlusIcon = 'PlusIcon', PlusCircleIcon = 'PlusCircleIcon', PlayMarketIcon = 'PlayMarketIcon', PhoneIcon = 'PhoneIcon', PhoneCallingIcon = 'PhoneCallingIcon', PersonalCardIcon = 'PersonalCardIcon', PercentageRoundIcon = 'PercentageRoundIcon', PercentIcon = 'PercentIcon', PassSendIcon = 'PassSendIcon', PackA4Icon = 'PackA4Icon', OkIcon = 'OkIcon', NotificationBingIcon = 'NotificationBingIcon', NewLoanIcon = 'NewLoanIcon', NewDocIcon = 'NewDocIcon', MonitorMobileIcon = 'MonitorMobileIcon', MoneyInsuranceIcon = 'MoneyInsuranceIcon', MoneyIcon = 'MoneyIcon', MinusIcon = 'MinusIcon', MapOpenedIcon = 'MapOpenedIcon', MapMarkerSingleIcon = 'MapMarkerSingleIcon', MapMarkerClusterYellowIcon = 'MapMarkerClusterYellowIcon', MapMarkerClusterIcon = 'MapMarkerClusterIcon', MailIcon = 'MailIcon', MagnifierIcon = 'MagnifierIcon', LoupeIcon = 'LoupeIcon', LogoIcon = 'LogoIcon', LockIcon = 'LockIcon', InfoCircleIcon = 'InfoCircleIcon', HuaweiIcon = 'HuaweiIcon', HouseIcon = 'HouseIcon', HeartTickIcon = 'HeartTickIcon', HeartIcon = 'HeartIcon', HeadphonesIcon = 'HeadphonesIcon', GridIcon = 'GridIcon', GpsIcon = 'GpsIcon', GosUslugiIcon = 'GosUslugiIcon', GlobalIcon = 'GlobalIcon', GeolocationIcon = 'GeolocationIcon', FullScreenIcon = 'FullScreenIcon', FaxIcon = 'FaxIcon', EuroIcon = 'EuroIcon', EmptyWalletIcon = 'EmptyWalletIcon', EmptyWalletChangeIcon = 'EmptyWalletChangeIcon', DzenIcon = 'DzenIcon', DoneSimpleIcon = 'DoneSimpleIcon', DoneIcon = 'DoneIcon', DollarIcon = 'DollarIcon', DocIcon = 'DocIcon', DocDownloadIcon = 'DocDownloadIcon', DiscountShapeIcon = 'DiscountShapeIcon', DevIcon = 'DevIcon', CupIcon = 'CupIcon', CourtHouseIcon = 'CourtHouseIcon', CopyIcon = 'CopyIcon', ConvertCardIcon = 'ConvertCardIcon', CoinIcon = 'CoinIcon', CloseIcon = 'CloseIcon', ClientIcon = 'ClientIcon', ChineseYuanRenminbiIcon = 'ChineseYuanRenminbiIcon', ChevronLeftIcon = 'ChevronLeftIcon', ChatBotIcon = 'ChatBotIcon', ChartSquareIcon = 'ChartSquareIcon', ChartRoundIcon = 'ChartRoundIcon', ChartIcon = 'ChartIcon', CardTickIcon = 'CardTickIcon', CardSendIcon = 'CardSendIcon', CardPosIcon = 'CardPosIcon', CardIcon = 'CardIcon', CallbackIcon = 'CallbackIcon', CalendarTickIcon = 'CalendarTickIcon', CalendarIcon = 'CalendarIcon', CalendarCircleIcon = 'CalendarCircleIcon', BurgerIcon = 'BurgerIcon', BuildingIcon = 'BuildingIcon', BriefcaseIcon = 'BriefcaseIcon', BelarusianFlag = 'BelarusianFlag', BankIcon = 'BankIcon', BankColorIcon = 'BankColorIcon', AtmIcon = 'AtmIcon', ArrowUpSolidIcon = 'ArrowUpSolidIcon', ArrowUpIcon = 'ArrowUpIcon', ArrowTopRightIcon = 'ArrowTopRightIcon', ArrowRightIcon = 'ArrowRightIcon', ArrowLeftIcon = 'ArrowLeftIcon', ArrowDownSolidIcon = 'ArrowDownSolidIcon', ArrowDownIcon = 'ArrowDownIcon', AppleIcon = 'AppleIcon', AlarmIcon = 'AlarmIcon', ActualBalanceIcon = 'ActualBalanceIcon', AchievementIcon = 'AchievementIcon'
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export enum IconTitleMap {
|
|
14
|
-
YoutubeIcon = 'Лого «Youtube»', WalletWithMoneyIcon = 'Кошелёк с деньгами', WalletIcon = 'Кошелёк', WalletAddIcon = 'Кошелёк с плюсом', VKIcon = 'Лого «VK»', UserTickIcon = 'Пользователь', UserSquareIcon = 'Пользователь в рамке', UserGeoLocationIcon = 'Самолётик', TelegramIcon = 'Лого «Telegram»', StarIcon = 'Звезда', SoundIcon = 'Кольцо', SmallClockIcon = 'Маленькие часы', SignDocsIcon = 'Подписанные документы', ShieldTickIcon = 'Безопасность', SecurityСardIcon = 'Безопасность', SafeIcon = 'Сейф', RutubeIcon = 'Лого «Rutube»', RustoreIcon = 'Лого «Rustore»', RoundRubleIcon = 'Рубль (круг.)', ResponseOKIcon = 'Ок', ResponseFailIcon = 'Ошибка', RefreshIcon = 'RefreshIcon', ProfileIcon = 'Профиль', Profile2UserIcon = 'Профиль, 2 персоны', PlusIcon = 'Плюс', PlusCircleIcon = 'Плюс в круге', PlayMarketIcon = 'Лого «PlayMarket»', PhoneIcon = 'Телефон', PhoneCallingIcon = 'Звонящий телефон', PersonalCardIcon = 'Персональная карта',
|
|
14
|
+
YoutubeIcon = 'Лого «Youtube»', WalletWithMoneyIcon = 'Кошелёк с деньгами', WalletIcon = 'Кошелёк', WalletAddIcon = 'Кошелёк с плюсом', VKIcon = 'Лого «VK»', UserTickIcon = 'Пользователь', UserSquareIcon = 'Пользователь в рамке', UserGeoLocationIcon = 'Самолётик', TelegramIcon = 'Лого «Telegram»', StarIcon = 'Звезда', SoundIcon = 'Кольцо', SmallClockIcon = 'Маленькие часы', SignDocsIcon = 'Подписанные документы', ShieldTickIcon = 'Безопасность', SecurityСardIcon = 'Безопасность', SafeIcon = 'Сейф', RutubeIcon = 'Лого «Rutube»', RustoreIcon = 'Лого «Rustore»', RoundRubleIcon = 'Рубль (круг.)', ResponseOKIcon = 'Ок', ResponseFailIcon = 'Ошибка', RefreshIcon = 'RefreshIcon', ProfileIcon = 'Профиль', Profile2UserIcon = 'Профиль, 2 персоны', PlusIcon = 'Плюс', PlusCircleIcon = 'Плюс в круге', PlayMarketIcon = 'Лого «PlayMarket»', PhoneIcon = 'Телефон', PhoneCallingIcon = 'Звонящий телефон', PersonalCardIcon = 'Персональная карта', PercentageRoundIcon = 'Проценты (круг.)', PercentIcon = 'Проценты', PassSendIcon = 'Бизнес', PackA4Icon = 'Пачка бумаги А4', OkIcon = 'Лого «Одноклассники»', NotificationBingIcon = 'Колокольчик нотификаций', NewLoanIcon = 'Новая заявка', NewDocIcon = 'Новый документ', MonitorMobileIcon = 'Монитор и мобильный', MoneyInsuranceIcon = 'Денежное страхование', MoneyIcon = 'Деньги', MinusIcon = 'Минус', MapOpenedIcon = 'Иконка Развёрнутая карта', MapMarkerSingleIcon = 'Маркер карты РСХБ', MapMarkerClusterYellowIcon = 'Маркер карты (желтый)', MapMarkerClusterIcon = 'Маркер карты', MailIcon = 'E-mail', MagnifierIcon = 'MagnifierIcon', LoupeIcon = 'Лупа', LogoIcon = 'Логотип', LockIcon = 'Замок', InfoCircleIcon = 'InfoCircleIcon', HuaweiIcon = 'Лого «Huawei»', HouseIcon = 'Ипотека', HeartTickIcon = 'Сердцебеение', HeartIcon = 'Сердце', HeadphonesIcon = 'HeadphonesIcon', GridIcon = 'Сетка (белая)', GpsIcon = 'Gps', GosUslugiIcon = 'ГосУслуги', GlobalIcon = 'Глобус', GeolocationIcon = 'Геолокация', FullScreenIcon = 'FullScreenIcon', FaxIcon = 'Факс', EuroIcon = 'Евро', EmptyWalletIcon = 'Пустой кошелёк', EmptyWalletChangeIcon = 'Пустой кошелёк с возвратом', DzenIcon = 'Лого «Дзен»', DoneSimpleIcon = 'Зелёная \'галочка\'', DoneIcon = 'Зелёная \'галочка\' в круге', DollarIcon = 'Доллар', DocIcon = 'Документ', DocDownloadIcon = 'Скачать документ', DiscountShapeIcon = 'Скидка', DevIcon = 'Разработка', CupIcon = 'Кубок', CourtHouseIcon = 'Здание суда', CopyIcon = 'Копирование', ConvertCardIcon = 'Конвертирование', CoinIcon = 'Монеты', CloseIcon = 'Крестик', ClientIcon = 'Клиент', ChineseYuanRenminbiIcon = 'Китайский юань', ChevronLeftIcon = 'Стрелка \'Влево\'', ChatBotIcon = 'Чат-бот', ChartSquareIcon = 'Деньги внутри кошелька', ChartRoundIcon = 'Диаграмма (в круге)', ChartIcon = 'Инвестиции', CardTickIcon = 'Кред. карта с галочкой', CardSendIcon = 'Карта', CardPosIcon = 'Кред. карта под наклоном', CardIcon = 'Кред. карта', CallbackIcon = 'Телефон', CalendarTickIcon = 'Календарь с галочкой', CalendarIcon = 'Календарь', CalendarCircleIcon = 'Скруглённый календарь', BurgerIcon = 'Бургер', BuildingIcon = 'Здание с деревом', BriefcaseIcon = 'Портфель', BelarusianFlag = 'Белорусский флаг', BankIcon = 'Банк', BankColorIcon = 'Банк (в цвете)', AtmIcon = 'Банкомат', ArrowUpSolidIcon = 'Стрелка сплошная \'Вверх\'', ArrowUpIcon = 'Стрелка \'Вверх\'', ArrowTopRightIcon = 'Стрелка \'Вверх-право\'', ArrowRightIcon = 'Стрелка \'Вправо\'', ArrowLeftIcon = 'Стрелка \'Влево\'', ArrowDownSolidIcon = 'Стрелка сплошная \'Вниз\'', ArrowDownIcon = 'Стрелка \'Вниз\'', AppleIcon = 'Лого «Apple»', AlarmIcon = 'Предупреждение', ActualBalanceIcon = 'Деньги', AchievementIcon = 'Достижение'
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
/**
|
|
@@ -19,7 +19,7 @@ export enum IconTitleMap {
|
|
|
19
19
|
* @title Иконка
|
|
20
20
|
* @enumNames [
|
|
21
21
|
* "",
|
|
22
|
-
* 'Лого «Youtube»', 'Кошелёк с деньгами', 'Кошелёк', 'Кошелёк с плюсом', 'Лого «VK»', 'Пользователь', 'Пользователь в рамке', 'Самолётик', 'Лого «Telegram»', 'Звезда', 'Кольцо', 'Маленькие часы', 'Подписанные документы', 'Безопасность', 'Безопасность', 'Сейф', 'Лого «Rutube»', 'Лого «Rustore»', 'Рубль (круг.)', 'Ок', 'Ошибка', 'RefreshIcon', 'Профиль', 'Профиль, 2 персоны', 'Плюс', 'Плюс в круге', 'Лого «PlayMarket»', 'Телефон', 'Звонящий телефон', 'Персональная карта', 'Проценты', 'Проценты
|
|
22
|
+
* 'Лого «Youtube»', 'Кошелёк с деньгами', 'Кошелёк', 'Кошелёк с плюсом', 'Лого «VK»', 'Пользователь', 'Пользователь в рамке', 'Самолётик', 'Лого «Telegram»', 'Звезда', 'Кольцо', 'Маленькие часы', 'Подписанные документы', 'Безопасность', 'Безопасность', 'Сейф', 'Лого «Rutube»', 'Лого «Rustore»', 'Рубль (круг.)', 'Ок', 'Ошибка', 'RefreshIcon', 'Профиль', 'Профиль, 2 персоны', 'Плюс', 'Плюс в круге', 'Лого «PlayMarket»', 'Телефон', 'Звонящий телефон', 'Персональная карта', 'Проценты (круг.)', 'Проценты', 'Бизнес', 'Пачка бумаги А4', 'Лого «Одноклассники»', 'Колокольчик нотификаций', 'Новая заявка', 'Новый документ', 'Монитор и мобильный', 'Денежное страхование', 'Деньги', 'Минус', 'Иконка Развёрнутая карта', 'Маркер карты РСХБ', 'Маркер карты (желтый)', 'Маркер карты', 'E-mail', 'MagnifierIcon', 'Лупа', 'Логотип', 'Замок', 'InfoCircleIcon', 'Лого «Huawei»', 'Ипотека', 'Сердцебеение', 'Сердце', 'HeadphonesIcon', 'Сетка (белая)', 'Gps', 'ГосУслуги', 'Глобус', 'Геолокация', 'FullScreenIcon', 'Факс', 'Евро', 'Пустой кошелёк', 'Пустой кошелёк с возвратом', 'Лого «Дзен»', 'Зелёная \'галочка\'', 'Зелёная \'галочка\' в круге', 'Доллар', 'Документ', 'Скачать документ', 'Скидка', 'Разработка', 'Кубок', 'Здание суда', 'Копирование', 'Конвертирование', 'Монеты', 'Крестик', 'Клиент', 'Китайский юань', 'Стрелка \'Влево\'', 'Чат-бот', 'Деньги внутри кошелька', 'Диаграмма (в круге)', 'Инвестиции', 'Кред. карта с галочкой', 'Карта', 'Кред. карта под наклоном', 'Кред. карта', 'Телефон', 'Календарь с галочкой', 'Календарь', 'Скруглённый календарь', 'Бургер', 'Здание с деревом', 'Портфель', 'Белорусский флаг', 'Банк', 'Банк (в цвете)', 'Банкомат', 'Стрелка сплошная \'Вверх\'', 'Стрелка \'Вверх\'', 'Стрелка \'Вверх-право\'', 'Стрелка \'Вправо\'', 'Стрелка \'Влево\'', 'Стрелка сплошная \'Вниз\'', 'Стрелка \'Вниз\'', 'Лого «Apple»', 'Предупреждение', 'Деньги', 'Достижение'
|
|
23
23
|
* ]
|
|
24
24
|
*/
|
|
25
|
-
export type IconName = '' | 'YoutubeIcon' | 'WalletWithMoneyIcon' | 'WalletIcon' | 'WalletAddIcon' | 'VKIcon' | 'UserTickIcon' | 'UserSquareIcon' | 'UserGeoLocationIcon' | 'TelegramIcon' | 'StarIcon' | 'SoundIcon' | 'SmallClockIcon' | 'SignDocsIcon' | 'ShieldTickIcon' | 'SecurityСardIcon' | 'SafeIcon' | 'RutubeIcon' | 'RustoreIcon' | 'RoundRubleIcon' | 'ResponseOKIcon' | 'ResponseFailIcon' | 'RefreshIcon' | 'ProfileIcon' | 'Profile2UserIcon' | 'PlusIcon' | 'PlusCircleIcon' | 'PlayMarketIcon' | 'PhoneIcon' | 'PhoneCallingIcon' | 'PersonalCardIcon' | '
|
|
25
|
+
export type IconName = '' | 'YoutubeIcon' | 'WalletWithMoneyIcon' | 'WalletIcon' | 'WalletAddIcon' | 'VKIcon' | 'UserTickIcon' | 'UserSquareIcon' | 'UserGeoLocationIcon' | 'TelegramIcon' | 'StarIcon' | 'SoundIcon' | 'SmallClockIcon' | 'SignDocsIcon' | 'ShieldTickIcon' | 'SecurityСardIcon' | 'SafeIcon' | 'RutubeIcon' | 'RustoreIcon' | 'RoundRubleIcon' | 'ResponseOKIcon' | 'ResponseFailIcon' | 'RefreshIcon' | 'ProfileIcon' | 'Profile2UserIcon' | 'PlusIcon' | 'PlusCircleIcon' | 'PlayMarketIcon' | 'PhoneIcon' | 'PhoneCallingIcon' | 'PersonalCardIcon' | 'PercentageRoundIcon' | 'PercentIcon' | 'PassSendIcon' | 'PackA4Icon' | 'OkIcon' | 'NotificationBingIcon' | 'NewLoanIcon' | 'NewDocIcon' | 'MonitorMobileIcon' | 'MoneyInsuranceIcon' | 'MoneyIcon' | 'MinusIcon' | 'MapOpenedIcon' | 'MapMarkerSingleIcon' | 'MapMarkerClusterYellowIcon' | 'MapMarkerClusterIcon' | 'MailIcon' | 'MagnifierIcon' | 'LoupeIcon' | 'LogoIcon' | 'LockIcon' | 'InfoCircleIcon' | 'HuaweiIcon' | 'HouseIcon' | 'HeartTickIcon' | 'HeartIcon' | 'HeadphonesIcon' | 'GridIcon' | 'GpsIcon' | 'GosUslugiIcon' | 'GlobalIcon' | 'GeolocationIcon' | 'FullScreenIcon' | 'FaxIcon' | 'EuroIcon' | 'EmptyWalletIcon' | 'EmptyWalletChangeIcon' | 'DzenIcon' | 'DoneSimpleIcon' | 'DoneIcon' | 'DollarIcon' | 'DocIcon' | 'DocDownloadIcon' | 'DiscountShapeIcon' | 'DevIcon' | 'CupIcon' | 'CourtHouseIcon' | 'CopyIcon' | 'ConvertCardIcon' | 'CoinIcon' | 'CloseIcon' | 'ClientIcon' | 'ChineseYuanRenminbiIcon' | 'ChevronLeftIcon' | 'ChatBotIcon' | 'ChartSquareIcon' | 'ChartRoundIcon' | 'ChartIcon' | 'CardTickIcon' | 'CardSendIcon' | 'CardPosIcon' | 'CardIcon' | 'CallbackIcon' | 'CalendarTickIcon' | 'CalendarIcon' | 'CalendarCircleIcon' | 'BurgerIcon' | 'BuildingIcon' | 'BriefcaseIcon' | 'BelarusianFlag' | 'BankIcon' | 'BankColorIcon' | 'AtmIcon' | 'ArrowUpSolidIcon' | 'ArrowUpIcon' | 'ArrowTopRightIcon' | 'ArrowRightIcon' | 'ArrowLeftIcon' | 'ArrowDownSolidIcon' | 'ArrowDownIcon' | 'AppleIcon' | 'AlarmIcon' | 'ActualBalanceIcon' | 'AchievementIcon';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type JSONRefObject } from '../data/JSONRefObject';
|
|
1
2
|
import { type TextAlign } from '../ui-kit/Text/TextProps';
|
|
2
3
|
|
|
3
4
|
/**
|
|
@@ -45,8 +46,26 @@ export type AdditionalDescriptionProps = {
|
|
|
45
46
|
additionalDescription?: string;
|
|
46
47
|
};
|
|
47
48
|
|
|
48
|
-
export type
|
|
49
|
+
export type DynamicDescriptionProps = {
|
|
50
|
+
/** @title Динамическое описание по значению utm-метки */
|
|
51
|
+
dynamicUtmDescription?: DynamicDescription;
|
|
52
|
+
/** @title Справочник значений */
|
|
53
|
+
dynamicDescriptionSource?: JSONRefObject;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export type HeadlineCommonProps = TitleProps &
|
|
57
|
+
DescriptionProps &
|
|
58
|
+
AlignProps &
|
|
59
|
+
AdditionalDescriptionProps &
|
|
60
|
+
DynamicDescriptionProps;
|
|
49
61
|
|
|
50
62
|
export type HeadlineProps = HeadlineCommonProps & {
|
|
51
63
|
headlineVersion?: HeadlineVersion;
|
|
52
64
|
};
|
|
65
|
+
|
|
66
|
+
export type DynamicDescription = {
|
|
67
|
+
/** @title utm-метка */
|
|
68
|
+
utm?: string;
|
|
69
|
+
/** @title Заменяемый текст */
|
|
70
|
+
value?: string;
|
|
71
|
+
};
|
|
@@ -1,26 +1,18 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
|
-
import { useSessionStore } from '@redneckz/uni-jsx/lib/Store/useSessionStore';
|
|
4
3
|
import { getOfficePoint } from '../../../components/OfficesAtmsMap/renderOfficeCard';
|
|
5
4
|
import { useOfficesAtmsMapData } from '../../../components/OfficesAtmsMap/useOfficesAtmsMapData';
|
|
6
5
|
import { ClientOnly } from '../../../ui-kit/ClientOnly';
|
|
7
6
|
import { type CustomFieldProps } from '../../../ui-kit/FormField/CustomFieldProps';
|
|
8
7
|
import { SelectControl } from '../../../ui-kit/Select/SelectControl';
|
|
9
8
|
import { YandexMap } from '../../../ui-kit/YandexMap/YandexMap';
|
|
10
|
-
import { getCardSlugFromUrl } from '../../../utils/getSlugFromUrl';
|
|
11
9
|
import { fetchRegionOffices, type OfficeType } from '../../api/regionOffices';
|
|
12
10
|
import { useLeadFormData } from '../../hooks/useLeadFormData';
|
|
13
|
-
import { BIBLIOGLOBUS_SLUG } from '../../utils/filterPaymentSystems';
|
|
14
|
-
|
|
15
|
-
const BIBLIOGLOBUS_OFFICE_ID = '714680716';
|
|
16
11
|
|
|
17
12
|
export const AddressRetailField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
18
13
|
const [offices, setOffices] = useState<OfficeType[]>([]);
|
|
19
14
|
const { data } = useLeadFormData('REGION_RF');
|
|
20
15
|
|
|
21
|
-
const sessionStore = useSessionStore<{ referrerUrl?: string }>();
|
|
22
|
-
const referrerUrl = sessionStore.referrerUrl;
|
|
23
|
-
|
|
24
16
|
const regionValue = field('regionRetail')?.value || {};
|
|
25
17
|
const addressField = field(input?.name ?? '');
|
|
26
18
|
|
|
@@ -35,24 +27,6 @@ export const AddressRetailField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
|
35
27
|
}
|
|
36
28
|
}, [regionValue.key]);
|
|
37
29
|
|
|
38
|
-
// Логика для biblioglobus - выбор отделения по умолчанию
|
|
39
|
-
useEffect(() => {
|
|
40
|
-
if (!referrerUrl || !offices.length) {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
const slug = getCardSlugFromUrl(referrerUrl);
|
|
45
|
-
if (slug === BIBLIOGLOBUS_SLUG) {
|
|
46
|
-
const defaultOffice = offices.find(
|
|
47
|
-
(office) => office.id?.toString() === BIBLIOGLOBUS_OFFICE_ID,
|
|
48
|
-
);
|
|
49
|
-
addressField.onChange?.({
|
|
50
|
-
key: defaultOffice?.id?.toString() || '',
|
|
51
|
-
text: defaultOffice?.address || '',
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
}, [referrerUrl, offices]);
|
|
55
|
-
|
|
56
30
|
const { points } = useOfficesAtmsMapData({
|
|
57
31
|
data: offices,
|
|
58
32
|
filtrationState: {},
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { useMemo, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
3
|
import { useLocalStore } from '@redneckz/uni-jsx/lib/Store/useLocalStore';
|
|
4
|
-
import { useSessionStore } from '@redneckz/uni-jsx/lib/Store/useSessionStore';
|
|
5
4
|
import { useAsyncEffect } from '../../../hooks/useAsyncEffect';
|
|
6
5
|
import { type CustomFieldProps } from '../../../ui-kit/FormField/CustomFieldProps';
|
|
7
6
|
import { RadioButtonGroupControl } from '../../../ui-kit/RadioButtonGroup/RadioButtonGroupControl';
|
|
8
7
|
import { type Option } from '../../../ui-kit/Select/Option';
|
|
9
|
-
import { getCardSlugFromUrl } from '../../../utils/getSlugFromUrl';
|
|
10
8
|
import { getPaymentSystems } from '../../api/getPaymentSystems';
|
|
11
|
-
import { filterPaymentSystems } from '../../utils/filterPaymentSystems';
|
|
12
9
|
|
|
13
10
|
const optionKey = (option: { key?: string } | undefined) => option?.key;
|
|
14
11
|
|
|
@@ -16,28 +13,12 @@ export const PaymentSystemField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
|
16
13
|
const [paymentSystemOptions, setPaymentSystemOptions] = useState<Option[]>([]);
|
|
17
14
|
|
|
18
15
|
const localStore = useLocalStore<{ programId: string }>();
|
|
19
|
-
const sessionStore = useSessionStore<{ referrerUrl?: string }>();
|
|
20
|
-
|
|
21
16
|
useAsyncEffect(async () => {
|
|
22
17
|
const { programId } = localStore;
|
|
23
|
-
if (
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
const fetchedPaymentSystems = await getPaymentSystems(programId);
|
|
28
|
-
|
|
29
|
-
const referrerUrl = sessionStore.referrerUrl;
|
|
30
|
-
|
|
31
|
-
if (!referrerUrl) {
|
|
18
|
+
if (programId) {
|
|
19
|
+
const fetchedPaymentSystems = await getPaymentSystems(programId);
|
|
32
20
|
setPaymentSystemOptions(fetchedPaymentSystems ?? []);
|
|
33
|
-
|
|
34
|
-
return;
|
|
35
21
|
}
|
|
36
|
-
|
|
37
|
-
const slug = getCardSlugFromUrl(referrerUrl);
|
|
38
|
-
const filteredSystems = filterPaymentSystems(fetchedPaymentSystems ?? [], slug);
|
|
39
|
-
|
|
40
|
-
setPaymentSystemOptions(filteredSystems);
|
|
41
22
|
}, []);
|
|
42
23
|
|
|
43
24
|
const items = useMemo(
|
|
@@ -1,24 +1,19 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { useCallback, useEffect } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
3
|
import { useAsyncData } from '@redneckz/uni-jsx/lib/hooks/useAsyncData';
|
|
4
|
-
import { useSessionStore } from '@redneckz/uni-jsx/lib/Store/useSessionStore';
|
|
5
4
|
import { type ProductType } from '../../../components/ApplicationLeadForm/ApplicationLeadFormContent';
|
|
6
5
|
import { type CustomFieldProps } from '../../../ui-kit/FormField/CustomFieldProps';
|
|
7
6
|
import { type Option } from '../../../ui-kit/Select/Option';
|
|
8
7
|
import { SelectControl } from '../../../ui-kit/Select/SelectControl';
|
|
9
8
|
import { getRegionsCardDelivery } from '../../api/getRegionsCardDelivery';
|
|
10
|
-
import { useBiblioglobusDefaultRegion } from '../../hooks/useBiblioglobusDefaultRegion';
|
|
11
9
|
import { useLeadFormData } from '../../hooks/useLeadFormData';
|
|
12
10
|
import { useRetailFormStore } from '../../hooks/useRetailFormStore';
|
|
13
|
-
import { calculateRegionHasDelivery, getRegionDeliveryStatus } from '../../utils/hasDelivery';
|
|
14
11
|
|
|
15
12
|
export const RegionRetailField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
16
13
|
const { programId, productType } = useRetailFormStore();
|
|
17
14
|
const { data: regions } = useLeadFormData('REGION_RF');
|
|
18
15
|
const { data: regionsDelivery } = useAsyncData('regionsDelivery', getRegionsCardDelivery);
|
|
19
16
|
const { data: productSettings } = useLeadFormData(getCurrentProductSettings(productType));
|
|
20
|
-
const sessionStore = useSessionStore<{ referrerUrl?: string }>();
|
|
21
|
-
|
|
22
17
|
const isDebit = productType === 'debitCard';
|
|
23
18
|
const isSalaryCard = programId === '38';
|
|
24
19
|
const isEsiaAuth = Boolean(field('esiaAccountTypeCd')?.value?.key);
|
|
@@ -29,30 +24,20 @@ export const RegionRetailField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
|
29
24
|
const handleChangeRegionHasDelivery = field('regionHasDelivery')?.onChange;
|
|
30
25
|
const handleChangeMethodObtain = field('methodObtain')?.onChange;
|
|
31
26
|
|
|
32
|
-
useBiblioglobusDefaultRegion({
|
|
33
|
-
referrerUrl: sessionStore.referrerUrl ?? undefined,
|
|
34
|
-
regions,
|
|
35
|
-
regionsDelivery,
|
|
36
|
-
onRegionChange: handleChangeRegion,
|
|
37
|
-
onRegionHasDeliveryChange: handleChangeRegionHasDelivery,
|
|
38
|
-
onMethodObtainChange: handleChangeMethodObtain,
|
|
39
|
-
});
|
|
40
|
-
|
|
41
27
|
const onChange = useCallback(
|
|
42
28
|
(value: Option) => {
|
|
43
|
-
const regionHasDelivery =
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
});
|
|
29
|
+
const regionHasDelivery = isDebit
|
|
30
|
+
? isEsiaAuth &&
|
|
31
|
+
!isSalaryCard &&
|
|
32
|
+
isDeliveryActive &&
|
|
33
|
+
regionsDelivery?.find((_) => _.regionCode === value.key)?.deliveryFlg
|
|
34
|
+
: isDeliveryActive && regionsDelivery?.find((_) => _.regionCode === value.key)?.deliveryFlg;
|
|
50
35
|
|
|
51
36
|
handleChangeRegionHasDelivery?.(regionHasDelivery);
|
|
52
37
|
handleChangeMethodObtain?.(regionHasDelivery ? 'courier' : 'office');
|
|
53
38
|
handleChangeRegion?.(value);
|
|
54
39
|
},
|
|
55
|
-
[
|
|
40
|
+
[regionsDelivery, isDeliveryActive, isEsiaAuth],
|
|
56
41
|
);
|
|
57
42
|
|
|
58
43
|
useEffect(() => {
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { type Option } from '../../ui-kit/Select/Option';
|
|
2
|
-
import { type DictionaryItem } from '../model/LeadFormData';
|
|
3
|
-
export declare type RegionDelivery = {
|
|
4
|
-
regionCode: string;
|
|
5
|
-
deliveryFlg: boolean;
|
|
6
|
-
};
|
|
7
|
-
export declare const useBiblioglobusDefaultRegion: (args: {
|
|
8
|
-
referrerUrl?: string | undefined;
|
|
9
|
-
regions?: DictionaryItem[] | undefined;
|
|
10
|
-
regionsDelivery?: RegionDelivery[] | undefined;
|
|
11
|
-
onRegionChange?: ((option: Option) => void) | undefined;
|
|
12
|
-
onRegionHasDeliveryChange?: ((value: boolean) => void) | undefined;
|
|
13
|
-
onMethodObtainChange?: ((value: string) => void) | undefined;
|
|
14
|
-
}) => void;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { type Option } from '../../ui-kit/Select/Option';
|
|
2
|
-
import { type RegionDelivery } from '../hooks/useBiblioglobusDefaultRegion';
|
|
3
|
-
export declare const getRegionDeliveryStatus: (regionsDelivery: RegionDelivery[] | undefined, value: Option) => boolean | undefined;
|
|
4
|
-
export declare const calculateRegionHasDelivery: (args: {
|
|
5
|
-
isDebit: boolean;
|
|
6
|
-
isEsiaAuth: boolean;
|
|
7
|
-
isSalaryCard: boolean;
|
|
8
|
-
isDeliveryActive: boolean;
|
|
9
|
-
regionDelivery?: boolean;
|
|
10
|
-
}) => boolean | undefined;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function getCardSlugFromUrl(url: string): string | null;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.getClaimChannel = void 0;
|
|
3
|
-
const doRequest_1 = require("./doRequest");
|
|
4
|
-
const getClaimChannel = async () => {
|
|
5
|
-
const res = await (0, doRequest_1.fetchRetailJSON)('light-api-cash/v1/claimChannel/', 'GET');
|
|
6
|
-
return res || [];
|
|
7
|
-
};
|
|
8
|
-
exports.getClaimChannel = getClaimChannel;
|
|
9
|
-
//# sourceMappingURL=getClaimChannel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getClaimChannel.js","sourceRoot":"","sources":["../../../src/retail/api/getClaimChannel.ts"],"names":[],"mappings":";;AAAA,2CAA8C;AAUvC,MAAM,eAAe,GAAG,KAAK,IAAwC,EAAE;IAC5E,MAAM,GAAG,GAAG,MAAM,IAAA,2BAAe,EAC/B,iCAAiC,EACjC,KAAK,CACN,CAAC;IAEF,OAAO,GAAG,IAAK,EAAgC,CAAC;AAClD,CAAC,CAAC;AAPW,QAAA,eAAe,mBAO1B"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { type Option } from '../../ui-kit/Select/Option';
|
|
2
|
-
import { type DictionaryItem } from '../model/LeadFormData';
|
|
3
|
-
export declare type RegionDelivery = {
|
|
4
|
-
regionCode: string;
|
|
5
|
-
deliveryFlg: boolean;
|
|
6
|
-
};
|
|
7
|
-
export declare const useBiblioglobusDefaultRegion: (args: {
|
|
8
|
-
referrerUrl?: string | undefined;
|
|
9
|
-
regions?: DictionaryItem[] | undefined;
|
|
10
|
-
regionsDelivery?: RegionDelivery[] | undefined;
|
|
11
|
-
onRegionChange?: ((option: Option) => void) | undefined;
|
|
12
|
-
onRegionHasDeliveryChange?: ((value: boolean) => void) | undefined;
|
|
13
|
-
onMethodObtainChange?: ((value: string) => void) | undefined;
|
|
14
|
-
}) => void;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.useBiblioglobusDefaultRegion = void 0;
|
|
3
|
-
const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
|
|
4
|
-
const getSlugFromUrl_1 = require("../../utils/getSlugFromUrl");
|
|
5
|
-
const filterPaymentSystems_1 = require("../utils/filterPaymentSystems");
|
|
6
|
-
const useBiblioglobusDefaultRegion = (args) => {
|
|
7
|
-
const { referrerUrl, regions, regionsDelivery, onRegionChange, onRegionHasDeliveryChange, onMethodObtainChange, } = args;
|
|
8
|
-
const slug = referrerUrl ? (0, getSlugFromUrl_1.getCardSlugFromUrl)(referrerUrl) : '';
|
|
9
|
-
const defaultRegion = regions?.find((region) => region.key === 'REGION_77');
|
|
10
|
-
const regionHasDelivery = Boolean(regionsDelivery?.find((rd) => rd.regionCode === 'REGION_77')?.deliveryFlg);
|
|
11
|
-
const isReady = Boolean(referrerUrl &&
|
|
12
|
-
regions &&
|
|
13
|
-
regionsDelivery &&
|
|
14
|
-
slug === filterPaymentSystems_1.BIBLIOGLOBUS_SLUG &&
|
|
15
|
-
defaultRegion?.key &&
|
|
16
|
-
defaultRegion?.value);
|
|
17
|
-
(0, hooks_1.useEffect)(() => {
|
|
18
|
-
if (!isReady || !defaultRegion || !defaultRegion.key || !defaultRegion.value) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
onRegionChange?.({ key: defaultRegion.key, text: defaultRegion.value });
|
|
22
|
-
onRegionHasDeliveryChange?.(regionHasDelivery);
|
|
23
|
-
onMethodObtainChange?.(regionHasDelivery ? 'courier' : 'office');
|
|
24
|
-
}, [
|
|
25
|
-
isReady,
|
|
26
|
-
defaultRegion,
|
|
27
|
-
regionHasDelivery,
|
|
28
|
-
onRegionChange,
|
|
29
|
-
onRegionHasDeliveryChange,
|
|
30
|
-
onMethodObtainChange,
|
|
31
|
-
]);
|
|
32
|
-
};
|
|
33
|
-
exports.useBiblioglobusDefaultRegion = useBiblioglobusDefaultRegion;
|
|
34
|
-
//# sourceMappingURL=useBiblioglobusDefaultRegion.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBiblioglobusDefaultRegion.js","sourceRoot":"","sources":["../../../src/retail/hooks/useBiblioglobusDefaultRegion.ts"],"names":[],"mappings":";;AAAA,uDAAwD;AAExD,+DAAgE;AAEhE,wEAAkE;AAI3D,MAAM,4BAA4B,GAAG,CAAC,IAO5C,EAAE,EAAE;IACH,MAAM,EACJ,WAAW,EACX,OAAO,EACP,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,oBAAoB,GACrB,GAAG,IAAI,CAAC;IAET,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,IAAA,mCAAkB,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,aAAa,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC;IAC5E,MAAM,iBAAiB,GAAG,OAAO,CAC/B,eAAe,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,KAAK,WAAW,CAAC,EAAE,WAAW,CAC1E,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CACrB,WAAW;QACT,OAAO;QACP,eAAe;QACf,IAAI,KAAK,wCAAiB;QAC1B,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,KAAK,CACvB,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;YAC5E,OAAO;SACR;QAED,cAAc,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;QACxE,yBAAyB,EAAE,CAAC,iBAAiB,CAAC,CAAC;QAC/C,oBAAoB,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC,EAAE;QACD,OAAO;QACP,aAAa;QACb,iBAAiB;QACjB,cAAc;QACd,yBAAyB;QACzB,oBAAoB;KACrB,CAAC,CAAC;AACL,CAAC,CAAC;AA/CW,QAAA,4BAA4B,gCA+CvC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.BIBLIOGLOBUS_SLUG = exports.filterPaymentSystems = void 0;
|
|
3
|
-
const BIBLIOGLOBUS_SLUG = 'biblioglobus';
|
|
4
|
-
exports.BIBLIOGLOBUS_SLUG = BIBLIOGLOBUS_SLUG;
|
|
5
|
-
const UNIONPAY_TEXT = 'UnionPay';
|
|
6
|
-
const filterPaymentSystems = (systems, slug) => {
|
|
7
|
-
if (slug !== BIBLIOGLOBUS_SLUG) {
|
|
8
|
-
return systems;
|
|
9
|
-
}
|
|
10
|
-
return systems.filter((system) => system.text === UNIONPAY_TEXT);
|
|
11
|
-
};
|
|
12
|
-
exports.filterPaymentSystems = filterPaymentSystems;
|
|
13
|
-
//# sourceMappingURL=filterPaymentSystems.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filterPaymentSystems.js","sourceRoot":"","sources":["../../../src/retail/utils/filterPaymentSystems.ts"],"names":[],"mappings":";;AAEA,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAWhC,8CAAiB;AAV1B,MAAM,aAAa,GAAG,UAAU,CAAC;AAE1B,MAAM,oBAAoB,GAAG,CAAC,OAAiB,EAAE,IAAmB,EAAY,EAAE;IACvF,IAAI,IAAI,KAAK,iBAAiB,EAAE;QAC9B,OAAO,OAAO,CAAC;KAChB;IAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;AACnE,CAAC,CAAC;AANW,QAAA,oBAAoB,wBAM/B"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { type Option } from '../../ui-kit/Select/Option';
|
|
2
|
-
import { type RegionDelivery } from '../hooks/useBiblioglobusDefaultRegion';
|
|
3
|
-
export declare const getRegionDeliveryStatus: (regionsDelivery: RegionDelivery[] | undefined, value: Option) => boolean | undefined;
|
|
4
|
-
export declare const calculateRegionHasDelivery: (args: {
|
|
5
|
-
isDebit: boolean;
|
|
6
|
-
isEsiaAuth: boolean;
|
|
7
|
-
isSalaryCard: boolean;
|
|
8
|
-
isDeliveryActive: boolean;
|
|
9
|
-
regionDelivery?: boolean;
|
|
10
|
-
}) => boolean | undefined;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.calculateRegionHasDelivery = exports.getRegionDeliveryStatus = void 0;
|
|
3
|
-
const getRegionDeliveryStatus = (regionsDelivery, value) => regionsDelivery?.find((_) => _.regionCode === String(value.key))?.deliveryFlg;
|
|
4
|
-
exports.getRegionDeliveryStatus = getRegionDeliveryStatus;
|
|
5
|
-
const calculateRegionHasDelivery = (args) => {
|
|
6
|
-
const { isDebit, isEsiaAuth, isSalaryCard, isDeliveryActive, regionDelivery } = args;
|
|
7
|
-
if (isDebit) {
|
|
8
|
-
return isEsiaAuth && !isSalaryCard && isDeliveryActive && regionDelivery;
|
|
9
|
-
}
|
|
10
|
-
return isDeliveryActive && regionDelivery;
|
|
11
|
-
};
|
|
12
|
-
exports.calculateRegionHasDelivery = calculateRegionHasDelivery;
|
|
13
|
-
//# sourceMappingURL=hasDelivery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hasDelivery.js","sourceRoot":"","sources":["../../../src/retail/utils/hasDelivery.ts"],"names":[],"mappings":";;AAGO,MAAM,uBAAuB,GAAG,CACrC,eAA6C,EAC7C,KAAa,EACb,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC;AAHtE,QAAA,uBAAuB,2BAG+C;AAE5E,MAAM,0BAA0B,GAAG,CAAC,IAM1C,EAAE,EAAE;IACH,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IACrF,IAAI,OAAO,EAAE;QACX,OAAO,UAAU,IAAI,CAAC,YAAY,IAAI,gBAAgB,IAAI,cAAc,CAAC;KAC1E;IAED,OAAO,gBAAgB,IAAI,cAAc,CAAC;AAC5C,CAAC,CAAC;AAbW,QAAA,0BAA0B,8BAarC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function getCardSlugFromUrl(url: string): string | null;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.getCardSlugFromUrl = void 0;
|
|
3
|
-
function getCardSlugFromUrl(url) {
|
|
4
|
-
const lastSegment = url.split('/').filter(Boolean).pop();
|
|
5
|
-
if (!lastSegment) {
|
|
6
|
-
return null;
|
|
7
|
-
}
|
|
8
|
-
const parts = lastSegment.split('-');
|
|
9
|
-
return parts.length > 1 ? parts[parts.length - 1] : null;
|
|
10
|
-
}
|
|
11
|
-
exports.getCardSlugFromUrl = getCardSlugFromUrl;
|
|
12
|
-
//# sourceMappingURL=getSlugFromUrl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getSlugFromUrl.js","sourceRoot":"","sources":["../../src/utils/getSlugFromUrl.ts"],"names":[],"mappings":";;AAAA,SAAgB,kBAAkB,CAAC,GAAW;IAC5C,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;IACzD,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,IAAI,CAAC;KACb;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAErC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3D,CAAC;AATD,gDASC"}
|