@redneckz/wildless-cms-uni-blocks 0.14.4 → 0.14.5
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/bin/migration-scripts/0.13.5.js +33 -0
- package/bin/migration-scripts/0.14.1.js +29 -0
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +45 -53
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/Calculator/useBusinessDepositCalculatorParams.d.ts +0 -1
- package/bundle/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +2 -2
- package/bundle/components/Footer/FooterContent.d.ts +1 -4
- package/bundle/components/Footer/FooterDataProps.d.ts +4 -3
- package/bundle/components/Footer/SocialMedia.d.ts +2 -2
- package/dist/components/Blocks.js +0 -2
- package/dist/components/Blocks.js.map +1 -1
- package/dist/components/Calculator/BusinessDepositCalculatorForm.js +8 -8
- package/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
- package/dist/components/Calculator/constants.js +0 -1
- package/dist/components/Calculator/constants.js.map +1 -1
- package/dist/components/Calculator/useBusinessDepositCalculatorParams.d.ts +0 -1
- package/dist/components/Calculator/useBusinessDepositCalculatorParams.js +1 -2
- package/dist/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -1
- package/dist/components/Carousel/Carousel.js +0 -1
- package/dist/components/Carousel/Carousel.js.map +1 -1
- package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
- package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
- package/dist/components/CarouselProductCard/CarouselProductCard.js +5 -5
- package/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -1
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +1 -1
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -1
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +2 -2
- package/dist/components/Footer/Footer.mobile.js +1 -1
- package/dist/components/Footer/Footer.mobile.js.map +1 -1
- package/dist/components/Footer/FooterContent.d.ts +1 -4
- package/dist/components/Footer/FooterDataProps.d.ts +4 -3
- package/dist/components/Footer/SocialMedia.d.ts +2 -2
- package/dist/components/Footer/SocialMedia.js +26 -2
- package/dist/components/Footer/SocialMedia.js.map +1 -1
- package/dist/components/Footer/iconsMap.js +0 -7
- package/dist/components/Footer/iconsMap.js.map +1 -1
- package/dist/ui-kit/Button/ButtonInner.js +1 -1
- package/dist/ui-kit/Button/ButtonInner.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/Blocks.js +0 -2
- package/lib/components/Blocks.js.map +1 -1
- package/lib/components/Calculator/BusinessDepositCalculatorForm.js +8 -8
- package/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
- package/lib/components/Calculator/constants.js +0 -1
- package/lib/components/Calculator/constants.js.map +1 -1
- package/lib/components/Calculator/useBusinessDepositCalculatorParams.d.ts +0 -1
- package/lib/components/Calculator/useBusinessDepositCalculatorParams.js +1 -2
- package/lib/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -1
- package/lib/components/Carousel/Carousel.fixture.d.ts +0 -1
- package/lib/components/Carousel/Carousel.js +0 -1
- package/lib/components/Carousel/Carousel.js.map +1 -1
- package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
- package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
- package/lib/components/CarouselProductCard/CarouselProductCard.fixture.d.ts +2 -0
- package/lib/components/CarouselProductCard/CarouselProductCard.fixture.mobile.d.ts +13 -0
- package/lib/components/CarouselProductCard/CarouselProductCard.js +5 -5
- package/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -1
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +1 -1
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -1
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +2 -2
- package/lib/components/Footer/Footer.mobile.js +1 -1
- package/lib/components/Footer/Footer.mobile.js.map +1 -1
- package/lib/components/Footer/FooterContent.d.ts +1 -4
- package/lib/components/Footer/FooterDataProps.d.ts +4 -3
- package/lib/components/Footer/SocialMedia.d.ts +2 -2
- package/lib/components/Footer/SocialMedia.js +26 -2
- package/lib/components/Footer/SocialMedia.js.map +1 -1
- package/lib/components/Footer/iconsMap.js +0 -7
- package/lib/components/Footer/iconsMap.js.map +1 -1
- package/lib/ui-kit/Button/ButtonInner.js +1 -1
- package/lib/ui-kit/Button/ButtonInner.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +38 -41
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/Calculator/useBusinessDepositCalculatorParams.d.ts +0 -1
- package/mobile/bundle/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +2 -2
- package/mobile/bundle/components/Footer/FooterContent.d.ts +1 -4
- package/mobile/bundle/components/Footer/FooterDataProps.d.ts +4 -3
- package/mobile/bundle/components/Footer/SocialMedia.d.ts +2 -2
- package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js +8 -8
- package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
- package/mobile/dist/components/Calculator/constants.js +0 -1
- package/mobile/dist/components/Calculator/constants.js.map +1 -1
- package/mobile/dist/components/Calculator/useBusinessDepositCalculatorParams.d.ts +0 -1
- package/mobile/dist/components/Calculator/useBusinessDepositCalculatorParams.js +1 -2
- package/mobile/dist/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -1
- package/mobile/dist/components/Carousel/Carousel.js +0 -1
- package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
- package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
- package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
- package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js +5 -5
- package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -1
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +2 -2
- package/mobile/dist/components/Footer/Footer.js +1 -1
- package/mobile/dist/components/Footer/Footer.js.map +1 -1
- package/mobile/dist/components/Footer/FooterContent.d.ts +1 -4
- package/mobile/dist/components/Footer/FooterDataProps.d.ts +4 -3
- package/mobile/dist/components/Footer/SocialMedia.d.ts +2 -2
- package/mobile/dist/components/Footer/SocialMedia.js +26 -2
- package/mobile/dist/components/Footer/SocialMedia.js.map +1 -1
- package/mobile/dist/components/Footer/iconsMap.js +0 -7
- package/mobile/dist/components/Footer/iconsMap.js.map +1 -1
- package/mobile/dist/ui-kit/Button/ButtonInner.js +1 -1
- package/mobile/dist/ui-kit/Button/ButtonInner.js.map +1 -1
- package/mobile/lib/common.css +1 -1
- package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js +8 -8
- package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
- package/mobile/lib/components/Calculator/constants.js +0 -1
- package/mobile/lib/components/Calculator/constants.js.map +1 -1
- package/mobile/lib/components/Calculator/useBusinessDepositCalculatorParams.d.ts +0 -1
- package/mobile/lib/components/Calculator/useBusinessDepositCalculatorParams.js +1 -2
- package/mobile/lib/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -1
- package/mobile/lib/components/Carousel/Carousel.js +0 -1
- package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
- package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
- package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
- package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js +5 -5
- package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -1
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +2 -2
- package/mobile/lib/components/Footer/Footer.js +1 -1
- package/mobile/lib/components/Footer/Footer.js.map +1 -1
- package/mobile/lib/components/Footer/FooterContent.d.ts +1 -4
- package/mobile/lib/components/Footer/FooterDataProps.d.ts +4 -3
- package/mobile/lib/components/Footer/SocialMedia.d.ts +2 -2
- package/mobile/lib/components/Footer/SocialMedia.js +26 -2
- package/mobile/lib/components/Footer/SocialMedia.js.map +1 -1
- package/mobile/lib/components/Footer/iconsMap.js +0 -7
- package/mobile/lib/components/Footer/iconsMap.js.map +1 -1
- package/mobile/lib/ui-kit/Button/ButtonInner.js +1 -1
- package/mobile/lib/ui-kit/Button/ButtonInner.js.map +1 -1
- package/mobile/src/components/Calculator/BusinessDepositCalculatorForm.tsx +28 -26
- package/mobile/src/components/Calculator/constants.ts +0 -1
- package/mobile/src/components/Calculator/useBusinessDepositCalculatorParams.ts +2 -10
- package/mobile/src/components/Carousel/Carousel.tsx +0 -1
- package/mobile/src/components/CarouselInvestmentCard/CarouselInvestmentCard.example.json +1 -1
- package/mobile/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +5 -1
- package/mobile/src/components/CarouselProductCard/CarouselProductCard.example.json +1 -3
- package/mobile/src/components/CarouselProductCard/CarouselProductCard.tsx +23 -13
- package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.example.json +1 -2
- package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +1 -1
- package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCardContent.ts +2 -2
- package/mobile/src/components/Footer/Footer.tsx +1 -1
- package/mobile/src/components/Footer/FooterContent.ts +1 -5
- package/mobile/src/components/Footer/FooterDataProps.ts +4 -3
- package/mobile/src/components/Footer/SocialMedia.tsx +48 -16
- package/mobile/src/components/Footer/iconsMap.ts +0 -7
- package/mobile/src/components/ProductGallery/ProductGallery.example.json +10 -4
- package/mobile/src/ui-kit/Button/ButtonInner.tsx +1 -1
- package/package.json +1 -1
- package/src/components/Blocks.ts +0 -2
- package/src/components/Calculator/BusinessDepositCalculatorForm.tsx +28 -26
- package/src/components/Calculator/constants.ts +0 -1
- package/src/components/Calculator/useBusinessDepositCalculatorParams.ts +2 -10
- package/src/components/Carousel/Carousel.fixture.tsx +0 -18
- package/src/components/Carousel/Carousel.tsx +0 -1
- package/src/components/CarouselInvestmentCard/CarouselInvestmentCard.example.json +1 -1
- package/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +5 -1
- package/src/components/CarouselProductCard/CarouselProductCard.example.json +1 -3
- package/src/components/CarouselProductCard/CarouselProductCard.fixture.mobile.tsx +92 -0
- package/src/components/CarouselProductCard/CarouselProductCard.fixture.tsx +18 -0
- package/src/components/CarouselProductCard/CarouselProductCard.tsx +23 -13
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.example.json +1 -2
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.mobile.tsx +4 -4
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.tsx +7 -7
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.tsx +1 -1
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +3 -1
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCardContent.ts +2 -2
- package/src/components/Footer/Footer.mobile.tsx +1 -1
- package/src/components/Footer/FooterContent.ts +1 -5
- package/src/components/Footer/FooterDataProps.ts +4 -3
- package/src/components/Footer/SocialMedia.tsx +48 -16
- package/src/components/Footer/iconsMap.ts +0 -7
- package/src/components/ProductGallery/ProductGallery.example.json +10 -4
- package/src/ui-kit/Button/ButtonInner.tsx +1 -1
- package/bundle/components/CarouselEventCard/CarouselEventCard.d.ts +0 -5
- package/bundle/components/CarouselEventCard/CarouselEventCardContent.d.ts +0 -8
- package/bundle/components/Footer/MediaButton.d.ts +0 -7
- package/bundle/components/Footer/buttonSizeStyle.d.ts +0 -4
- package/dist/components/CarouselEventCard/CarouselEventCard.d.ts +0 -5
- package/dist/components/CarouselEventCard/CarouselEventCard.js +0 -12
- package/dist/components/CarouselEventCard/CarouselEventCard.js.map +0 -1
- package/dist/components/CarouselEventCard/CarouselEventCardContent.d.ts +0 -8
- package/dist/components/CarouselEventCard/CarouselEventCardContent.js +0 -2
- package/dist/components/CarouselEventCard/CarouselEventCardContent.js.map +0 -1
- package/dist/components/Footer/MediaButton.d.ts +0 -7
- package/dist/components/Footer/MediaButton.js +0 -18
- package/dist/components/Footer/MediaButton.js.map +0 -1
- package/dist/components/Footer/buttonSizeStyle.d.ts +0 -4
- package/dist/components/Footer/buttonSizeStyle.js +0 -7
- package/dist/components/Footer/buttonSizeStyle.js.map +0 -1
- package/lib/components/CarouselEventCard/CarouselEventCard.d.ts +0 -5
- package/lib/components/CarouselEventCard/CarouselEventCard.fixture.d.ts +0 -8
- package/lib/components/CarouselEventCard/CarouselEventCard.js +0 -10
- package/lib/components/CarouselEventCard/CarouselEventCard.js.map +0 -1
- package/lib/components/CarouselEventCard/CarouselEventCardContent.d.ts +0 -8
- package/lib/components/CarouselEventCard/CarouselEventCardContent.js +0 -2
- package/lib/components/CarouselEventCard/CarouselEventCardContent.js.map +0 -1
- package/lib/components/Footer/MediaButton.d.ts +0 -7
- package/lib/components/Footer/MediaButton.js +0 -16
- package/lib/components/Footer/MediaButton.js.map +0 -1
- package/lib/components/Footer/buttonSizeStyle.d.ts +0 -4
- package/lib/components/Footer/buttonSizeStyle.js +0 -5
- package/lib/components/Footer/buttonSizeStyle.js.map +0 -1
- package/mobile/bundle/components/CarouselEventCard/CarouselEventCard.d.ts +0 -5
- package/mobile/bundle/components/CarouselEventCard/CarouselEventCardContent.d.ts +0 -8
- package/mobile/bundle/components/Footer/MediaButton.d.ts +0 -7
- package/mobile/bundle/components/Footer/buttonSizeStyle.d.ts +0 -4
- package/mobile/dist/components/CarouselEventCard/CarouselEventCard.d.ts +0 -5
- package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js +0 -12
- package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js.map +0 -1
- package/mobile/dist/components/CarouselEventCard/CarouselEventCardContent.d.ts +0 -8
- package/mobile/dist/components/CarouselEventCard/CarouselEventCardContent.js +0 -2
- package/mobile/dist/components/CarouselEventCard/CarouselEventCardContent.js.map +0 -1
- package/mobile/dist/components/Footer/MediaButton.d.ts +0 -7
- package/mobile/dist/components/Footer/MediaButton.js +0 -18
- package/mobile/dist/components/Footer/MediaButton.js.map +0 -1
- package/mobile/dist/components/Footer/buttonSizeStyle.d.ts +0 -4
- package/mobile/dist/components/Footer/buttonSizeStyle.js +0 -7
- package/mobile/dist/components/Footer/buttonSizeStyle.js.map +0 -1
- package/mobile/lib/components/CarouselEventCard/CarouselEventCard.d.ts +0 -5
- package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js +0 -10
- package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js.map +0 -1
- package/mobile/lib/components/CarouselEventCard/CarouselEventCardContent.d.ts +0 -8
- package/mobile/lib/components/CarouselEventCard/CarouselEventCardContent.js +0 -2
- package/mobile/lib/components/CarouselEventCard/CarouselEventCardContent.js.map +0 -1
- package/mobile/lib/components/Footer/MediaButton.d.ts +0 -7
- package/mobile/lib/components/Footer/MediaButton.js +0 -16
- package/mobile/lib/components/Footer/MediaButton.js.map +0 -1
- package/mobile/lib/components/Footer/buttonSizeStyle.d.ts +0 -4
- package/mobile/lib/components/Footer/buttonSizeStyle.js +0 -5
- package/mobile/lib/components/Footer/buttonSizeStyle.js.map +0 -1
- package/mobile/src/components/CarouselEventCard/CarouselEventCard.example.json +0 -12
- package/mobile/src/components/CarouselEventCard/CarouselEventCard.tsx +0 -31
- package/mobile/src/components/CarouselEventCard/CarouselEventCard.ui.json +0 -1
- package/mobile/src/components/CarouselEventCard/CarouselEventCardContent.ts +0 -13
- package/mobile/src/components/Footer/MediaButton.tsx +0 -50
- package/mobile/src/components/Footer/buttonSizeStyle.ts +0 -6
- package/src/components/CarouselEventCard/CarouselEventCard.example.json +0 -12
- package/src/components/CarouselEventCard/CarouselEventCard.fixture.tsx +0 -25
- package/src/components/CarouselEventCard/CarouselEventCard.tsx +0 -31
- package/src/components/CarouselEventCard/CarouselEventCard.ui.json +0 -1
- package/src/components/CarouselEventCard/CarouselEventCardContent.ts +0 -13
- package/src/components/Footer/MediaButton.tsx +0 -50
- package/src/components/Footer/buttonSizeStyle.ts +0 -6
|
@@ -2,6 +2,7 @@ import { JSX } from '@redneckz/uni-jsx';
|
|
|
2
2
|
import { FormFieldRegisterer, useForm } from '../../hooks/useForm';
|
|
3
3
|
import { renderButtonsSection } from '../../ui-kit/Button/renderButtonsSection';
|
|
4
4
|
import { Checkbox } from '../../ui-kit/Checkbox/Checkbox';
|
|
5
|
+
import { Text } from '../../ui-kit/Text/Text';
|
|
5
6
|
import { style } from '../../utils/style';
|
|
6
7
|
import type { BusinessDepositCalculatorProps } from './CalculatorContent';
|
|
7
8
|
import { CalculatorValueBlock } from './CalculatorValueBlock';
|
|
@@ -28,7 +29,6 @@ export const BusinessDepositCalculatorForm = JSX<BusinessDepositCalculatorProp>(
|
|
|
28
29
|
daysValue: BUSINESS_DEFAULT_DAYS,
|
|
29
30
|
isReplenished: false,
|
|
30
31
|
isPartialWithdrawal: false,
|
|
31
|
-
isSmallBusiness: false,
|
|
32
32
|
isMonthlyInterestPayment: false,
|
|
33
33
|
});
|
|
34
34
|
|
|
@@ -55,13 +55,15 @@ export const BusinessDepositCalculatorForm = JSX<BusinessDepositCalculatorProp>(
|
|
|
55
55
|
...field('daysValue'),
|
|
56
56
|
value: calculatorParams.daysValue,
|
|
57
57
|
})}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
58
|
+
<div className="flex flex-col sm:flex-row gap-y-4 gap-x-14">
|
|
59
|
+
{renderBusinessDepositParamsForm(calculatorParams, field)}
|
|
60
|
+
{renderInterestPayment({
|
|
61
|
+
title: 'Выплата процентов',
|
|
62
|
+
orientation: 'vertical',
|
|
63
|
+
...field('isMonthlyInterestPayment'),
|
|
64
|
+
radioGroupClassName: 'sm:flex-col',
|
|
65
|
+
})}
|
|
66
|
+
</div>
|
|
65
67
|
</div>
|
|
66
68
|
<div className="border-b border-main-divider md:hidden"></div>
|
|
67
69
|
{renderRate({
|
|
@@ -85,24 +87,24 @@ const renderBusinessDepositParamsForm = (
|
|
|
85
87
|
calculatorParams: BusinessDepositCalculatorParams,
|
|
86
88
|
field: FormFieldRegisterer<BusinessDepositCalculatorUserInputParams>,
|
|
87
89
|
) => (
|
|
88
|
-
<div className="
|
|
89
|
-
<
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
90
|
+
<div className="space-y-s">
|
|
91
|
+
<Text color="text-secondary-text" font="font-light">
|
|
92
|
+
Параметры
|
|
93
|
+
</Text>
|
|
94
|
+
<div className="flex flex-col gap-y-xl sm:gap-y-s">
|
|
95
|
+
<Checkbox
|
|
96
|
+
text="Пополнение"
|
|
97
|
+
disabled={calculatorParams.isDisabledOperatingDeposit}
|
|
98
|
+
{...field('isReplenished')}
|
|
99
|
+
value={calculatorParams.isReplenished}
|
|
100
|
+
/>
|
|
101
|
+
<Checkbox
|
|
102
|
+
disabled={calculatorParams.isDisabledOperatingDeposit}
|
|
103
|
+
text="Частичное снятие"
|
|
104
|
+
{...field('isPartialWithdrawal')}
|
|
105
|
+
value={calculatorParams.isPartialWithdrawal}
|
|
106
|
+
/>
|
|
107
|
+
</div>
|
|
106
108
|
</div>
|
|
107
109
|
);
|
|
108
110
|
|
|
@@ -12,7 +12,6 @@ export interface BusinessCommonDepositParams {
|
|
|
12
12
|
isMonthlyInterestPayment: boolean;
|
|
13
13
|
isReplenished: boolean;
|
|
14
14
|
isPartialWithdrawal: boolean;
|
|
15
|
-
isSmallBusiness: boolean;
|
|
16
15
|
}
|
|
17
16
|
export interface BusinessDepositCalculatorSourceBookParams extends BusinessCommonDepositParams {
|
|
18
17
|
minSum: number;
|
|
@@ -45,14 +44,8 @@ export const useBusinessDepositCalculatorParams = (
|
|
|
45
44
|
userInputParams: BusinessDepositCalculatorUserInputParams,
|
|
46
45
|
sourceBookDir?: string,
|
|
47
46
|
): BusinessDepositCalculatorParams => {
|
|
48
|
-
const {
|
|
49
|
-
|
|
50
|
-
moneyValue,
|
|
51
|
-
isPartialWithdrawal,
|
|
52
|
-
isReplenished,
|
|
53
|
-
isSmallBusiness,
|
|
54
|
-
isMonthlyInterestPayment,
|
|
55
|
-
} = userInputParams;
|
|
47
|
+
const { daysValue, moneyValue, isPartialWithdrawal, isReplenished, isMonthlyInterestPayment } =
|
|
48
|
+
userInputParams;
|
|
56
49
|
const data = useCalculatorParams<BusinessDepositCalculatorData>(
|
|
57
50
|
sourceBookDir || BUSINESS_DEPOSIT_CALC_DEFAULT_DIR,
|
|
58
51
|
);
|
|
@@ -73,7 +66,6 @@ export const useBusinessDepositCalculatorParams = (
|
|
|
73
66
|
data?.rateRows?.find((_) => {
|
|
74
67
|
return (
|
|
75
68
|
isMonthlyInterestPayment === _.isMonthlyInterestPayment &&
|
|
76
|
-
isSmallBusiness === _.isSmallBusiness &&
|
|
77
69
|
checkIsOperatingDeposit(isOperatingDeposit, _) &&
|
|
78
70
|
checkRangeByKeys(moneyValue, ['minSum', 'maxSum'], _) &&
|
|
79
71
|
checkRangeByKeys(daysValue, ['minDays', 'maxDays'], _)
|
|
@@ -6,7 +6,6 @@ import { Blocks } from '../Blocks';
|
|
|
6
6
|
import { BANK_HISTORY_CARD } from '../CarouselBankHistoryCard/CarouselBankHistoryCard.fixture';
|
|
7
7
|
import { CARD, CARD_MINI, CARD_NEW } from '../CarouselCard/CarouselCard.fixture';
|
|
8
8
|
import { CATALOG_CARD, CATALOG_CARD_NEW } from '../CarouselCatalogCard/CarouselCatalogCard.fixture';
|
|
9
|
-
import { CAROUSEL_EVENT_CARD } from '../CarouselEventCard/CarouselEventCard.fixture';
|
|
10
9
|
import { INVESTMENT_CARD_WITH_SINGLE_COLUMN } from '../CarouselInvestmentCard/CarouselInvestmentCard.fixture';
|
|
11
10
|
import {
|
|
12
11
|
PRODUCT_CARD,
|
|
@@ -228,23 +227,6 @@ export default {
|
|
|
228
227
|
/>
|
|
229
228
|
</div>
|
|
230
229
|
),
|
|
231
|
-
|
|
232
|
-
events: (
|
|
233
|
-
<div className="container grid grid-cols-12">
|
|
234
|
-
<Carousel
|
|
235
|
-
className="col-span-12"
|
|
236
|
-
visibleItemCount={0}
|
|
237
|
-
block={{
|
|
238
|
-
type: 'Carousel',
|
|
239
|
-
blocks: new Array(6).fill({
|
|
240
|
-
type: 'CarouselEventCard',
|
|
241
|
-
content: CAROUSEL_EVENT_CARD,
|
|
242
|
-
}),
|
|
243
|
-
}}
|
|
244
|
-
options={options}
|
|
245
|
-
/>
|
|
246
|
-
</div>
|
|
247
|
-
),
|
|
248
230
|
'bank-history': (
|
|
249
231
|
<div className="container grid grid-cols-12">
|
|
250
232
|
<Carousel
|
|
@@ -68,7 +68,11 @@ export const CarouselInvestmentCard = JSX<CarouselInvestmentCardProps>(
|
|
|
68
68
|
const renderCardList = (cardsList: CardsListItem[]) =>
|
|
69
69
|
cardsList.map((item, i) => (
|
|
70
70
|
<li key={String(i)}>
|
|
71
|
-
{item?.parameter ?
|
|
71
|
+
{item?.parameter ? (
|
|
72
|
+
<div className="inline pr-xs">
|
|
73
|
+
<Text size="text-h6">{item.parameter}</Text>
|
|
74
|
+
</div>
|
|
75
|
+
) : null}
|
|
72
76
|
{item?.parameterDescription ? (
|
|
73
77
|
<Text size="text-m" font="font-light" color="text-secondary-text">
|
|
74
78
|
{item.parameterDescription}
|
|
@@ -15,8 +15,6 @@
|
|
|
15
15
|
{ "text": "Элемент списка 1", "title": "Элемент заголовка 1" },
|
|
16
16
|
{ "text": "Элемент списка 2", "title": "Элемент заголовка 2" },
|
|
17
17
|
{ "text": "Элемент списка 3", "title": "Элемент заголовка 3" }
|
|
18
|
-
]
|
|
19
|
-
"align": "text-center",
|
|
20
|
-
"isFullWidth": true
|
|
18
|
+
]
|
|
21
19
|
}
|
|
22
20
|
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import '../../setup-fixture';
|
|
2
|
+
|
|
3
|
+
import type { Picture } from '../../model/Picture';
|
|
4
|
+
import { CarouselProductCard } from './CarouselProductCard';
|
|
5
|
+
import type { CarouselProductCardContent } from './CarouselProductCardContent';
|
|
6
|
+
import type { ButtonContent } from '../../ui-kit/Button/ButtonContent';
|
|
7
|
+
|
|
8
|
+
const isDotted = false;
|
|
9
|
+
|
|
10
|
+
const image: Picture = {
|
|
11
|
+
src: 'money-1.png',
|
|
12
|
+
format: 'webp',
|
|
13
|
+
size: {
|
|
14
|
+
width: 140,
|
|
15
|
+
height: 140,
|
|
16
|
+
},
|
|
17
|
+
title: 'money',
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const buttonPrimary: ButtonContent = {
|
|
21
|
+
href: '/credit-cards',
|
|
22
|
+
text: 'Подробнее',
|
|
23
|
+
target: '_blank',
|
|
24
|
+
version: 'secondary',
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const buttonPrimaryIcon: ButtonContent = {
|
|
28
|
+
href: '/credit-cards',
|
|
29
|
+
text: 'Подробнее',
|
|
30
|
+
target: '_blank',
|
|
31
|
+
version: 'secondary',
|
|
32
|
+
icon: { icon: 'BankIcon' },
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const defaultItems = [
|
|
36
|
+
{ text: 'Качественные фермерские продукты напрямую от производителей' },
|
|
37
|
+
{ text: 'Самая большая база сельских туров по России' },
|
|
38
|
+
{ text: 'Площадки для создания комфортной жизни за городом' },
|
|
39
|
+
];
|
|
40
|
+
|
|
41
|
+
export const PRODUCT_CARD: CarouselProductCardContent = {
|
|
42
|
+
title: 'Более 5000 товаров',
|
|
43
|
+
description: 'Время копить: ставка растет в зависимости от срока нахождения средств на Счете!',
|
|
44
|
+
icon: image,
|
|
45
|
+
button: buttonPrimary,
|
|
46
|
+
isDotted,
|
|
47
|
+
items: defaultItems,
|
|
48
|
+
isImageFullWidth: true,
|
|
49
|
+
additionalDescription: 'Дополнительное описание',
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export const PRODUCT_CARD_SMALL: CarouselProductCardContent = {
|
|
53
|
+
title: 'Более 5000 товаров Более 5000 товаров Более 5000 товаров',
|
|
54
|
+
icon: image,
|
|
55
|
+
button: buttonPrimary,
|
|
56
|
+
isDotted,
|
|
57
|
+
isButtonFullWidth: true,
|
|
58
|
+
};
|
|
59
|
+
export const PRODUCT_CARD_EVENT: CarouselProductCardContent = {
|
|
60
|
+
title: 'Более 5000 товаров',
|
|
61
|
+
icon: image,
|
|
62
|
+
isDotted,
|
|
63
|
+
additionalDescription: 'Дополнительное описание',
|
|
64
|
+
isTopPosition: true,
|
|
65
|
+
isImageFullWidth: true,
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
const CAROUSEL_PRODUCT_CARD = <CarouselProductCard className="col-span-12" {...PRODUCT_CARD} />;
|
|
69
|
+
const CAROUSEL_PRODUCT_CARD_SECONDARY = (
|
|
70
|
+
<CarouselProductCard
|
|
71
|
+
className="col-span-12"
|
|
72
|
+
{...PRODUCT_CARD}
|
|
73
|
+
version="secondary"
|
|
74
|
+
isDotted={true}
|
|
75
|
+
button={buttonPrimaryIcon}
|
|
76
|
+
isButtonFullWidth={true}
|
|
77
|
+
/>
|
|
78
|
+
);
|
|
79
|
+
const CAROUSEL_PRODUCT_CARD_SMALL = (
|
|
80
|
+
<CarouselProductCard className="col-span-12" {...PRODUCT_CARD_SMALL} />
|
|
81
|
+
);
|
|
82
|
+
|
|
83
|
+
const CAROUSEL_PRODUCT_CARD_EVENT = (
|
|
84
|
+
<CarouselProductCard className="col-span-12" {...PRODUCT_CARD_EVENT} />
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
export default {
|
|
88
|
+
default: <div className="container grid grid-cols-12">{CAROUSEL_PRODUCT_CARD}</div>,
|
|
89
|
+
secondary: <div className="container grid grid-cols-12">{CAROUSEL_PRODUCT_CARD_SECONDARY}</div>,
|
|
90
|
+
small: <div className="container grid grid-cols-12">{CAROUSEL_PRODUCT_CARD_SMALL}</div>,
|
|
91
|
+
event: <div className="container grid grid-cols-12">{CAROUSEL_PRODUCT_CARD_EVENT}</div>,
|
|
92
|
+
};
|
|
@@ -54,9 +54,21 @@ export const PRODUCT_CARD_SMALL: CarouselProductCardContent = {
|
|
|
54
54
|
button: buttonPrimary,
|
|
55
55
|
isDotted,
|
|
56
56
|
isButtonFullWidth: false,
|
|
57
|
+
align: 'text-left',
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
export const PRODUCT_CARD_EVENT: CarouselProductCardContent = {
|
|
61
|
+
title: 'Более 5000 товаров',
|
|
62
|
+
icon: image,
|
|
63
|
+
isDotted,
|
|
64
|
+
additionalDescription: 'Дополнительное описание',
|
|
65
|
+
align: 'text-left',
|
|
66
|
+
isTopPosition: true,
|
|
67
|
+
isImageFullWidth: true,
|
|
57
68
|
};
|
|
58
69
|
|
|
59
70
|
const CAROUSEL_PRODUCT_CARD = <CarouselProductCard className="col-span-4" {...PRODUCT_CARD} />;
|
|
71
|
+
|
|
60
72
|
const CAROUSEL_PRODUCT_CARD_SECONDARY = (
|
|
61
73
|
<CarouselProductCard
|
|
62
74
|
className="col-span-4"
|
|
@@ -67,12 +79,18 @@ const CAROUSEL_PRODUCT_CARD_SECONDARY = (
|
|
|
67
79
|
isButtonFullWidth={false}
|
|
68
80
|
/>
|
|
69
81
|
);
|
|
82
|
+
|
|
70
83
|
const CAROUSEL_PRODUCT_CARD_SMALL = (
|
|
71
84
|
<CarouselProductCard className="col-span-4" {...PRODUCT_CARD_SMALL} />
|
|
72
85
|
);
|
|
73
86
|
|
|
87
|
+
const CAROUSEL_PRODUCT_CARD_EVENT = (
|
|
88
|
+
<CarouselProductCard className="col-span-4" {...PRODUCT_CARD_EVENT} />
|
|
89
|
+
);
|
|
90
|
+
|
|
74
91
|
export default {
|
|
75
92
|
default: <div className="container grid grid-cols-12">{CAROUSEL_PRODUCT_CARD}</div>,
|
|
76
93
|
secondary: <div className="container grid grid-cols-12">{CAROUSEL_PRODUCT_CARD_SECONDARY}</div>,
|
|
77
94
|
small: <div className="container grid grid-cols-12">{CAROUSEL_PRODUCT_CARD_SMALL}</div>,
|
|
95
|
+
event: <div className="container grid grid-cols-12">{CAROUSEL_PRODUCT_CARD_EVENT}</div>,
|
|
78
96
|
};
|
|
@@ -14,6 +14,7 @@ import { Text } from '../../ui-kit/Text/Text';
|
|
|
14
14
|
import { style } from '../../utils/style';
|
|
15
15
|
import { HEADLINE_SMALL_VERSION } from '../Headline/headlineVersionStyles';
|
|
16
16
|
import { AlignStyles } from '../../model/AlignStyles';
|
|
17
|
+
import type { TextAlign } from '../../ui-kit/Text/TextProps';
|
|
17
18
|
|
|
18
19
|
export interface CarouselProductCardProps extends CarouselProductCardContent, UniBlockProps {}
|
|
19
20
|
|
|
@@ -39,16 +40,16 @@ export const CarouselProductCard = JSX<CarouselProductCardProps>(
|
|
|
39
40
|
}) => {
|
|
40
41
|
return (
|
|
41
42
|
<BlockWrapper
|
|
42
|
-
className={style('flex flex-col justify-between',
|
|
43
|
+
className={style('flex flex-col justify-between', className)}
|
|
43
44
|
defaultPadding="p-0"
|
|
44
45
|
version={version}
|
|
45
46
|
{...rest}
|
|
46
47
|
>
|
|
47
48
|
<LinkWrapper className="p-m flex flex-col gap-xs" href={href} target={target}>
|
|
48
|
-
{renderCardTitle(headlineSmallVersion, title)}
|
|
49
|
-
{renderDescription(description)}
|
|
49
|
+
{renderCardTitle(headlineSmallVersion, title, align)}
|
|
50
|
+
{renderDescription(description, align)}
|
|
50
51
|
{renderItems(items, isDotted, version)}
|
|
51
|
-
{renderAdditionalDescription(additionalDescription)}
|
|
52
|
+
{renderAdditionalDescription(additionalDescription, align)}
|
|
52
53
|
{renderImage(icon, isImageFullWidth, isTopPosition)}
|
|
53
54
|
</LinkWrapper>
|
|
54
55
|
{renderButtonsSection([button], {
|
|
@@ -63,33 +64,42 @@ export const CarouselProductCard = JSX<CarouselProductCardProps>(
|
|
|
63
64
|
const renderImage = (image?: Picture, isImageFullWidth?: boolean, isTopPosition?: boolean) => (
|
|
64
65
|
<div
|
|
65
66
|
className={style(
|
|
66
|
-
'flex gap-lg',
|
|
67
|
+
'flex gap-y-lg justify-center',
|
|
68
|
+
isImageFullWidth ? 'min-w-full h-full' : '',
|
|
67
69
|
isTopPosition ? 'order-first' : 'order-last',
|
|
68
|
-
!isImageFullWidth ? 'justify-center' : '',
|
|
69
70
|
)}
|
|
70
71
|
>
|
|
71
|
-
{image?.src ? <Img
|
|
72
|
+
{image?.src ? <Img image={image} /> : null}
|
|
72
73
|
{image?.icon ? (
|
|
73
74
|
<Img
|
|
74
|
-
className={style(
|
|
75
|
+
className={style(!isImageFullWidth ? 'w-8 h-8 min-w-8' : 'w-full h-full')}
|
|
75
76
|
image={image}
|
|
76
77
|
/>
|
|
77
78
|
) : null}
|
|
78
79
|
</div>
|
|
79
80
|
);
|
|
80
81
|
|
|
81
|
-
const renderCardTitle = (headlineSmallVersion: string, title?: string) =>
|
|
82
|
-
title ?
|
|
82
|
+
const renderCardTitle = (headlineSmallVersion: string, title?: string, align?: TextAlign) =>
|
|
83
|
+
title ? (
|
|
84
|
+
<Text align={align} size={HEADLINE_SMALL_VERSION[headlineSmallVersion]}>
|
|
85
|
+
{title}
|
|
86
|
+
</Text>
|
|
87
|
+
) : null;
|
|
83
88
|
|
|
84
|
-
const renderDescription = (description?: string) =>
|
|
85
|
-
description ?
|
|
89
|
+
const renderDescription = (description?: string, align?: TextAlign) =>
|
|
90
|
+
description ? (
|
|
91
|
+
<Paragraph align={align} size="text-l">
|
|
92
|
+
{description}
|
|
93
|
+
</Paragraph>
|
|
94
|
+
) : null;
|
|
86
95
|
|
|
87
|
-
const renderAdditionalDescription = (additionalDescription?: string) =>
|
|
96
|
+
const renderAdditionalDescription = (additionalDescription?: string, align?: TextAlign) =>
|
|
88
97
|
additionalDescription ? (
|
|
89
98
|
<Text
|
|
90
99
|
size="text-m"
|
|
91
100
|
font="font-light"
|
|
92
101
|
color="text-secondary-text group-data-secondary:text-white/80"
|
|
102
|
+
align={align}
|
|
93
103
|
>
|
|
94
104
|
{additionalDescription}
|
|
95
105
|
</Text>
|
package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.mobile.tsx
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import '../../setup-fixture';
|
|
2
2
|
|
|
3
3
|
import type { Picture } from '../../model/Picture';
|
|
4
|
-
import type {
|
|
5
|
-
import { CarouselRecommendationCard } from './CarouselRecommendationCard';
|
|
4
|
+
import type { ButtonContent } from '../../ui-kit/Button/ButtonContent';
|
|
6
5
|
import type { CarouselRecommendationCardContent } from './CarouselRecommendationCardContent';
|
|
6
|
+
import { CarouselRecommendationCard } from './CarouselRecommendationCard';
|
|
7
7
|
|
|
8
8
|
const icon: Picture = {
|
|
9
9
|
src: 'product-basket.png',
|
|
@@ -15,7 +15,7 @@ const icon: Picture = {
|
|
|
15
15
|
title: 'product-basket',
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
const socialMediaWithText:
|
|
18
|
+
const socialMediaWithText: ButtonContent[] = [
|
|
19
19
|
{
|
|
20
20
|
href: 'https://t.me',
|
|
21
21
|
text: 'Telegram',
|
|
@@ -30,7 +30,7 @@ const socialMediaWithText: SocialMediaLink[] = [
|
|
|
30
30
|
},
|
|
31
31
|
];
|
|
32
32
|
|
|
33
|
-
const socialMediaWithoutText:
|
|
33
|
+
const socialMediaWithoutText: ButtonContent[] = [
|
|
34
34
|
{
|
|
35
35
|
href: 'https://t.me',
|
|
36
36
|
},
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import '../../setup-fixture';
|
|
2
2
|
|
|
3
3
|
import type { Picture } from '../../model/Picture';
|
|
4
|
-
import type {
|
|
5
|
-
import { CarouselRecommendationCard } from './CarouselRecommendationCard';
|
|
4
|
+
import type { ButtonContent } from '../../ui-kit/Button/ButtonContent';
|
|
6
5
|
import type { CarouselRecommendationCardContent } from './CarouselRecommendationCardContent';
|
|
6
|
+
import { CarouselRecommendationCard } from './CarouselRecommendationCard';
|
|
7
7
|
|
|
8
8
|
const icon: Picture = {
|
|
9
9
|
src: 'product-basket.png',
|
|
@@ -15,22 +15,22 @@ const icon: Picture = {
|
|
|
15
15
|
title: 'product-basket',
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
const socialMediaWithText:
|
|
18
|
+
const socialMediaWithText: ButtonContent[] = [
|
|
19
19
|
{
|
|
20
20
|
href: 'https://t.me',
|
|
21
|
-
text: '
|
|
21
|
+
text: 'Телеграм',
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
24
|
href: 'https://vk.com',
|
|
25
|
-
text: '
|
|
25
|
+
text: 'ВКонтакте',
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
href: 'https://ok.ru',
|
|
29
|
-
text: '
|
|
29
|
+
text: 'Одноклассники',
|
|
30
30
|
},
|
|
31
31
|
];
|
|
32
32
|
|
|
33
|
-
const socialMediaWithoutText:
|
|
33
|
+
const socialMediaWithoutText: ButtonContent[] = [
|
|
34
34
|
{
|
|
35
35
|
href: 'https://t.me',
|
|
36
36
|
},
|
|
@@ -43,7 +43,7 @@ export const CarouselRecommendationCard = JSX<RecommendationCardProps>(
|
|
|
43
43
|
<List className="flex flex-col gap-xs" items={items} listItemSize="XS" />
|
|
44
44
|
) : null}
|
|
45
45
|
{renderIcon(icon)}
|
|
46
|
-
{socialMedia.length ? <SocialMedia media={socialMedia} /> : null}
|
|
46
|
+
{socialMedia.length ? <SocialMedia media={socialMedia} showButtonText={true} /> : null}
|
|
47
47
|
</LinkWrapper>
|
|
48
48
|
</BlockWrapper>
|
|
49
49
|
);
|
|
@@ -51,7 +51,9 @@ export const CarouselRecommendationCard = JSX<RecommendationCardProps>(
|
|
|
51
51
|
) : null
|
|
52
52
|
}
|
|
53
53
|
backImage={icon?.icon || icon?.src ? <Img image={icon} /> : null}
|
|
54
|
-
buttons={
|
|
54
|
+
buttons={
|
|
55
|
+
socialMedia.length ? <SocialMedia media={socialMedia} showButtonText={true} /> : null
|
|
56
|
+
}
|
|
55
57
|
>
|
|
56
58
|
{items.length ? <List items={items} listItemSize={listItemSize} /> : null}
|
|
57
59
|
</BaseTile>
|
|
@@ -2,8 +2,8 @@ import type { AlignProps, HeadlineCommonProps } from '../../model/HeadlineType';
|
|
|
2
2
|
import type { UniBlockContent } from '../../model/JSXBlock';
|
|
3
3
|
import type { LinkCommonProps } from '../../model/LinkProps';
|
|
4
4
|
import type { IconProps } from '../../model/Picture';
|
|
5
|
+
import type { ButtonContent } from '../../ui-kit/Button/ButtonContent';
|
|
5
6
|
import type { ListContent } from '../../ui-kit/List/ListContent';
|
|
6
|
-
import type { SocialMediaLink } from '../Footer/FooterContent';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* @title Карточка рекомендаций
|
|
@@ -15,5 +15,5 @@ export type CarouselRecommendationCardContent = UniBlockContent &
|
|
|
15
15
|
LinkCommonProps &
|
|
16
16
|
AlignProps & {
|
|
17
17
|
/** @title Соц сети */
|
|
18
|
-
socialMedia?:
|
|
18
|
+
socialMedia?: ButtonContent[];
|
|
19
19
|
};
|
|
@@ -39,7 +39,7 @@ export const Footer = JSX<FooterProps>(({ className, ...rest }) => {
|
|
|
39
39
|
</div>
|
|
40
40
|
<Contacts className="overflow-hidden" items={contacts} />
|
|
41
41
|
<div className="mt-xl">
|
|
42
|
-
<SocialMedia className="mb-xl" media={socialMedia}
|
|
42
|
+
<SocialMedia className="mb-xl" media={socialMedia} stretched={true}>
|
|
43
43
|
Соцсети
|
|
44
44
|
</SocialMedia>
|
|
45
45
|
<Text size="text-s" font="font-light" color="text-secondary-text">
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import type { DescriptionProps } from '../../model/HeadlineType';
|
|
2
2
|
import type { UniBlockContent } from '../../model/JSXBlock';
|
|
3
3
|
import type { LinkProps } from '../../model/LinkProps';
|
|
4
|
-
import type { IconProps
|
|
5
|
-
|
|
6
|
-
export interface SocialMediaLink extends LinkProps {
|
|
7
|
-
icon?: Picture;
|
|
8
|
-
}
|
|
4
|
+
import type { IconProps } from '../../model/Picture';
|
|
9
5
|
|
|
10
6
|
/**
|
|
11
7
|
* @title Тип контакта
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { LinkProps } from '../../model/LinkProps';
|
|
2
2
|
import type { SitemapData } from '../../services/sitemap/SitemapData';
|
|
3
|
-
import type {
|
|
3
|
+
import type { ButtonContent } from '../../ui-kit/Button/ButtonContent';
|
|
4
|
+
import type { ContactGroup } from './FooterContent';
|
|
4
5
|
|
|
5
6
|
export interface FooterDataProps extends SitemapData {
|
|
6
7
|
documents?: LinkProps[];
|
|
7
8
|
relatedEnterprises?: LinkProps[];
|
|
8
9
|
contacts?: ContactGroup[];
|
|
9
|
-
socialMedia?:
|
|
10
|
-
mobileApps?:
|
|
10
|
+
socialMedia?: ButtonContent[];
|
|
11
|
+
mobileApps?: ButtonContent[];
|
|
11
12
|
horizontalNavigationTitle?: string; // TODO: для мобильной версии
|
|
12
13
|
}
|
|
@@ -1,29 +1,61 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
|
+
import type { Picture } from '../../model/Picture';
|
|
2
4
|
import type { ButtonContent } from '../../ui-kit/Button/ButtonContent';
|
|
5
|
+
import { renderButtonsSection } from '../../ui-kit/Button/renderButtonsSection';
|
|
3
6
|
import { Text } from '../../ui-kit/Text/Text';
|
|
4
7
|
import { style } from '../../utils/style';
|
|
5
|
-
import
|
|
6
|
-
import { MediaButton } from './MediaButton';
|
|
8
|
+
import { findIconByHref } from './findIconByHref';
|
|
7
9
|
|
|
8
10
|
export interface SocialMediaProps {
|
|
9
11
|
className?: string;
|
|
10
12
|
media?: ButtonContent[];
|
|
11
|
-
|
|
13
|
+
showButtonText?: boolean;
|
|
14
|
+
stretched?: boolean;
|
|
12
15
|
}
|
|
13
16
|
|
|
14
17
|
export const SocialMedia = JSX<SocialMediaProps>(
|
|
15
|
-
({ className = '', media,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
({ className = '', media, showButtonText, stretched, children }) => {
|
|
19
|
+
const [hasText, setHasText] = useState<boolean | undefined>();
|
|
20
|
+
const buttons: ButtonContent[] | undefined = media?.map((_) => {
|
|
21
|
+
const { href, icon, text } = _;
|
|
22
|
+
const { iconMapped } = findIconByHref(href);
|
|
23
|
+
const iconCustom = getFilteredIcon(icon) ?? iconMapped;
|
|
24
|
+
const buttonText = showButtonText ? { text } : {};
|
|
25
|
+
|
|
26
|
+
if (!hasText && text) {
|
|
27
|
+
setHasText(true);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return {
|
|
31
|
+
...buttonText,
|
|
32
|
+
icon: { ...iconCustom, iconVersion: 'color' },
|
|
33
|
+
version: 'white',
|
|
34
|
+
};
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
const buttonClassName = style(
|
|
38
|
+
'border border-solid hover:border-transparent group-data-primary:border-main-divider border-main-divider group-data-gray:border-green group/media',
|
|
39
|
+
showButtonText && hasText ? '' : ' basis-auto',
|
|
40
|
+
stretched ? 'flex-1 justify-center' : '',
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
return (
|
|
44
|
+
<div className="flex flex-col sm:flex-col-reverse gap-xs">
|
|
45
|
+
{children ? (
|
|
46
|
+
<Text size="text-s" font="font-light" color="text-secondary-text">
|
|
47
|
+
{children}
|
|
48
|
+
</Text>
|
|
49
|
+
) : null}
|
|
50
|
+
<div className={style('flex gap-xs', className)}>
|
|
51
|
+
{renderButtonsSection(buttons, {
|
|
52
|
+
className: stretched ? 'w-full' : '',
|
|
53
|
+
buttonClassName,
|
|
54
|
+
})}
|
|
55
|
+
</div>
|
|
26
56
|
</div>
|
|
27
|
-
|
|
28
|
-
|
|
57
|
+
);
|
|
58
|
+
},
|
|
29
59
|
);
|
|
60
|
+
|
|
61
|
+
const getFilteredIcon = (icon: Picture | undefined) => (icon?.src || icon?.icon ? icon : undefined);
|