@redneckz/wildless-cms-uni-blocks 0.14.1073 → 0.14.1075
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 +278 -411
- 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/retail/components/DraftDialog/creditProgramCodes.d.ts +2 -2
- 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/DebitForm/utils.js +2 -2
- package/dist/components/DebitForm/utils.js.map +1 -1
- package/dist/components/GalleryLayout/utils.d.ts +0 -1
- package/dist/retail/components/DraftDialog/creditProgramCodes.d.ts +2 -2
- package/dist/retail/components/DraftDialog/creditProgramCodes.js +2 -2
- package/dist/retail/components/DraftDialog/creditProgramCodes.js.map +1 -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/DebitForm/utils.js +2 -2
- package/lib/components/DebitForm/utils.js.map +1 -1
- package/lib/components/GalleryLayout/utils.d.ts +0 -1
- package/lib/retail/components/DraftDialog/creditProgramCodes.d.ts +2 -2
- package/lib/retail/components/DraftDialog/creditProgramCodes.js +2 -2
- package/lib/retail/components/DraftDialog/creditProgramCodes.js.map +1 -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 +71 -157
- 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/retail/components/DraftDialog/creditProgramCodes.d.ts +2 -2
- 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/DebitForm/utils.js +2 -2
- package/mobile/dist/components/DebitForm/utils.js.map +1 -1
- package/mobile/dist/components/GalleryLayout/utils.d.ts +0 -1
- package/mobile/dist/retail/components/DraftDialog/creditProgramCodes.d.ts +2 -2
- package/mobile/dist/retail/components/DraftDialog/creditProgramCodes.js +2 -2
- package/mobile/dist/retail/components/DraftDialog/creditProgramCodes.js.map +1 -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/DebitForm/utils.js +2 -2
- package/mobile/lib/components/DebitForm/utils.js.map +1 -1
- package/mobile/lib/components/GalleryLayout/utils.d.ts +0 -1
- package/mobile/lib/retail/components/DraftDialog/creditProgramCodes.d.ts +2 -2
- package/mobile/lib/retail/components/DraftDialog/creditProgramCodes.js +2 -2
- package/mobile/lib/retail/components/DraftDialog/creditProgramCodes.js.map +1 -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/DebitForm/utils.ts +2 -2
- package/mobile/src/retail/components/DraftDialog/creditProgramCodes.ts +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/DebitForm/utils.ts +2 -2
- package/src/retail/components/DraftDialog/creditProgramCodes.ts +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
|
};
|
|
@@ -9,6 +9,6 @@ export const debitProgrammIdToCardCodesMap = {
|
|
|
9
9
|
44: 'appetit_debit_card',
|
|
10
10
|
46: 'owner_debit_card_plus',
|
|
11
11
|
47: 'owner_debit_card_pens_plus',
|
|
12
|
-
48: '
|
|
13
|
-
49: '
|
|
12
|
+
48: 'salary_debit_card_48',
|
|
13
|
+
49: 'salary_debit_card_49',
|
|
14
14
|
};
|
|
@@ -27,8 +27,8 @@ const debitCardCodesToProgrammIdMap = {
|
|
|
27
27
|
appetit_debit_card: '44',
|
|
28
28
|
owner_debit_card_plus: '46',
|
|
29
29
|
owner_debit_card_pens_plus: '47',
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
salary_debit_card_48: '48',
|
|
31
|
+
salary_debit_card_49: '49',
|
|
32
32
|
};
|
|
33
33
|
|
|
34
34
|
const cardCodesToProgrammIdMap = {
|
|
@@ -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
|
>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { Option } from '../../ui-kit/Select/Option';
|
|
2
|
-
import { type Cashback } from '../CashbackCalculatorLayout/CashbackCalculatorLayoutContent';
|
|
3
|
-
export declare const ALL_PERCENT_STANDARD_CATEGORIES: Option[];
|
|
4
|
-
export declare const ALL_PERCENT_PREMIUM_CATEGORIES: Option[];
|
|
5
|
-
export declare const MAIN_CASHBACK_KEY: {
|
|
6
|
-
standard: string;
|
|
7
|
-
premium: string;
|
|
8
|
-
};
|
|
9
|
-
export declare const DEFAULT_STANDARD_CASHBACK: Cashback[];
|
|
10
|
-
export declare const DEFAULT_PREMIUM_CASHBACK: Cashback[];
|
|
11
|
-
export declare const MAX_CATEGORIES: {
|
|
12
|
-
standard: number;
|
|
13
|
-
premium: number;
|
|
14
|
-
};
|
|
15
|
-
export declare const INFO_BLOCK_HTML = "<p>\u041F\u043E\u043B\u0443\u0447\u0435\u043D\u043D\u044B\u0435 \u0431\u0430\u043B\u043B\u044B \u043C\u043E\u0436\u043D\u043E \u043A\u043E\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432 \u0440\u0443\u0431\u043B\u0438 \u0438 \u043A\u043E\u043C\u043F\u0435\u043D\u0441\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E\u043A\u0443\u043F\u043A\u0438 \u0443 \u043F\u0430\u0440\u0442\u043D\u0435\u0440\u043E\u0432.</p>";
|
|
16
|
-
export declare const MAX_MONTH_CASHBACK: Record<string, number>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const getPercentCategories: (isMainCashbackAdded: boolean, calculatorType: string) => import("../../ui-kit/Select/Option").Option[];
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
declare type RenderButtonsProps = {
|
|
2
|
-
cashbacksLength: number;
|
|
3
|
-
onAddNewCashback: () => void;
|
|
4
|
-
onResetCashback: () => void;
|
|
5
|
-
calculatorType?: string;
|
|
6
|
-
maxCategories?: number;
|
|
7
|
-
};
|
|
8
|
-
export declare const renderButtons: ({ cashbacksLength, onAddNewCashback, onResetCashback, calculatorType, maxCategories, }: RenderButtonsProps) => any;
|
|
9
|
-
export {};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
2
|
-
import { type CashbackCalculatorLayoutContent } from './CashbackCalculatorLayoutContent';
|
|
3
|
-
interface CashbackCalculatorProps extends CashbackCalculatorLayoutContent, UniBlockProps {
|
|
4
|
-
}
|
|
5
|
-
export declare const CashbackCalculatorLayout: import("@redneckz/uni-jsx").UNIComponent<CashbackCalculatorProps, any, any>;
|
|
6
|
-
export {};
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { type DescriptionProps, type SubtitleProps, type TitleProps } from '../../model/HeadlineType';
|
|
2
|
-
import { type Picture } from '../../model/Picture';
|
|
3
|
-
import { type LinkButtonContent } from '../../ui-kit/LinkButton/LinkButtonContent';
|
|
4
|
-
import { type Option } from '../../ui-kit/Select/Option';
|
|
5
|
-
import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
|
|
6
|
-
export declare type Cashback = {
|
|
7
|
-
id: number;
|
|
8
|
-
percent: Option;
|
|
9
|
-
sum: number;
|
|
10
|
-
};
|
|
11
|
-
export declare type CalculatorParams = {
|
|
12
|
-
/** @title Максимальное значение поля «Сумма покупок в категории» */
|
|
13
|
-
maxInputRange?: number;
|
|
14
|
-
/** @title Максимальное количество выбранных категорий */
|
|
15
|
-
maxCategories?: number;
|
|
16
|
-
/** @title Максимальное количество баллов в месяц */
|
|
17
|
-
maxMonthCashback?: number;
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* @title Блок калькулятора кэшбека
|
|
21
|
-
*/
|
|
22
|
-
export declare type CashbackCalculatorLayoutContent = UniBlockContent & TitleProps & DescriptionProps & SubtitleProps & {
|
|
23
|
-
/** @title Параметры калькулятора стандарт */
|
|
24
|
-
standardCalculatorParams?: CalculatorParams;
|
|
25
|
-
/** @title Параметры калькулятора престиж */
|
|
26
|
-
premiumCalculatorParams?: CalculatorParams;
|
|
27
|
-
/** @title Кнопка */
|
|
28
|
-
button?: LinkButtonContent;
|
|
29
|
-
/** @title Изображение */
|
|
30
|
-
image?: Picture;
|
|
31
|
-
/** @title Иконка кнопки удаления категории */
|
|
32
|
-
deleteImage?: Picture;
|
|
33
|
-
/** @title Иконка информационного блока */
|
|
34
|
-
infoImage?: Picture;
|
|
35
|
-
/** @hidden */
|
|
36
|
-
calculatorType?: CashbackCalculatorType;
|
|
37
|
-
};
|
|
38
|
-
export declare type CashbackCalculatorType = 'standard' | 'premium';
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { Option } from '../../ui-kit/Select/Option';
|
|
2
|
-
import { type Cashback } from '../CashbackCalculatorLayout/CashbackCalculatorLayoutContent';
|
|
3
|
-
export declare const ALL_PERCENT_STANDARD_CATEGORIES: Option[];
|
|
4
|
-
export declare const ALL_PERCENT_PREMIUM_CATEGORIES: Option[];
|
|
5
|
-
export declare const MAIN_CASHBACK_KEY: {
|
|
6
|
-
standard: string;
|
|
7
|
-
premium: string;
|
|
8
|
-
};
|
|
9
|
-
export declare const DEFAULT_STANDARD_CASHBACK: Cashback[];
|
|
10
|
-
export declare const DEFAULT_PREMIUM_CASHBACK: Cashback[];
|
|
11
|
-
export declare const MAX_CATEGORIES: {
|
|
12
|
-
standard: number;
|
|
13
|
-
premium: number;
|
|
14
|
-
};
|
|
15
|
-
export declare const INFO_BLOCK_HTML = "<p>\u041F\u043E\u043B\u0443\u0447\u0435\u043D\u043D\u044B\u0435 \u0431\u0430\u043B\u043B\u044B \u043C\u043E\u0436\u043D\u043E \u043A\u043E\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432 \u0440\u0443\u0431\u043B\u0438 \u0438 \u043A\u043E\u043C\u043F\u0435\u043D\u0441\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E\u043A\u0443\u043F\u043A\u0438 \u0443 \u043F\u0430\u0440\u0442\u043D\u0435\u0440\u043E\u0432.</p>";
|
|
16
|
-
export declare const MAX_MONTH_CASHBACK: Record<string, number>;
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.MAX_MONTH_CASHBACK = exports.INFO_BLOCK_HTML = exports.MAX_CATEGORIES = exports.DEFAULT_PREMIUM_CASHBACK = exports.DEFAULT_STANDARD_CASHBACK = exports.MAIN_CASHBACK_KEY = exports.ALL_PERCENT_PREMIUM_CATEGORIES = exports.ALL_PERCENT_STANDARD_CATEGORIES = void 0;
|
|
3
|
-
exports.ALL_PERCENT_STANDARD_CATEGORIES = [
|
|
4
|
-
{
|
|
5
|
-
text: 'Категория 1% «На всё»',
|
|
6
|
-
key: '1-main',
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
text: 'Категория 1,5%',
|
|
10
|
-
key: '1.5',
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
text: 'Категория 3%',
|
|
14
|
-
key: '3',
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
text: 'Категория 5%',
|
|
18
|
-
key: '5',
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
text: 'Категория 10%',
|
|
22
|
-
key: '10',
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
text: 'Категория 15%',
|
|
26
|
-
key: '15',
|
|
27
|
-
},
|
|
28
|
-
];
|
|
29
|
-
exports.ALL_PERCENT_PREMIUM_CATEGORIES = [
|
|
30
|
-
{
|
|
31
|
-
text: 'Категория 1,5% «На всё»',
|
|
32
|
-
key: '1.5-main',
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
text: 'Категория 1,5%',
|
|
36
|
-
key: '1.5',
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
text: 'Категория 3%',
|
|
40
|
-
key: '3',
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
text: 'Категория 5%',
|
|
44
|
-
key: '5',
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
text: 'Категория 10%',
|
|
48
|
-
key: '10',
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
text: 'Категория 15%',
|
|
52
|
-
key: '15',
|
|
53
|
-
},
|
|
54
|
-
];
|
|
55
|
-
exports.MAIN_CASHBACK_KEY = {
|
|
56
|
-
standard: '1-main',
|
|
57
|
-
premium: '1.5-main',
|
|
58
|
-
};
|
|
59
|
-
exports.DEFAULT_STANDARD_CASHBACK = [
|
|
60
|
-
{
|
|
61
|
-
id: 0,
|
|
62
|
-
percent: {
|
|
63
|
-
text: 'Категория 1% «На всё»',
|
|
64
|
-
key: '1-main',
|
|
65
|
-
},
|
|
66
|
-
sum: 5000,
|
|
67
|
-
},
|
|
68
|
-
];
|
|
69
|
-
exports.DEFAULT_PREMIUM_CASHBACK = [
|
|
70
|
-
{
|
|
71
|
-
id: 0,
|
|
72
|
-
percent: {
|
|
73
|
-
text: 'Категория 1,5% «На всё»',
|
|
74
|
-
key: '1.5-main',
|
|
75
|
-
},
|
|
76
|
-
sum: 5000,
|
|
77
|
-
},
|
|
78
|
-
];
|
|
79
|
-
// export const INCREASED_PERCENTS = ['5', '10', '15'];
|
|
80
|
-
exports.MAX_CATEGORIES = {
|
|
81
|
-
standard: 5,
|
|
82
|
-
premium: 7,
|
|
83
|
-
};
|
|
84
|
-
exports.INFO_BLOCK_HTML = `<p>Полученные баллы можно конвертировать в рубли и компенсировать покупки у партнеров.</p>`;
|
|
85
|
-
exports.MAX_MONTH_CASHBACK = {
|
|
86
|
-
standard: 5000,
|
|
87
|
-
premium: 15000,
|
|
88
|
-
};
|
|
89
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/components/CashbackCalculator/constants.ts"],"names":[],"mappings":";;AAGa,QAAA,+BAA+B,GAAa;IACvD;QACE,IAAI,EAAE,uBAAuB;QAC7B,GAAG,EAAE,QAAQ;KACd;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,KAAK;KACX;IACD;QACE,IAAI,EAAE,cAAc;QACpB,GAAG,EAAE,GAAG;KACT;IACD;QACE,IAAI,EAAE,cAAc;QACpB,GAAG,EAAE,GAAG;KACT;IACD;QACE,IAAI,EAAE,eAAe;QACrB,GAAG,EAAE,IAAI;KACV;IACD;QACE,IAAI,EAAE,eAAe;QACrB,GAAG,EAAE,IAAI;KACV;CACF,CAAC;AAEW,QAAA,8BAA8B,GAAa;IACtD;QACE,IAAI,EAAE,yBAAyB;QAC/B,GAAG,EAAE,UAAU;KAChB;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,KAAK;KACX;IACD;QACE,IAAI,EAAE,cAAc;QACpB,GAAG,EAAE,GAAG;KACT;IACD;QACE,IAAI,EAAE,cAAc;QACpB,GAAG,EAAE,GAAG;KACT;IACD;QACE,IAAI,EAAE,eAAe;QACrB,GAAG,EAAE,IAAI;KACV;IACD;QACE,IAAI,EAAE,eAAe;QACrB,GAAG,EAAE,IAAI;KACV;CACF,CAAC;AAEW,QAAA,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,UAAU;CACpB,CAAC;AAEW,QAAA,yBAAyB,GAAe;IACnD;QACE,EAAE,EAAE,CAAC;QACL,OAAO,EAAE;YACP,IAAI,EAAE,uBAAuB;YAC7B,GAAG,EAAE,QAAQ;SACd;QACD,GAAG,EAAE,IAAI;KACV;CACF,CAAC;AAEW,QAAA,wBAAwB,GAAe;IAClD;QACE,EAAE,EAAE,CAAC;QACL,OAAO,EAAE;YACP,IAAI,EAAE,yBAAyB;YAC/B,GAAG,EAAE,UAAU;SAChB;QACD,GAAG,EAAE,IAAI;KACV;CACF,CAAC;AAEF,uDAAuD;AAE1C,QAAA,cAAc,GAAG;IAC5B,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;CACX,CAAC;AAEW,QAAA,eAAe,GAAG,4FAA4F,CAAC;AAE/G,QAAA,kBAAkB,GAA2B;IACxD,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,KAAK;CACf,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const getPercentCategories: (isMainCashbackAdded: boolean, calculatorType: string) => import("../../ui-kit/Select/Option").Option[];
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.getPercentCategories = void 0;
|
|
3
|
-
const constants_1 = require("./constants");
|
|
4
|
-
const getPercentCategories = (isMainCashbackAdded, calculatorType) => {
|
|
5
|
-
const allPercentCategories = calculatorType === 'premium' ? constants_1.ALL_PERCENT_PREMIUM_CATEGORIES : constants_1.ALL_PERCENT_STANDARD_CATEGORIES;
|
|
6
|
-
let updatedCategories = allPercentCategories;
|
|
7
|
-
if (!isMainCashbackAdded) {
|
|
8
|
-
return allPercentCategories;
|
|
9
|
-
}
|
|
10
|
-
if (isMainCashbackAdded) {
|
|
11
|
-
updatedCategories = updatedCategories.filter((_) => _.key !== constants_1.MAIN_CASHBACK_KEY[calculatorType]);
|
|
12
|
-
}
|
|
13
|
-
return updatedCategories;
|
|
14
|
-
};
|
|
15
|
-
exports.getPercentCategories = getPercentCategories;
|
|
16
|
-
//# sourceMappingURL=getPercentCategories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getPercentCategories.js","sourceRoot":"","sources":["../../../src/components/CashbackCalculator/getPercentCategories.ts"],"names":[],"mappings":";;AAAA,2CAIqB;AAEd,MAAM,oBAAoB,GAAG,CAAC,mBAA4B,EAAE,cAAsB,EAAE,EAAE;IAC3F,MAAM,oBAAoB,GACxB,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,0CAA8B,CAAC,CAAC,CAAC,2CAA+B,CAAC;IAElG,IAAI,iBAAiB,GAAG,oBAAoB,CAAC;IAE7C,IAAI,CAAC,mBAAmB,EAAE;QACxB,OAAO,oBAAoB,CAAC;KAC7B;IAED,IAAI,mBAAmB,EAAE;QACvB,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,6BAAiB,CAAC,cAAc,CAAC,CACnD,CAAC;KACH;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAjBW,QAAA,oBAAoB,wBAiB/B"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
declare type RenderButtonsProps = {
|
|
2
|
-
cashbacksLength: number;
|
|
3
|
-
onAddNewCashback: () => void;
|
|
4
|
-
onResetCashback: () => void;
|
|
5
|
-
calculatorType?: string;
|
|
6
|
-
maxCategories?: number;
|
|
7
|
-
};
|
|
8
|
-
export declare const renderButtons: ({ cashbacksLength, onAddNewCashback, onResetCashback, calculatorType, maxCategories, }: RenderButtonsProps) => any;
|
|
9
|
-
export {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.renderButtons = void 0;
|
|
3
|
-
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
|
-
const Button_1 = require("../../ui-kit/Button/Button");
|
|
5
|
-
const constants_1 = require("./constants");
|
|
6
|
-
const renderButtons = ({ cashbacksLength, onAddNewCashback, onResetCashback, calculatorType = 'standard', maxCategories = constants_1.MAX_CATEGORIES[calculatorType], }) => {
|
|
7
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: "w-full flex flex-col gap-lg", children: [cashbacksLength < maxCategories ? ((0, jsx_runtime_1.jsx)(Button_1.Button, { className: "self-start text-primary-main", embedded: true, version: "secondary", onClick: onAddNewCashback, children: cashbacksLength ? 'Добавить ещё категорию' : 'Добавить категорию' })) : null, cashbacksLength > 2 ? ((0, jsx_runtime_1.jsx)(Button_1.Button, { className: "self-start", version: "secondary", onClick: onResetCashback, children: "\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0432\u0441\u0435 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438" })) : null] }));
|
|
8
|
-
};
|
|
9
|
-
exports.renderButtons = renderButtons;
|
|
10
|
-
//# sourceMappingURL=renderButtons.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renderButtons.js","sourceRoot":"","sources":["../../../src/components/CashbackCalculator/renderButtons.tsx"],"names":[],"mappings":";;;AAAA,uDAAoD;AACpD,2CAA6C;AAUtC,MAAM,aAAa,GAAG,CAAC,EAC5B,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,cAAc,GAAG,UAAU,EAC3B,aAAa,GAAG,0BAAc,CAAC,cAAc,CAAC,GAC3B,EAAE,EAAE;IACvB,OAAO,CACL,iCAAK,SAAS,EAAC,6BAA6B,aACzC,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,CACjC,uBAAC,eAAM,IACL,SAAS,EAAC,8BAA8B,EACxC,QAAQ,QACR,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE,gBAAgB,YAExB,eAAe,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,oBAAoB,GAC3D,CACV,CAAC,CAAC,CAAC,IAAI,EACP,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,CACrB,uBAAC,eAAM,IAAC,SAAS,EAAC,YAAY,EAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,eAAe,2IAElE,CACV,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,aAAa,iBA0BxB"}
|