@redneckz/wildless-cms-uni-blocks 0.14.1072 → 0.14.1074
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 +279 -412
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/CashbackCalculator/CashbackCalculator.d.ts +2 -7
- package/bundle/components/CashbackCalculator/CashbackCalculatorContent.d.ts +25 -0
- package/bundle/components/CashbackCalculator/CashbackCalculatorResult.d.ts +1 -2
- package/bundle/components/CashbackCalculator/CashbackCategory.d.ts +2 -6
- package/bundle/components/CashbackCalculator/useCashbackCalculator.d.ts +2 -4
- package/bundle/components/GalleryLayout/utils.d.ts +0 -1
- package/bundle/ui-kit/RichText/RichTextProps.d.ts +0 -2
- package/dist/components/Blocks.js +2 -4
- package/dist/components/Blocks.js.map +1 -1
- package/dist/components/CashbackCalculator/CashbackCalculator.d.ts +2 -7
- package/dist/components/CashbackCalculator/CashbackCalculator.js +14 -25
- package/dist/components/CashbackCalculator/CashbackCalculator.js.map +1 -1
- package/dist/components/CashbackCalculator/CashbackCalculatorContent.d.ts +25 -0
- package/dist/components/CashbackCalculator/CashbackCalculatorContent.js +1 -0
- package/dist/components/CashbackCalculator/CashbackCalculatorResult.d.ts +1 -2
- package/dist/components/CashbackCalculator/CashbackCalculatorResult.js +11 -9
- package/dist/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -1
- package/dist/components/CashbackCalculator/CashbackCategory.d.ts +2 -6
- package/dist/components/CashbackCalculator/CashbackCategory.js +54 -33
- package/dist/components/CashbackCalculator/CashbackCategory.js.map +1 -1
- package/dist/components/CashbackCalculator/useCashbackCalculator.d.ts +2 -4
- package/dist/components/CashbackCalculator/useCashbackCalculator.js +15 -17
- package/dist/components/CashbackCalculator/useCashbackCalculator.js.map +1 -1
- package/dist/components/CreditCardForm/FailedStatusContent.js +1 -1
- package/dist/components/CreditCardForm/FailedStatusContent.js.map +1 -1
- package/dist/components/CreditCardForm/PendingStatusContent.js +1 -1
- package/dist/components/CreditCardForm/PendingStatusContent.js.map +1 -1
- package/dist/components/CreditCardForm/ReworkStatusContent.js +2 -2
- package/dist/components/CreditCardForm/ReworkStatusContent.js.map +1 -1
- package/dist/components/CreditCardForm/SuccessStatusCardContent.js +1 -1
- package/dist/components/CreditCardForm/SuccessStatusCardContent.js.map +1 -1
- package/dist/components/GalleryLayout/utils.d.ts +0 -1
- package/dist/ui-kit/RichText/RichText.js +2 -2
- package/dist/ui-kit/RichText/RichText.js.map +1 -1
- package/dist/ui-kit/RichText/RichTextProps.d.ts +0 -2
- package/lib/common.css +1 -1
- package/lib/components/Blocks.js +2 -4
- package/lib/components/Blocks.js.map +1 -1
- package/lib/components/CashbackCalculator/CashbackCalculator.d.ts +2 -7
- package/lib/components/CashbackCalculator/CashbackCalculator.js +14 -25
- package/lib/components/CashbackCalculator/CashbackCalculator.js.map +1 -1
- package/lib/components/CashbackCalculator/CashbackCalculatorContent.d.ts +25 -0
- package/lib/components/CashbackCalculator/CashbackCalculatorContent.js +1 -0
- package/lib/components/CashbackCalculator/CashbackCalculatorResult.d.ts +1 -2
- package/lib/components/CashbackCalculator/CashbackCalculatorResult.js +11 -9
- package/lib/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -1
- package/lib/components/CashbackCalculator/CashbackCategory.d.ts +2 -6
- package/lib/components/CashbackCalculator/CashbackCategory.js +54 -33
- package/lib/components/CashbackCalculator/CashbackCategory.js.map +1 -1
- package/lib/components/CashbackCalculator/useCashbackCalculator.d.ts +2 -4
- package/lib/components/CashbackCalculator/useCashbackCalculator.js +16 -18
- package/lib/components/CashbackCalculator/useCashbackCalculator.js.map +1 -1
- package/lib/components/CreditCardForm/FailedStatusContent.js +1 -1
- package/lib/components/CreditCardForm/FailedStatusContent.js.map +1 -1
- package/lib/components/CreditCardForm/PendingStatusContent.js +1 -1
- package/lib/components/CreditCardForm/PendingStatusContent.js.map +1 -1
- package/lib/components/CreditCardForm/ReworkStatusContent.js +2 -2
- package/lib/components/CreditCardForm/ReworkStatusContent.js.map +1 -1
- package/lib/components/CreditCardForm/SuccessStatusCardContent.js +1 -1
- package/lib/components/CreditCardForm/SuccessStatusCardContent.js.map +1 -1
- package/lib/components/GalleryLayout/utils.d.ts +0 -1
- package/lib/ui-kit/RichText/RichText.js +2 -2
- package/lib/ui-kit/RichText/RichText.js.map +1 -1
- package/lib/ui-kit/RichText/RichTextProps.d.ts +0 -2
- package/mobile/bundle/bundle.umd.js +72 -158
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/CashbackCalculator/CashbackCalculator.d.ts +2 -7
- package/mobile/bundle/components/CashbackCalculator/CashbackCalculatorContent.d.ts +25 -0
- package/mobile/bundle/components/CashbackCalculator/CashbackCalculatorResult.d.ts +1 -2
- package/mobile/bundle/components/CashbackCalculator/CashbackCategory.d.ts +2 -6
- package/mobile/bundle/components/CashbackCalculator/useCashbackCalculator.d.ts +2 -4
- package/mobile/bundle/components/GalleryLayout/utils.d.ts +0 -1
- package/mobile/bundle/ui-kit/RichText/RichTextProps.d.ts +0 -2
- package/mobile/dist/components/CashbackCalculator/CashbackCalculator.d.ts +2 -7
- package/mobile/dist/components/CashbackCalculator/CashbackCalculator.js +14 -25
- package/mobile/dist/components/CashbackCalculator/CashbackCalculator.js.map +1 -1
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorContent.d.ts +25 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorContent.js +1 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorResult.d.ts +1 -2
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorResult.js +11 -9
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -1
- package/mobile/dist/components/CashbackCalculator/CashbackCategory.d.ts +2 -6
- package/mobile/dist/components/CashbackCalculator/CashbackCategory.js +54 -33
- package/mobile/dist/components/CashbackCalculator/CashbackCategory.js.map +1 -1
- package/mobile/dist/components/CashbackCalculator/useCashbackCalculator.d.ts +2 -4
- package/mobile/dist/components/CashbackCalculator/useCashbackCalculator.js +15 -17
- package/mobile/dist/components/CashbackCalculator/useCashbackCalculator.js.map +1 -1
- package/mobile/dist/components/CreditCardForm/FailedStatusContent.js +1 -1
- package/mobile/dist/components/CreditCardForm/FailedStatusContent.js.map +1 -1
- package/mobile/dist/components/CreditCardForm/PendingStatusContent.js +1 -1
- package/mobile/dist/components/CreditCardForm/PendingStatusContent.js.map +1 -1
- package/mobile/dist/components/CreditCardForm/ReworkStatusContent.js +2 -2
- package/mobile/dist/components/CreditCardForm/ReworkStatusContent.js.map +1 -1
- package/mobile/dist/components/CreditCardForm/SuccessStatusCardContent.js +1 -1
- package/mobile/dist/components/CreditCardForm/SuccessStatusCardContent.js.map +1 -1
- package/mobile/dist/components/GalleryLayout/utils.d.ts +0 -1
- package/mobile/dist/ui-kit/RichText/RichText.js +2 -2
- package/mobile/dist/ui-kit/RichText/RichText.js.map +1 -1
- package/mobile/dist/ui-kit/RichText/RichTextProps.d.ts +0 -2
- package/mobile/lib/common.css +1 -1
- package/mobile/lib/components/CashbackCalculator/CashbackCalculator.d.ts +2 -7
- package/mobile/lib/components/CashbackCalculator/CashbackCalculator.js +14 -25
- package/mobile/lib/components/CashbackCalculator/CashbackCalculator.js.map +1 -1
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorContent.d.ts +25 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorContent.js +1 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorResult.d.ts +1 -2
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorResult.js +11 -9
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -1
- package/mobile/lib/components/CashbackCalculator/CashbackCategory.d.ts +2 -6
- package/mobile/lib/components/CashbackCalculator/CashbackCategory.js +54 -33
- package/mobile/lib/components/CashbackCalculator/CashbackCategory.js.map +1 -1
- package/mobile/lib/components/CashbackCalculator/useCashbackCalculator.d.ts +2 -4
- package/mobile/lib/components/CashbackCalculator/useCashbackCalculator.js +16 -18
- package/mobile/lib/components/CashbackCalculator/useCashbackCalculator.js.map +1 -1
- package/mobile/lib/components/CreditCardForm/FailedStatusContent.js +1 -1
- package/mobile/lib/components/CreditCardForm/FailedStatusContent.js.map +1 -1
- package/mobile/lib/components/CreditCardForm/PendingStatusContent.js +1 -1
- package/mobile/lib/components/CreditCardForm/PendingStatusContent.js.map +1 -1
- package/mobile/lib/components/CreditCardForm/ReworkStatusContent.js +2 -2
- package/mobile/lib/components/CreditCardForm/ReworkStatusContent.js.map +1 -1
- package/mobile/lib/components/CreditCardForm/SuccessStatusCardContent.js +1 -1
- package/mobile/lib/components/CreditCardForm/SuccessStatusCardContent.js.map +1 -1
- package/mobile/lib/components/GalleryLayout/utils.d.ts +0 -1
- package/mobile/lib/ui-kit/RichText/RichText.js +2 -2
- package/mobile/lib/ui-kit/RichText/RichText.js.map +1 -1
- package/mobile/lib/ui-kit/RichText/RichTextProps.d.ts +0 -2
- package/mobile/src/components/CashbackCalculator/CashbackCalculator.example.json +1 -0
- package/mobile/src/components/CashbackCalculator/CashbackCalculator.tsx +69 -73
- package/mobile/src/components/{CashbackCalculatorLayout/CashbackCalculatorLayout.ui.json → CashbackCalculator/CashbackCalculator.ui.json} +0 -6
- package/mobile/src/components/CashbackCalculator/CashbackCalculatorContent.ts +28 -0
- package/mobile/src/components/CashbackCalculator/CashbackCalculatorResult.tsx +23 -23
- package/mobile/src/components/CashbackCalculator/CashbackCategory.tsx +71 -69
- package/mobile/src/components/CashbackCalculator/useCashbackCalculator.ts +17 -26
- package/mobile/src/components/CreditCardForm/FailedStatusContent.tsx +1 -1
- package/mobile/src/components/CreditCardForm/PendingStatusContent.tsx +1 -1
- package/mobile/src/components/CreditCardForm/ReworkStatusContent.tsx +2 -2
- package/mobile/src/components/CreditCardForm/SuccessStatusCardContent.tsx +2 -2
- package/mobile/src/ui-kit/RichText/RichText.tsx +1 -9
- package/mobile/src/ui-kit/RichText/RichTextProps.ts +0 -2
- package/package.json +2 -2
- package/src/components/Blocks.ts +2 -4
- package/src/components/CashbackCalculator/CashbackCalculator.example.json +1 -0
- package/src/components/CashbackCalculator/CashbackCalculator.tsx +69 -73
- package/src/components/{CashbackCalculatorLayout/CashbackCalculatorLayout.ui.json → CashbackCalculator/CashbackCalculator.ui.json} +0 -6
- package/src/components/CashbackCalculator/CashbackCalculatorContent.ts +28 -0
- package/src/components/CashbackCalculator/CashbackCalculatorResult.tsx +23 -23
- package/src/components/CashbackCalculator/CashbackCategory.tsx +71 -69
- package/src/components/CashbackCalculator/useCashbackCalculator.ts +17 -26
- package/src/components/CreditCardForm/FailedStatusContent.tsx +1 -1
- package/src/components/CreditCardForm/PendingStatusContent.tsx +1 -1
- package/src/components/CreditCardForm/ReworkStatusContent.tsx +2 -2
- package/src/components/CreditCardForm/SuccessStatusCardContent.tsx +2 -2
- package/src/ui-kit/RichText/RichText.tsx +1 -9
- package/src/ui-kit/RichText/RichTextProps.ts +0 -2
- package/bundle/components/CashbackCalculator/constants.d.ts +0 -16
- package/bundle/components/CashbackCalculator/getPercentCategories.d.ts +0 -1
- package/bundle/components/CashbackCalculator/renderButtons.d.ts +0 -9
- package/bundle/components/CashbackCalculatorLayout/CashbackCalculatorLayout.d.ts +0 -6
- package/bundle/components/CashbackCalculatorLayout/CashbackCalculatorLayoutContent.d.ts +0 -38
- package/dist/components/CashbackCalculator/constants.d.ts +0 -16
- package/dist/components/CashbackCalculator/constants.js +0 -89
- package/dist/components/CashbackCalculator/constants.js.map +0 -1
- package/dist/components/CashbackCalculator/getPercentCategories.d.ts +0 -1
- package/dist/components/CashbackCalculator/getPercentCategories.js +0 -16
- package/dist/components/CashbackCalculator/getPercentCategories.js.map +0 -1
- package/dist/components/CashbackCalculator/renderButtons.d.ts +0 -9
- package/dist/components/CashbackCalculator/renderButtons.js +0 -10
- package/dist/components/CashbackCalculator/renderButtons.js.map +0 -1
- package/dist/components/CashbackCalculatorLayout/CashbackCalculatorLayout.d.ts +0 -6
- package/dist/components/CashbackCalculatorLayout/CashbackCalculatorLayout.js +0 -56
- package/dist/components/CashbackCalculatorLayout/CashbackCalculatorLayout.js.map +0 -1
- package/dist/components/CashbackCalculatorLayout/CashbackCalculatorLayoutContent.d.ts +0 -38
- package/dist/components/CashbackCalculatorLayout/CashbackCalculatorLayoutContent.js +0 -2
- package/dist/components/CashbackCalculatorLayout/CashbackCalculatorLayoutContent.js.map +0 -1
- package/lib/components/CashbackCalculator/constants.d.ts +0 -16
- package/lib/components/CashbackCalculator/constants.js +0 -87
- package/lib/components/CashbackCalculator/constants.js.map +0 -1
- package/lib/components/CashbackCalculator/getPercentCategories.d.ts +0 -1
- package/lib/components/CashbackCalculator/getPercentCategories.js +0 -13
- package/lib/components/CashbackCalculator/getPercentCategories.js.map +0 -1
- package/lib/components/CashbackCalculator/renderButtons.d.ts +0 -9
- package/lib/components/CashbackCalculator/renderButtons.js +0 -7
- package/lib/components/CashbackCalculator/renderButtons.js.map +0 -1
- package/lib/components/CashbackCalculatorLayout/CashbackCalculatorLayout.d.ts +0 -6
- package/lib/components/CashbackCalculatorLayout/CashbackCalculatorLayout.fixture.d.ts +0 -5
- package/lib/components/CashbackCalculatorLayout/CashbackCalculatorLayout.js +0 -54
- package/lib/components/CashbackCalculatorLayout/CashbackCalculatorLayout.js.map +0 -1
- package/lib/components/CashbackCalculatorLayout/CashbackCalculatorLayoutContent.d.ts +0 -38
- package/lib/components/CashbackCalculatorLayout/CashbackCalculatorLayoutContent.js +0 -2
- package/lib/components/CashbackCalculatorLayout/CashbackCalculatorLayoutContent.js.map +0 -1
- package/mobile/bundle/components/CashbackCalculator/constants.d.ts +0 -16
- package/mobile/bundle/components/CashbackCalculator/getPercentCategories.d.ts +0 -1
- package/mobile/bundle/components/CashbackCalculator/renderButtons.d.ts +0 -9
- package/mobile/bundle/components/CashbackCalculatorLayout/CashbackCalculatorLayout.d.ts +0 -6
- package/mobile/bundle/components/CashbackCalculatorLayout/CashbackCalculatorLayoutContent.d.ts +0 -38
- package/mobile/dist/components/CashbackCalculator/constants.d.ts +0 -16
- package/mobile/dist/components/CashbackCalculator/constants.js +0 -89
- package/mobile/dist/components/CashbackCalculator/constants.js.map +0 -1
- package/mobile/dist/components/CashbackCalculator/getPercentCategories.d.ts +0 -1
- package/mobile/dist/components/CashbackCalculator/getPercentCategories.js +0 -16
- package/mobile/dist/components/CashbackCalculator/getPercentCategories.js.map +0 -1
- package/mobile/dist/components/CashbackCalculator/renderButtons.d.ts +0 -9
- package/mobile/dist/components/CashbackCalculator/renderButtons.js +0 -10
- package/mobile/dist/components/CashbackCalculator/renderButtons.js.map +0 -1
- package/mobile/dist/components/CashbackCalculatorLayout/CashbackCalculatorLayout.d.ts +0 -6
- package/mobile/dist/components/CashbackCalculatorLayout/CashbackCalculatorLayout.js +0 -56
- package/mobile/dist/components/CashbackCalculatorLayout/CashbackCalculatorLayout.js.map +0 -1
- package/mobile/dist/components/CashbackCalculatorLayout/CashbackCalculatorLayoutContent.d.ts +0 -38
- package/mobile/dist/components/CashbackCalculatorLayout/CashbackCalculatorLayoutContent.js +0 -2
- package/mobile/dist/components/CashbackCalculatorLayout/CashbackCalculatorLayoutContent.js.map +0 -1
- package/mobile/lib/components/CashbackCalculator/constants.d.ts +0 -16
- package/mobile/lib/components/CashbackCalculator/constants.js +0 -87
- package/mobile/lib/components/CashbackCalculator/constants.js.map +0 -1
- package/mobile/lib/components/CashbackCalculator/getPercentCategories.d.ts +0 -1
- package/mobile/lib/components/CashbackCalculator/getPercentCategories.js +0 -13
- package/mobile/lib/components/CashbackCalculator/getPercentCategories.js.map +0 -1
- package/mobile/lib/components/CashbackCalculator/renderButtons.d.ts +0 -9
- package/mobile/lib/components/CashbackCalculator/renderButtons.js +0 -7
- package/mobile/lib/components/CashbackCalculator/renderButtons.js.map +0 -1
- package/mobile/lib/components/CashbackCalculatorLayout/CashbackCalculatorLayout.d.ts +0 -6
- package/mobile/lib/components/CashbackCalculatorLayout/CashbackCalculatorLayout.js +0 -54
- package/mobile/lib/components/CashbackCalculatorLayout/CashbackCalculatorLayout.js.map +0 -1
- package/mobile/lib/components/CashbackCalculatorLayout/CashbackCalculatorLayoutContent.d.ts +0 -38
- package/mobile/lib/components/CashbackCalculatorLayout/CashbackCalculatorLayoutContent.js +0 -2
- package/mobile/lib/components/CashbackCalculatorLayout/CashbackCalculatorLayoutContent.js.map +0 -1
- package/mobile/src/components/CashbackCalculator/constants.ts +0 -97
- package/mobile/src/components/CashbackCalculator/getPercentCategories.ts +0 -24
- package/mobile/src/components/CashbackCalculator/renderButtons.tsx +0 -38
- package/mobile/src/components/CashbackCalculatorLayout/CashbackCalculatorLayout.example.json +0 -47
- package/mobile/src/components/CashbackCalculatorLayout/CashbackCalculatorLayout.tsx +0 -116
- package/mobile/src/components/CashbackCalculatorLayout/CashbackCalculatorLayoutContent.ts +0 -49
- package/src/components/CashbackCalculator/constants.ts +0 -97
- package/src/components/CashbackCalculator/getPercentCategories.ts +0 -24
- package/src/components/CashbackCalculator/renderButtons.tsx +0 -38
- package/src/components/CashbackCalculatorLayout/CashbackCalculatorLayout.example.json +0 -47
- package/src/components/CashbackCalculatorLayout/CashbackCalculatorLayout.fixture.tsx +0 -61
- package/src/components/CashbackCalculatorLayout/CashbackCalculatorLayout.tsx +0 -116
- package/src/components/CashbackCalculatorLayout/CashbackCalculatorLayoutContent.ts +0 -49
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
3
|
+
import { RichText } from '../../ui-kit/RichText/RichText';
|
|
3
4
|
import { Text } from '../../ui-kit/Text/Text';
|
|
4
5
|
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
5
6
|
import { toLocalNumberFormat } from '../../utils/toLocalNumberFormat';
|
|
6
|
-
import { type Cashback } from '
|
|
7
|
+
import { type Cashback } from './CashbackCalculatorContent';
|
|
8
|
+
|
|
9
|
+
const MAX_MONTH_CASHBACK = 5000;
|
|
10
|
+
const MAX_YEAR_CASHBACK = 60000;
|
|
7
11
|
|
|
8
12
|
export type CashbackCalculatorResultProps = UniBlockProps & {
|
|
9
13
|
cashbacks: Cashback[];
|
|
10
|
-
maxMonthCashback: number;
|
|
11
14
|
};
|
|
12
15
|
|
|
13
16
|
type ResultTextProps = {
|
|
@@ -26,37 +29,34 @@ const ResultText = JSX<ResultTextProps>(({ text, value }) => (
|
|
|
26
29
|
</div>
|
|
27
30
|
));
|
|
28
31
|
|
|
29
|
-
export const CashbackCalculatorResult = JSX<CashbackCalculatorResultProps>(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
<
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
</div>
|
|
32
|
+
export const CashbackCalculatorResult = JSX<CashbackCalculatorResultProps>(({ cashbacks }) => {
|
|
33
|
+
const { mounth, year } = getResult(cashbacks);
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<div className="w-full flex flex-col gap-lg">
|
|
37
|
+
<Heading className="text-left" headingType="h5" as="h2" title="Результат расчета" />
|
|
38
|
+
<RichText __html='Категории покупок для расчета баллов предварительные.<br />Подробнее по условиям и начислениям можно узнать во вкладке <a href="#docs">документы</a>' />
|
|
39
|
+
<div className="flex flex-col @xs:flex-row gap-lg">
|
|
40
|
+
<ResultText text="Баллов в месяц" value={mounth} />
|
|
41
|
+
<ResultText text="Баллов в год" value={year} />
|
|
40
42
|
</div>
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
);
|
|
43
|
+
</div>
|
|
44
|
+
);
|
|
45
|
+
});
|
|
44
46
|
|
|
45
|
-
const getResult = (cashbacks: Cashback[]
|
|
47
|
+
const getResult = (cashbacks: Cashback[]) => {
|
|
46
48
|
return cashbacks.reduce(
|
|
47
49
|
(acc, val) => {
|
|
48
|
-
const mounthSum = (
|
|
50
|
+
const mounthSum = (Number(val.percent.key) / 100) * val.sum;
|
|
49
51
|
|
|
50
52
|
return {
|
|
51
|
-
|
|
52
|
-
year: Math.min(acc.year + mounthSum * 12,
|
|
53
|
+
mounth: Math.min(acc.mounth + mounthSum, MAX_MONTH_CASHBACK),
|
|
54
|
+
year: Math.min(acc.year + mounthSum * 12, MAX_YEAR_CASHBACK),
|
|
53
55
|
};
|
|
54
56
|
},
|
|
55
57
|
{
|
|
56
|
-
|
|
58
|
+
mounth: 0,
|
|
57
59
|
year: 0,
|
|
58
60
|
},
|
|
59
61
|
);
|
|
60
62
|
};
|
|
61
|
-
|
|
62
|
-
const formatKey = (key: string) => Number(key.replace('-main', ''));
|
|
@@ -4,88 +4,107 @@ import { type Picture } from '../../model/Picture';
|
|
|
4
4
|
import { Button } from '../../ui-kit/Button/Button';
|
|
5
5
|
import { Img } from '../../ui-kit/Img/Img';
|
|
6
6
|
import { InputRange } from '../../ui-kit/InputRange/InputRange';
|
|
7
|
-
import { Paragraph } from '../../ui-kit/Paragraph/Paragraph';
|
|
8
7
|
import { type Option } from '../../ui-kit/Select/Option';
|
|
9
8
|
import { Select } from '../../ui-kit/Select/Select';
|
|
10
9
|
import { Text } from '../../ui-kit/Text/Text';
|
|
11
10
|
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
import { type Cashback } from './CashbackCalculatorContent';
|
|
12
|
+
|
|
13
|
+
const AllPercentCategories: Option[] = [
|
|
14
|
+
{
|
|
15
|
+
text: 'Категория 1,5%',
|
|
16
|
+
key: '1.5',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
text: 'Категория 3%',
|
|
20
|
+
key: '3',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
text: 'Категория 5%',
|
|
24
|
+
key: '5',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
text: 'Категория 10%',
|
|
28
|
+
key: '10',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
text: 'Категория 15%',
|
|
32
|
+
key: '15',
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
const PercentCategoriesWithoutIncreased: Option[] = [
|
|
37
|
+
{
|
|
38
|
+
text: 'Категория 1,5%',
|
|
39
|
+
key: '1.5',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
text: 'Категория 3%',
|
|
43
|
+
key: '3',
|
|
44
|
+
},
|
|
45
|
+
];
|
|
17
46
|
|
|
18
47
|
export interface CashbackCategoryProps extends UniBlockProps {
|
|
19
48
|
categories?: Option[];
|
|
20
49
|
cashback: Cashback;
|
|
50
|
+
showIncreasedPercents: boolean;
|
|
21
51
|
maxInputRange: number;
|
|
22
52
|
deleteImage?: Picture;
|
|
23
53
|
onDelete: (id: number) => void;
|
|
24
54
|
onChange: (item: Cashback) => void;
|
|
25
|
-
isMainCashbackAdded?: boolean;
|
|
26
|
-
calculatorType?: string;
|
|
27
|
-
isShowDisclaimer?: boolean;
|
|
28
|
-
onChangeCategory: (item: (prev: SelectedCategory[]) => any) => void;
|
|
29
55
|
}
|
|
30
56
|
|
|
31
|
-
const defaultDeleteImage: Picture = {
|
|
32
|
-
src: 'IconDelete.svg',
|
|
33
|
-
format: 'webp',
|
|
34
|
-
alt: 'Иконка кнопки удаления блока кэшбека',
|
|
35
|
-
};
|
|
36
|
-
|
|
37
57
|
export const CashbackCategory = JSX<CashbackCategoryProps>(
|
|
38
58
|
({
|
|
39
59
|
categories,
|
|
40
60
|
cashback,
|
|
61
|
+
showIncreasedPercents,
|
|
41
62
|
maxInputRange,
|
|
42
|
-
deleteImage
|
|
43
|
-
isMainCashbackAdded = false,
|
|
44
|
-
calculatorType = 'standard',
|
|
63
|
+
deleteImage,
|
|
45
64
|
onDelete,
|
|
46
65
|
onChange,
|
|
47
|
-
isShowDisclaimer = false,
|
|
48
|
-
onChangeCategory = noop,
|
|
49
66
|
}) => {
|
|
50
67
|
const [currentCategory, setCurrentCategory] = useState(getRandomElement(categories));
|
|
51
|
-
const isMainCashback = cashback.
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
68
|
+
const isMainCashback = cashback.id === 0;
|
|
69
|
+
const onChangePercent = (value: Option) => {
|
|
70
|
+
onChange({
|
|
71
|
+
...cashback,
|
|
72
|
+
percent: value,
|
|
73
|
+
});
|
|
74
|
+
};
|
|
55
75
|
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
76
|
+
const onChangeSum = (value: number) => {
|
|
77
|
+
onChange({
|
|
78
|
+
...cashback,
|
|
79
|
+
sum: value,
|
|
80
|
+
});
|
|
59
81
|
};
|
|
60
82
|
|
|
61
83
|
return (
|
|
62
84
|
<div className="w-full space-y-m">
|
|
63
85
|
<div className="space-y-xs">
|
|
64
|
-
<
|
|
86
|
+
<Text size="text-m" color="text-primary-text" font="font-light">
|
|
65
87
|
Выберите категорию
|
|
66
|
-
</
|
|
67
|
-
{isShowDisclaimer ? (
|
|
68
|
-
<Text size="text-s" color="text-primary-text" font="font-light" className="italic">
|
|
69
|
-
Категории покупок для расчёта баллов предварительные
|
|
70
|
-
</Text>
|
|
71
|
-
) : null}
|
|
88
|
+
</Text>
|
|
72
89
|
<div className="flex gap-m">
|
|
73
90
|
<Select
|
|
74
91
|
className="w-full"
|
|
75
92
|
isManualInput={isMainCashback}
|
|
76
93
|
placeholder="Выберите категорию"
|
|
77
|
-
options={getPercentCategories(
|
|
94
|
+
options={getPercentCategories(isMainCashback, showIncreasedPercents)}
|
|
78
95
|
value={cashback.percent}
|
|
79
96
|
onChange={onChangePercent}
|
|
80
97
|
/>
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
98
|
+
{!isMainCashback ? (
|
|
99
|
+
<Button
|
|
100
|
+
version="secondary"
|
|
101
|
+
onClick={() => onDelete(cashback.id)}
|
|
102
|
+
shape="round"
|
|
103
|
+
className="px-4 rounded-md"
|
|
104
|
+
>
|
|
105
|
+
<Img image={deleteImage} />
|
|
106
|
+
</Button>
|
|
107
|
+
) : null}
|
|
89
108
|
</div>
|
|
90
109
|
</div>
|
|
91
110
|
{categories?.length && !isMainCashback ? (
|
|
@@ -94,7 +113,7 @@ export const CashbackCategory = JSX<CashbackCategoryProps>(
|
|
|
94
113
|
placeholder="Выберите категорию покупок"
|
|
95
114
|
options={categories}
|
|
96
115
|
value={currentCategory}
|
|
97
|
-
onChange={
|
|
116
|
+
onChange={setCurrentCategory}
|
|
98
117
|
/>
|
|
99
118
|
) : null}
|
|
100
119
|
<InputRange
|
|
@@ -113,29 +132,12 @@ export const CashbackCategory = JSX<CashbackCategoryProps>(
|
|
|
113
132
|
const getRandomElement = <T,>(arr?: T[]): T | undefined =>
|
|
114
133
|
arr?.[new Date().getTime().toString().slice(-1)];
|
|
115
134
|
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
};
|
|
124
|
-
|
|
125
|
-
const updateSelectedCategories = (prev: SelectedCategory[], cashback: Cashback, value: Option) => {
|
|
126
|
-
const newItem = { id: cashback.id, category: value };
|
|
127
|
-
|
|
128
|
-
if (prev.length === 0) {
|
|
129
|
-
return [newItem];
|
|
135
|
+
const getPercentCategories = (isMainCashback: boolean, showIncreasedPercents: boolean) => {
|
|
136
|
+
if (isMainCashback) {
|
|
137
|
+
return [];
|
|
138
|
+
} else if (showIncreasedPercents) {
|
|
139
|
+
return AllPercentCategories;
|
|
140
|
+
} else {
|
|
141
|
+
return PercentCategoriesWithoutIncreased;
|
|
130
142
|
}
|
|
131
|
-
const index = prev.findIndex((item) => item.id === cashback.id);
|
|
132
|
-
|
|
133
|
-
if (index !== -1) {
|
|
134
|
-
const updated = [...prev];
|
|
135
|
-
updated[index] = newItem;
|
|
136
|
-
|
|
137
|
-
return updated;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
return [...prev, newItem];
|
|
141
143
|
};
|
|
@@ -1,24 +1,23 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
2
2
|
import { useLeadFormData } from '../../retail/hooks/useLeadFormData';
|
|
3
3
|
import { type DictionaryItem } from '../../retail/model/LeadFormData';
|
|
4
4
|
import { type Option } from '../../ui-kit/Select/Option';
|
|
5
|
-
import {
|
|
6
|
-
type Cashback,
|
|
7
|
-
type CashbackCalculatorType,
|
|
8
|
-
} from '../CashbackCalculatorLayout/CashbackCalculatorLayoutContent';
|
|
9
|
-
import { type SelectedCategory } from './CashbackCalculator';
|
|
10
|
-
import { DEFAULT_PREMIUM_CASHBACK, DEFAULT_STANDARD_CASHBACK } from './constants';
|
|
5
|
+
import { type Cashback } from './CashbackCalculatorContent';
|
|
11
6
|
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
7
|
+
const DEFAULT_CASHBACK: Cashback[] = [
|
|
8
|
+
{
|
|
9
|
+
id: 0,
|
|
10
|
+
percent: {
|
|
11
|
+
text: 'Категория 1% "На всё"',
|
|
12
|
+
key: '1',
|
|
13
|
+
},
|
|
14
|
+
sum: 5000,
|
|
15
|
+
},
|
|
16
|
+
];
|
|
16
17
|
|
|
17
|
-
export const useCashbackCalculator = (
|
|
18
|
+
export const useCashbackCalculator = () => {
|
|
18
19
|
const { data } = useLeadFormData('CASHBACK_CATEGORY');
|
|
19
|
-
const [cashbacks, setCashbacks] = useState<Cashback[]>(
|
|
20
|
-
|
|
21
|
-
const [selectedCategories, setSelectedCategories] = useState<SelectedCategory[]>([]);
|
|
20
|
+
const [cashbacks, setCashbacks] = useState<Cashback[]>(DEFAULT_CASHBACK);
|
|
22
21
|
|
|
23
22
|
const categories: Option[] =
|
|
24
23
|
data?.map((_: DictionaryItem) => ({
|
|
@@ -26,18 +25,11 @@ export const useCashbackCalculator = (calculatorType: CashbackCalculatorType) =>
|
|
|
26
25
|
text: _.value,
|
|
27
26
|
})) || [];
|
|
28
27
|
|
|
29
|
-
const filteredCategories = useMemo(() => {
|
|
30
|
-
const categoriesToRemove: Option[] = selectedCategories.map((obj) => obj.category);
|
|
31
|
-
const keysToRemove = new Set(categoriesToRemove.map((item) => item.key));
|
|
32
|
-
|
|
33
|
-
return categories.filter((item) => !keysToRemove.has(item.key));
|
|
34
|
-
}, [selectedCategories, categories]);
|
|
35
|
-
|
|
36
28
|
const onAddNewCashback = () =>
|
|
37
29
|
setCashbacks((_) => [
|
|
38
30
|
..._,
|
|
39
31
|
{
|
|
40
|
-
id: _
|
|
32
|
+
id: _[_.length - 1].id + 1,
|
|
41
33
|
percent: {
|
|
42
34
|
text: 'Категория 1,5%',
|
|
43
35
|
key: '1.5',
|
|
@@ -59,15 +51,14 @@ export const useCashbackCalculator = (calculatorType: CashbackCalculatorType) =>
|
|
|
59
51
|
|
|
60
52
|
const onDeleteCashback = (id: number) => setCashbacks((prev) => prev.filter((_) => _.id !== id));
|
|
61
53
|
|
|
62
|
-
const onResetCashback = () => setCashbacks(
|
|
54
|
+
const onResetCashback = () => setCashbacks(DEFAULT_CASHBACK);
|
|
63
55
|
|
|
64
56
|
return {
|
|
65
57
|
cashbacks,
|
|
66
|
-
categories
|
|
58
|
+
categories,
|
|
67
59
|
onAddNewCashback,
|
|
68
60
|
onChangeCashback,
|
|
69
61
|
onDeleteCashback,
|
|
70
62
|
onResetCashback,
|
|
71
|
-
onChangeCategory: setSelectedCategories,
|
|
72
63
|
};
|
|
73
64
|
};
|
|
@@ -4,7 +4,7 @@ import { FormStatus } from '../../retail/components/FormStatus/FormStatus';
|
|
|
4
4
|
export const FailedStatusContent = JSX(() => (
|
|
5
5
|
<FormStatus
|
|
6
6
|
title="Благодарим Вас за ожидание"
|
|
7
|
-
description="В настоящий момент Банк не может одобрить Вашу заявку на
|
|
7
|
+
description="В настоящий момент Банк не может одобрить Вашу заявку на кредитную карту. Попробуйте подать заявку позже. Спасибо за обращение в АО «Россельхозбанк»."
|
|
8
8
|
buttonText="Вернуться на главную"
|
|
9
9
|
/>
|
|
10
10
|
));
|
|
@@ -10,7 +10,7 @@ export const PendingStatusContent = JSX(({ onExpire }: { onExpire: () => void })
|
|
|
10
10
|
interval={300}
|
|
11
11
|
title="Заявка успешно отправлена"
|
|
12
12
|
description="Не закрывайте окно, скоро сообщим результат"
|
|
13
|
-
sectionInfoTitle="Заявленные условия по
|
|
13
|
+
sectionInfoTitle="Заявленные условия по кредитной карте"
|
|
14
14
|
sectionInfo={[
|
|
15
15
|
{
|
|
16
16
|
label: 'Название продукта',
|
|
@@ -26,11 +26,11 @@ export const ReworkStatusContent = JSX(() => {
|
|
|
26
26
|
|
|
27
27
|
return (
|
|
28
28
|
<FormStatus
|
|
29
|
-
title="Благодарим
|
|
29
|
+
title="Благодарим Вас за ожидание, но нам требуется больше времени для принятия решения"
|
|
30
30
|
description={
|
|
31
31
|
isCourierDelivery
|
|
32
32
|
? ''
|
|
33
|
-
: 'Посетите выбранное отделение банка с необходимыми документами и так завершите оформление
|
|
33
|
+
: 'Посетите выбранное отделение банка с необходимыми документами и так завершите оформление кредитной карты.'
|
|
34
34
|
}
|
|
35
35
|
sectionAdditionalTitle={isCourierDelivery ? 'Адрес доставки' : 'В отделении Банка'}
|
|
36
36
|
sectionInfoAdditional={infoAdditional}
|
|
@@ -8,8 +8,8 @@ export const SuccessStatusCardContent = JSX(() => {
|
|
|
8
8
|
|
|
9
9
|
return (
|
|
10
10
|
<FormStatus
|
|
11
|
-
title="Банк одобрил
|
|
12
|
-
description="Обратитесь в отделение банка, чтобы завершить оформление и получить
|
|
11
|
+
title="Банк одобрил Вам кредитную карту"
|
|
12
|
+
description="Обратитесь в отделение банка, чтобы завершить оформление и получить Вашу кредитную карту"
|
|
13
13
|
sectionInfo={getSectionInfo(statusInfo)}
|
|
14
14
|
buttonText="Вернуться на главную"
|
|
15
15
|
/>
|
|
@@ -3,14 +3,7 @@ import { style } from '../../utils/style';
|
|
|
3
3
|
import { type RichTextProps } from './RichTextProps';
|
|
4
4
|
|
|
5
5
|
export const RichText = JSX<RichTextProps>(
|
|
6
|
-
({
|
|
7
|
-
__html = '',
|
|
8
|
-
richVersion = '',
|
|
9
|
-
itemSize = 'list-m',
|
|
10
|
-
className,
|
|
11
|
-
isDotted = true,
|
|
12
|
-
children,
|
|
13
|
-
}) => {
|
|
6
|
+
({ __html = '', richVersion = '', itemSize = 'list-m', isDotted = true, children }) => {
|
|
14
7
|
const dotStyle = isDotted ? '' : 'without-dots';
|
|
15
8
|
|
|
16
9
|
return __html || children ? (
|
|
@@ -22,7 +15,6 @@ export const RichText = JSX<RichTextProps>(
|
|
|
22
15
|
itemSize,
|
|
23
16
|
'md-container group-data-secondary:text-white group-data-gray:text-secondary-text',
|
|
24
17
|
dotStyle,
|
|
25
|
-
className,
|
|
26
18
|
)}
|
|
27
19
|
dangerouslySetInnerHTML={__html ? { __html } : undefined}
|
|
28
20
|
>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redneckz/wildless-cms-uni-blocks",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.1074",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "ЦК",
|
|
@@ -205,7 +205,7 @@
|
|
|
205
205
|
"path": "lib/common.css"
|
|
206
206
|
},
|
|
207
207
|
{
|
|
208
|
-
"limit": "
|
|
208
|
+
"limit": "120 kB",
|
|
209
209
|
"path": "bundle/bundle.umd.min.js"
|
|
210
210
|
}
|
|
211
211
|
],
|
package/src/components/Blocks.ts
CHANGED
|
@@ -19,7 +19,6 @@ import { CarouselCatalogCard } from './CarouselCatalogCard/CarouselCatalogCard';
|
|
|
19
19
|
import { CarouselRecommendationCard } from './CarouselRecommendationCard/CarouselRecommendationCard';
|
|
20
20
|
import { CarouselTariffsCard } from './CarouselTariffsCard/CarouselTariffsCard';
|
|
21
21
|
import { CashbackCalculator } from './CashbackCalculator/CashbackCalculator';
|
|
22
|
-
import { CashbackCalculatorLayout } from './CashbackCalculatorLayout/CashbackCalculatorLayout';
|
|
23
22
|
import { ContactsBlock } from './ContactsBlock/ContactsBlock';
|
|
24
23
|
import { CreditCardForm } from './CreditCardForm/CreditCardForm';
|
|
25
24
|
import { CreditForm } from './CreditForm/CreditForm';
|
|
@@ -87,19 +86,18 @@ export const Blocks: BlocksRegistry = {
|
|
|
87
86
|
RollupItem,
|
|
88
87
|
StepsBlock,
|
|
89
88
|
StickyBottomMenu,
|
|
90
|
-
TextBlock,
|
|
91
89
|
TabsLayout,
|
|
92
90
|
TariffsTable,
|
|
91
|
+
TextBlock,
|
|
93
92
|
VerticalLayout,
|
|
94
93
|
Video,
|
|
95
94
|
ApplicationLeadForm,
|
|
96
95
|
CreditCardForm,
|
|
97
96
|
CreditForm,
|
|
98
97
|
DebitForm,
|
|
98
|
+
CashbackCalculator,
|
|
99
99
|
CalculatorRko,
|
|
100
100
|
RkoTariffCardsTable,
|
|
101
101
|
RatesTable,
|
|
102
102
|
ReferalForm,
|
|
103
|
-
CashbackCalculator,
|
|
104
|
-
CashbackCalculatorLayout,
|
|
105
103
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|