@redneckz/wildless-cms-uni-blocks 0.14.59 → 0.14.61
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/bundle.umd.js +49 -74
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +2 -10
- package/dist/components/ExchangeRateTile/ExchangeRateTile.js +3 -1
- package/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/dist/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +2 -10
- package/dist/components/ExchangeRateTile/useFetchExchangeRateData.js +4 -35
- package/dist/components/ExchangeRateTile/useFetchExchangeRateData.js.map +1 -1
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -1
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/lib/components/ExchangeRateTile/ExchangeRateTile.js +3 -1
- package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/lib/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +2 -10
- package/lib/components/ExchangeRateTile/useFetchExchangeRateData.js +3 -33
- package/lib/components/ExchangeRateTile/useFetchExchangeRateData.js.map +1 -1
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -1
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +48 -73
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +2 -10
- package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js +3 -1
- package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/mobile/dist/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +2 -10
- package/mobile/dist/components/ExchangeRateTile/useFetchExchangeRateData.js +4 -35
- package/mobile/dist/components/ExchangeRateTile/useFetchExchangeRateData.js.map +1 -1
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -1
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js +3 -1
- package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/mobile/lib/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +2 -10
- package/mobile/lib/components/ExchangeRateTile/useFetchExchangeRateData.js +3 -33
- package/mobile/lib/components/ExchangeRateTile/useFetchExchangeRateData.js.map +1 -1
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -1
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.tsx +3 -1
- package/mobile/src/components/ExchangeRateTile/useFetchExchangeRateData.ts +7 -54
- package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +7 -2
- package/package.json +1 -1
- package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +3 -1
- package/src/components/ExchangeRateTile/useFetchExchangeRateData.ts +7 -54
- package/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +7 -2
|
@@ -1,17 +1,9 @@
|
|
|
1
1
|
import { type ExchangeCurrencyItem } from '../../components/ExchangeRateTile/ExchangeCurrencyCalculator';
|
|
2
|
+
import { type RegionData } from '../../hooks/useLocation';
|
|
2
3
|
export interface ExchangeData {
|
|
3
4
|
exchangeRate?: {
|
|
4
5
|
currencies?: ExchangeCurrencyItem[];
|
|
5
6
|
};
|
|
6
7
|
address?: string;
|
|
7
8
|
}
|
|
8
|
-
export
|
|
9
|
-
id?: number;
|
|
10
|
-
code?: string;
|
|
11
|
-
name?: string;
|
|
12
|
-
}
|
|
13
|
-
export declare function useFetchExchangeRateData(): {
|
|
14
|
-
region?: RegionData | undefined;
|
|
15
|
-
exchangeRates?: ExchangeData | undefined;
|
|
16
|
-
};
|
|
17
|
-
export declare function useCurrentPosition(): RegionData;
|
|
9
|
+
export declare function useFetchExchangeRateData(currentRegion: RegionData): ExchangeData;
|
|
@@ -2,6 +2,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
2
2
|
exports.ExchangeRateTile = void 0;
|
|
3
3
|
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
4
|
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
5
|
+
const useLocation_1 = require("../../hooks/useLocation");
|
|
5
6
|
const BaseTile_1 = require("../../ui-kit/BaseTile/BaseTile");
|
|
6
7
|
const BlockWrapper_1 = require("../../ui-kit/BlockWrapper");
|
|
7
8
|
const Heading_1 = require("../../ui-kit/Heading/Heading");
|
|
@@ -12,7 +13,8 @@ const CurrentLocation_1 = require("./CurrentLocation");
|
|
|
12
13
|
const ExchangeCurrencyCalculator_1 = require("./ExchangeCurrencyCalculator");
|
|
13
14
|
const useFetchExchangeRateData_1 = require("./useFetchExchangeRateData");
|
|
14
15
|
exports.ExchangeRateTile = (0, uni_jsx_1.JSX)(({ className = '', title = 'Курсы обмена валют', button, ...rest }) => {
|
|
15
|
-
const
|
|
16
|
+
const [currentLocation] = (0, useLocation_1.useLocation)();
|
|
17
|
+
const exchangeRates = (0, useFetchExchangeRateData_1.useFetchExchangeRateData)(currentLocation);
|
|
16
18
|
const currencyRates = getCurrencyRates(exchangeRates?.exchangeRate?.currencies);
|
|
17
19
|
const currencyRatesBuy = currencyRates.filter((_) => _.buyExchangeRate);
|
|
18
20
|
currencyRatesBuy.unshift({ currency: { currency: CurrencyProps_1.Currency.RUB } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExchangeRateTile.js","sourceRoot":"","sources":["../../../src/components/ExchangeRateTile/ExchangeRateTile.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;
|
|
1
|
+
{"version":3,"file":"ExchangeRateTile.js","sourceRoot":"","sources":["../../../src/components/ExchangeRateTile/ExchangeRateTile.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,yDAAsD;AAEtD,6DAA0D;AAC1D,4DAAyD;AACzD,0DAAuD;AACvD,6CAA0C;AAC1C,mDAA2C;AAC3C,mDAAgD;AAChD,uDAAoD;AACpD,6EAGsC;AAEtC,yEAAsE;AAIzD,QAAA,gBAAgB,GAAG,IAAA,aAAG,EACjC,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,GAAG,oBAAoB,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IACpE,MAAM,CAAC,eAAe,CAAC,GAAG,IAAA,yBAAW,GAAE,CAAC;IACxC,MAAM,aAAa,GAAG,IAAA,mDAAwB,EAAC,eAAe,CAAC,CAAC;IAEhE,MAAM,aAAa,GAAG,gBAAgB,CAAC,aAAa,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAEhF,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACxE,gBAAgB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,wBAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAEnE,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC1E,iBAAiB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,wBAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAEjE,OAAO,CACL,uBAAC,2BAAY,IAAC,SAAS,EAAE,IAAA,aAAK,EAAC,qBAAqB,EAAE,SAAS,CAAC,KAAM,IAAI,YACxE,uBAAC,mBAAQ,IACP,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAE,uBAAC,iBAAO,IAAC,WAAW,EAAC,IAAI,EAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAC,qBAAqB,GAAG,YAEjF,iCAAK,SAAS,EAAC,wBAAwB,aACrC,4CACG,aAAa,CAAC,CAAC,CAAC,CACf,uBAAC,6BAAa,IAAC,SAAS,EAAC,OAAO,EAAC,qBAAqB,EAAE,aAAa,GAAI,CAC1E,CAAC,CAAC,CAAC,IAAI,EACR,uBAAC,iCAAe,IAAC,OAAO,EAAE,aAAa,EAAE,OAAO,GAAI,IAChD,EACL,aAAa,CAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAC7E,uBAAC,uDAA0B,IACzB,SAAS,EAAC,MAAM,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM,GACd,CACH,CAAC,CAAC,CAAC,IAAI,IACJ,GACG,GACE,CAChB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,UAAmC,EAAE,EAAE;IAC/D,OAAO,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AACzF,CAAC,CAAC"}
|
|
@@ -1,17 +1,9 @@
|
|
|
1
1
|
import { type ExchangeCurrencyItem } from '../../components/ExchangeRateTile/ExchangeCurrencyCalculator';
|
|
2
|
+
import { type RegionData } from '../../hooks/useLocation';
|
|
2
3
|
export interface ExchangeData {
|
|
3
4
|
exchangeRate?: {
|
|
4
5
|
currencies?: ExchangeCurrencyItem[];
|
|
5
6
|
};
|
|
6
7
|
address?: string;
|
|
7
8
|
}
|
|
8
|
-
export
|
|
9
|
-
id?: number;
|
|
10
|
-
code?: string;
|
|
11
|
-
name?: string;
|
|
12
|
-
}
|
|
13
|
-
export declare function useFetchExchangeRateData(): {
|
|
14
|
-
region?: RegionData | undefined;
|
|
15
|
-
exchangeRates?: ExchangeData | undefined;
|
|
16
|
-
};
|
|
17
|
-
export declare function useCurrentPosition(): RegionData;
|
|
9
|
+
export declare function useFetchExchangeRateData(currentRegion: RegionData): ExchangeData;
|
|
@@ -1,43 +1,12 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.
|
|
2
|
+
exports.useFetchExchangeRateData = void 0;
|
|
3
3
|
const useAsyncData_1 = require("@redneckz/uni-jsx/lib/hooks/useAsyncData");
|
|
4
4
|
const fetchJSON_1 = require("../../utils/fetchJSON");
|
|
5
5
|
const EXCHANGE_RATES_URL = '/api/v1/exchangerates';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const { data } = (0, useAsyncData_1.useAsyncData)(EXCHANGE_RATES_URL
|
|
6
|
+
function useFetchExchangeRateData(currentRegion) {
|
|
7
|
+
const regionCode = currentRegion?.code || '000';
|
|
8
|
+
const { data } = (0, useAsyncData_1.useAsyncData)(EXCHANGE_RATES_URL + `?regionCode=${regionCode}`, fetchJSON_1.fetchJSONUnsafe);
|
|
9
9
|
return data || {};
|
|
10
10
|
}
|
|
11
11
|
exports.useFetchExchangeRateData = useFetchExchangeRateData;
|
|
12
|
-
function useCurrentPosition() {
|
|
13
|
-
const { data } = (0, useAsyncData_1.useAsyncData)(REGION_URL, fetchJSON_1.fetchJSONUnsafe);
|
|
14
|
-
return data || {};
|
|
15
|
-
}
|
|
16
|
-
exports.useCurrentPosition = useCurrentPosition;
|
|
17
|
-
const fetchData = async (urlExchangeRates) => {
|
|
18
|
-
const region = await fetchRegion();
|
|
19
|
-
const regionCode = region?.code || '000';
|
|
20
|
-
const exchangeRates = await fetchExchangeRates(urlExchangeRates, regionCode);
|
|
21
|
-
return { region, exchangeRates };
|
|
22
|
-
};
|
|
23
|
-
const fetchRegion = async () => {
|
|
24
|
-
try {
|
|
25
|
-
return await (0, fetchJSON_1.fetchJSONUnsafe)(REGION_URL, { method: 'GET' });
|
|
26
|
-
}
|
|
27
|
-
catch (error) {
|
|
28
|
-
console.log(error);
|
|
29
|
-
return {};
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
const fetchExchangeRates = async (url, regionCode) => {
|
|
33
|
-
try {
|
|
34
|
-
return await (0, fetchJSON_1.fetchJSONUnsafe)(url + `?regionCode=${regionCode}`, {
|
|
35
|
-
method: 'GET',
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
catch (error) {
|
|
39
|
-
console.log(error);
|
|
40
|
-
return {};
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
12
|
//# sourceMappingURL=useFetchExchangeRateData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFetchExchangeRateData.js","sourceRoot":"","sources":["../../../src/components/ExchangeRateTile/useFetchExchangeRateData.ts"],"names":[],"mappings":";;AAAA,2EAAwE;
|
|
1
|
+
{"version":3,"file":"useFetchExchangeRateData.js","sourceRoot":"","sources":["../../../src/components/ExchangeRateTile/useFetchExchangeRateData.ts"],"names":[],"mappings":";;AAAA,2EAAwE;AAGxE,qDAAwD;AASxD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AAEnD,SAAgB,wBAAwB,CAAC,aAAyB;IAChE,MAAM,UAAU,GAAG,aAAa,EAAE,IAAI,IAAI,KAAK,CAAC;IAEhD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,2BAAY,EAC3B,kBAAkB,GAAG,eAAe,UAAU,EAAE,EAChD,2BAAe,CAChB,CAAC;IAEF,OAAO,IAAI,IAAI,EAAE,CAAC;AACpB,CAAC;AATD,4DASC"}
|
|
@@ -7,6 +7,7 @@ const useCarouselControls_1 = require("../../hooks/useCarouselControls");
|
|
|
7
7
|
const Button_1 = require("../../ui-kit/Button/Button");
|
|
8
8
|
const renderArrows_1 = require("../../ui-kit/Button/renderArrows");
|
|
9
9
|
const Img_1 = require("../../ui-kit/Img/Img");
|
|
10
|
+
const Text_1 = require("../../ui-kit/Text/Text");
|
|
10
11
|
const toLocalNumberFormat_1 = require("../../utils/toLocalNumberFormat");
|
|
11
12
|
exports.InsuranceAmountBlockInner = (0, uni_jsx_1.JSX)(({ className = '', cards = [], button }) => {
|
|
12
13
|
const [selectedCardIndex, setSelectedCardIndex] = (0, hooks_1.useState)(0);
|
|
@@ -49,7 +50,7 @@ function renderNavButton({ slide, i, isActive, onClick }) {
|
|
|
49
50
|
return ((0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: onClick, className: `p-3xl min-w-fit flex items-center gap-2xl bg-white border-solid border relative ${btnClassName}`, children: [slide?.icon ? ((0, jsx_runtime_1.jsx)(Img_1.Img, { className: "p-lg rounded-full bg-secondary-light", image: slide.icon, width: "108", height: "108" })) : null, (0, jsx_runtime_1.jsxs)("div", { className: "flex gap-s", children: [slide?.sum ? renderValueBlock('страховая сумма', slide.sum) : null, slide?.fee ? renderValueBlock('страховой взнос', slide.fee) : null] }), renderDoneIcon(isActive)] }, String(i)));
|
|
50
51
|
}
|
|
51
52
|
function renderValueBlock(title, sum) {
|
|
52
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col text-left whitespace-pre", children: [(0, jsx_runtime_1.jsxs)(
|
|
53
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col text-left whitespace-pre", children: [(0, jsx_runtime_1.jsxs)(Text_1.Text, { size: "text-h6", children: [(0, toLocalNumberFormat_1.toLocalNumberFormat)(2)(sum), " \u20BD"] }), (0, jsx_runtime_1.jsx)("div", { className: "mt-2xs", children: (0, jsx_runtime_1.jsx)(Text_1.Text, { size: "text-l", color: "text-secondary-text", children: title }) })] }));
|
|
53
54
|
}
|
|
54
55
|
function renderDoneIcon(isActive) {
|
|
55
56
|
return isActive ? ((0, jsx_runtime_1.jsx)(Img_1.Img, { className: `h-6 w-6 min-w-6 min-h-6 absolute right-4 top-4`, image: { icon: 'DoneIcon' }, width: "24", height: "24" })) : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InsuranceAmountBlockInner.js","sourceRoot":"","sources":["../../../src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAoE;AACpE,yEAAsE;AACtE,uDAAoD;AAEpD,mEAAgE;AAChE,8CAA2C;AAC3C,yEAAsE;AAsBzD,QAAA,yBAAyB,GAAG,IAAA,aAAG,EAC1C,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IACzC,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,uBAAuB,GAAG,IAAA,mBAAW,EAAC,CAAC,CAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxF,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;IACnC,MAAM,eAAe,GAAG,CAAC,CAAC;IAC1B,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,IAAA,yCAAmB,EAAC;QAClD,SAAS,EAAE,aAAa;QACxB,gBAAgB,EAAE,eAAe;KAClC,CAAC,CAAC;IACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IACpC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;IAE5C,OAAO,CACL,qCAAS,IAAI,EAAC,UAAU,EAAC,SAAS,EAAE,0BAA0B,SAAS,EAAE,aACvE,iCAAK,SAAS,EAAC,0BAA0B,aACtC,aAAa;wBACZ,CAAC,CAAC,aAAa,CAAC;4BACZ,WAAW;4BACX,KAAK;4BACL,iBAAiB;4BACjB,OAAO,EAAE,uBAAuB;yBACjC,CAAC;wBACJ,CAAC,CAAC,IAAI,EACP,IAAA,2BAAY,EAAC;wBACZ,GAAG,QAAQ;wBACX,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;wBACjC,SAAS,EAAE,QAAQ;qBACpB,CAAC,EACD,MAAM,CAAC,CAAC,CAAC,CACR,gCAAK,SAAS,EAAC,yDAAyD,GAAG,CAC5E,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,CAAC,CAAC,CAAC,CACR,gCAAK,SAAS,EAAC,wDAAwD,GAAG,CAC3E,CAAC,CAAC,CAAC,IAAI,IACJ,EACN,uBAAC,eAAM,IAAC,SAAS,EAAC,kBAAkB,EAAC,OAAO,EAAC,SAAS,KAAK,MAAM,EAAE,IAAI,EAAE,UAAU,GAAI,IAC/E,CACX,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,SAAS,aAAa,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAyB;IAC9F,MAAM,cAAc,GAAG,WAAW,GAAG,GAAG,CAAC;IACzC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAE9E,OAAO,CACL,gCAAK,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,cAAc,KAAK,EAAE,EAAE,SAAS,EAAC,sBAAsB,YAC7F,gCAAK,SAAS,EAAE,wCAAwC,eAAe,EAAE,YACtE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CACtB,eAAe,CAAC;gBACd,KAAK;gBACL,CAAC;gBACD,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,iBAAiB,CAAC;gBAC1C,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;aAC1B,CAAC,CACH,GACG,GACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAkB;IACtE,MAAM,YAAY,GAAG,QAAQ;QAC3B,CAAC,CAAC,sCAAsC;QACxC,CAAC,CAAC,kCAAkC,CAAC;IAEvC,OAAO,CACL,oCACE,IAAI,EAAC,QAAQ,EAEb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,mFAAmF,YAAY,EAAE,aAE3G,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CACb,uBAAC,SAAG,IACF,SAAS,EAAC,sCAAsC,EAChD,KAAK,EAAE,KAAK,CAAC,IAAI,EACjB,KAAK,EAAC,KAAK,EACX,MAAM,EAAC,KAAK,GACZ,CACH,CAAC,CAAC,CAAC,IAAI,EAER,iCAAK,SAAS,EAAC,YAAY,aACxB,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAClE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAC/D,EACL,cAAc,CAAC,QAAQ,CAAC,KAjBpB,MAAM,CAAC,CAAC,CAAC,CAkBP,CACV,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,GAAW;IAClD,OAAO,CACL,iCAAK,SAAS,EAAC,wCAAwC,aACrD,
|
|
1
|
+
{"version":3,"file":"InsuranceAmountBlockInner.js","sourceRoot":"","sources":["../../../src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
|
+
import { useLocation } from '../../hooks/useLocation.js';
|
|
3
4
|
import { BaseTile } from '../../ui-kit/BaseTile/BaseTile.js';
|
|
4
5
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper.js';
|
|
5
6
|
import { Heading } from '../../ui-kit/Heading/Heading.js';
|
|
@@ -10,7 +11,8 @@ import { CurrentLocation } from './CurrentLocation.js';
|
|
|
10
11
|
import { ExchangeCurrencyCalculator, } from './ExchangeCurrencyCalculator.js';
|
|
11
12
|
import { useFetchExchangeRateData } from './useFetchExchangeRateData.js';
|
|
12
13
|
export const ExchangeRateTile = JSX(({ className = '', title = 'Курсы обмена валют', button, ...rest }) => {
|
|
13
|
-
const
|
|
14
|
+
const [currentLocation] = useLocation();
|
|
15
|
+
const exchangeRates = useFetchExchangeRateData(currentLocation);
|
|
14
16
|
const currencyRates = getCurrencyRates(exchangeRates?.exchangeRate?.currencies);
|
|
15
17
|
const currencyRatesBuy = currencyRates.filter((_) => _.buyExchangeRate);
|
|
16
18
|
currencyRatesBuy.unshift({ currency: { currency: Currency.RUB } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExchangeRateTile.js","sourceRoot":"","sources":["../../../src/components/ExchangeRateTile/ExchangeRateTile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ExchangeRateTile.js","sourceRoot":"","sources":["../../../src/components/ExchangeRateTile/ExchangeRateTile.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,9 @@
|
|
|
1
1
|
import { type ExchangeCurrencyItem } from '../../components/ExchangeRateTile/ExchangeCurrencyCalculator';
|
|
2
|
+
import { type RegionData } from '../../hooks/useLocation';
|
|
2
3
|
export interface ExchangeData {
|
|
3
4
|
exchangeRate?: {
|
|
4
5
|
currencies?: ExchangeCurrencyItem[];
|
|
5
6
|
};
|
|
6
7
|
address?: string;
|
|
7
8
|
}
|
|
8
|
-
export
|
|
9
|
-
id?: number;
|
|
10
|
-
code?: string;
|
|
11
|
-
name?: string;
|
|
12
|
-
}
|
|
13
|
-
export declare function useFetchExchangeRateData(): {
|
|
14
|
-
region?: RegionData | undefined;
|
|
15
|
-
exchangeRates?: ExchangeData | undefined;
|
|
16
|
-
};
|
|
17
|
-
export declare function useCurrentPosition(): RegionData;
|
|
9
|
+
export declare function useFetchExchangeRateData(currentRegion: RegionData): ExchangeData;
|
|
@@ -1,39 +1,9 @@
|
|
|
1
1
|
import { useAsyncData } from '@redneckz/uni-jsx/lib/hooks/useAsyncData';
|
|
2
2
|
import { fetchJSONUnsafe } from '../../utils/fetchJSON.js';
|
|
3
3
|
const EXCHANGE_RATES_URL = '/api/v1/exchangerates';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const { data } = useAsyncData(EXCHANGE_RATES_URL
|
|
4
|
+
export function useFetchExchangeRateData(currentRegion) {
|
|
5
|
+
const regionCode = currentRegion?.code || '000';
|
|
6
|
+
const { data } = useAsyncData(EXCHANGE_RATES_URL + `?regionCode=${regionCode}`, fetchJSONUnsafe);
|
|
7
7
|
return data || {};
|
|
8
8
|
}
|
|
9
|
-
export function useCurrentPosition() {
|
|
10
|
-
const { data } = useAsyncData(REGION_URL, fetchJSONUnsafe);
|
|
11
|
-
return data || {};
|
|
12
|
-
}
|
|
13
|
-
const fetchData = async (urlExchangeRates) => {
|
|
14
|
-
const region = await fetchRegion();
|
|
15
|
-
const regionCode = region?.code || '000';
|
|
16
|
-
const exchangeRates = await fetchExchangeRates(urlExchangeRates, regionCode);
|
|
17
|
-
return { region, exchangeRates };
|
|
18
|
-
};
|
|
19
|
-
const fetchRegion = async () => {
|
|
20
|
-
try {
|
|
21
|
-
return await fetchJSONUnsafe(REGION_URL, { method: 'GET' });
|
|
22
|
-
}
|
|
23
|
-
catch (error) {
|
|
24
|
-
console.log(error);
|
|
25
|
-
return {};
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
const fetchExchangeRates = async (url, regionCode) => {
|
|
29
|
-
try {
|
|
30
|
-
return await fetchJSONUnsafe(url + `?regionCode=${regionCode}`, {
|
|
31
|
-
method: 'GET',
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
catch (error) {
|
|
35
|
-
console.log(error);
|
|
36
|
-
return {};
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
9
|
//# sourceMappingURL=useFetchExchangeRateData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFetchExchangeRateData.js","sourceRoot":"","sources":["../../../src/components/ExchangeRateTile/useFetchExchangeRateData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"useFetchExchangeRateData.js","sourceRoot":"","sources":["../../../src/components/ExchangeRateTile/useFetchExchangeRateData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAGxE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AASxD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AAEnD,MAAM,UAAU,wBAAwB,CAAC,aAAyB;IAChE,MAAM,UAAU,GAAG,aAAa,EAAE,IAAI,IAAI,KAAK,CAAC;IAEhD,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAC3B,kBAAkB,GAAG,eAAe,UAAU,EAAE,EAChD,eAAe,CAChB,CAAC;IAEF,OAAO,IAAI,IAAI,EAAE,CAAC;AACpB,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { useCarouselControls } from '../../hooks/useCarouselControls.js';
|
|
|
5
5
|
import { Button } from '../../ui-kit/Button/Button.js';
|
|
6
6
|
import { renderArrows } from '../../ui-kit/Button/renderArrows.js';
|
|
7
7
|
import { Img } from '../../ui-kit/Img/Img.js';
|
|
8
|
+
import { Text } from '../../ui-kit/Text/Text.js';
|
|
8
9
|
import { toLocalNumberFormat } from '../../utils/toLocalNumberFormat.js';
|
|
9
10
|
export const InsuranceAmountBlockInner = JSX(({ className = '', cards = [], button }) => {
|
|
10
11
|
const [selectedCardIndex, setSelectedCardIndex] = useState(0);
|
|
@@ -47,7 +48,7 @@ function renderNavButton({ slide, i, isActive, onClick }) {
|
|
|
47
48
|
return (_jsxs("button", { type: "button", onClick: onClick, className: `p-3xl min-w-fit flex items-center gap-2xl bg-white border-solid border relative ${btnClassName}`, children: [slide?.icon ? (_jsx(Img, { className: "p-lg rounded-full bg-secondary-light", image: slide.icon, width: "108", height: "108" })) : null, _jsxs("div", { className: "flex gap-s", children: [slide?.sum ? renderValueBlock('страховая сумма', slide.sum) : null, slide?.fee ? renderValueBlock('страховой взнос', slide.fee) : null] }), renderDoneIcon(isActive)] }, String(i)));
|
|
48
49
|
}
|
|
49
50
|
function renderValueBlock(title, sum) {
|
|
50
|
-
return (_jsxs("div", { className: "flex flex-col text-left whitespace-pre", children: [_jsxs(
|
|
51
|
+
return (_jsxs("div", { className: "flex flex-col text-left whitespace-pre", children: [_jsxs(Text, { size: "text-h6", children: [toLocalNumberFormat(2)(sum), " \u20BD"] }), _jsx("div", { className: "mt-2xs", children: _jsx(Text, { size: "text-l", color: "text-secondary-text", children: title }) })] }));
|
|
51
52
|
}
|
|
52
53
|
function renderDoneIcon(isActive) {
|
|
53
54
|
return isActive ? (_jsx(Img, { className: `h-6 w-6 min-w-6 min-h-6 absolute right-4 top-4`, image: { icon: 'DoneIcon' }, width: "24", height: "24" })) : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InsuranceAmountBlockInner.js","sourceRoot":"","sources":["../../../src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAsBtE,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAC1C,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IACzC,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,uBAAuB,GAAG,WAAW,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxF,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;IACnC,MAAM,eAAe,GAAG,CAAC,CAAC;IAC1B,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,mBAAmB,CAAC;QAClD,SAAS,EAAE,aAAa;QACxB,gBAAgB,EAAE,eAAe;KAClC,CAAC,CAAC;IACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IACpC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;IAE5C,OAAO,CACL,mBAAS,IAAI,EAAC,UAAU,EAAC,SAAS,EAAE,0BAA0B,SAAS,EAAE,aACvE,eAAK,SAAS,EAAC,0BAA0B,aACtC,aAAa;wBACZ,CAAC,CAAC,aAAa,CAAC;4BACZ,WAAW;4BACX,KAAK;4BACL,iBAAiB;4BACjB,OAAO,EAAE,uBAAuB;yBACjC,CAAC;wBACJ,CAAC,CAAC,IAAI,EACP,YAAY,CAAC;wBACZ,GAAG,QAAQ;wBACX,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;wBACjC,SAAS,EAAE,QAAQ;qBACpB,CAAC,EACD,MAAM,CAAC,CAAC,CAAC,CACR,cAAK,SAAS,EAAC,yDAAyD,GAAG,CAC5E,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,CAAC,CAAC,CAAC,CACR,cAAK,SAAS,EAAC,wDAAwD,GAAG,CAC3E,CAAC,CAAC,CAAC,IAAI,IACJ,EACN,KAAC,MAAM,IAAC,SAAS,EAAC,kBAAkB,EAAC,OAAO,EAAC,SAAS,KAAK,MAAM,EAAE,IAAI,EAAE,UAAU,GAAI,IAC/E,CACX,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,SAAS,aAAa,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAyB;IAC9F,MAAM,cAAc,GAAG,WAAW,GAAG,GAAG,CAAC;IACzC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAE9E,OAAO,CACL,cAAK,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,cAAc,KAAK,EAAE,EAAE,SAAS,EAAC,sBAAsB,YAC7F,cAAK,SAAS,EAAE,wCAAwC,eAAe,EAAE,YACtE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CACtB,eAAe,CAAC;gBACd,KAAK;gBACL,CAAC;gBACD,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,iBAAiB,CAAC;gBAC1C,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;aAC1B,CAAC,CACH,GACG,GACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAkB;IACtE,MAAM,YAAY,GAAG,QAAQ;QAC3B,CAAC,CAAC,sCAAsC;QACxC,CAAC,CAAC,kCAAkC,CAAC;IAEvC,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EAEb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,mFAAmF,YAAY,EAAE,aAE3G,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CACb,KAAC,GAAG,IACF,SAAS,EAAC,sCAAsC,EAChD,KAAK,EAAE,KAAK,CAAC,IAAI,EACjB,KAAK,EAAC,KAAK,EACX,MAAM,EAAC,KAAK,GACZ,CACH,CAAC,CAAC,CAAC,IAAI,EAER,eAAK,SAAS,EAAC,YAAY,aACxB,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAClE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAC/D,EACL,cAAc,CAAC,QAAQ,CAAC,KAjBpB,MAAM,CAAC,CAAC,CAAC,CAkBP,CACV,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,GAAW;IAClD,OAAO,CACL,eAAK,SAAS,EAAC,wCAAwC,aACrD,
|
|
1
|
+
{"version":3,"file":"InsuranceAmountBlockInner.js","sourceRoot":"","sources":["../../../src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { useLocation } from '../../hooks/useLocation';
|
|
2
3
|
import { type UniBlockProps } from '../../model/JSXBlock';
|
|
3
4
|
import { BaseTile } from '../../ui-kit/BaseTile/BaseTile';
|
|
4
5
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
@@ -18,7 +19,8 @@ export interface ExchangeRateTileProps extends ExchangeRateTileContent, UniBlock
|
|
|
18
19
|
|
|
19
20
|
export const ExchangeRateTile = JSX<ExchangeRateTileProps>(
|
|
20
21
|
({ className = '', title = 'Курсы обмена валют', button, ...rest }) => {
|
|
21
|
-
const
|
|
22
|
+
const [currentLocation] = useLocation();
|
|
23
|
+
const exchangeRates = useFetchExchangeRateData(currentLocation);
|
|
22
24
|
|
|
23
25
|
const currencyRates = getCurrencyRates(exchangeRates?.exchangeRate?.currencies);
|
|
24
26
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useAsyncData } from '@redneckz/uni-jsx/lib/hooks/useAsyncData';
|
|
2
2
|
import { type ExchangeCurrencyItem } from '../../components/ExchangeRateTile/ExchangeCurrencyCalculator';
|
|
3
|
+
import { type RegionData } from '../../hooks/useLocation';
|
|
3
4
|
import { fetchJSONUnsafe } from '../../utils/fetchJSON';
|
|
4
5
|
|
|
5
6
|
export interface ExchangeData {
|
|
@@ -9,63 +10,15 @@ export interface ExchangeData {
|
|
|
9
10
|
address?: string;
|
|
10
11
|
}
|
|
11
12
|
|
|
12
|
-
export interface RegionData {
|
|
13
|
-
id?: number;
|
|
14
|
-
code?: string;
|
|
15
|
-
name?: string;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
13
|
const EXCHANGE_RATES_URL = '/api/v1/exchangerates';
|
|
19
|
-
const REGION_URL = '/api/v1/region';
|
|
20
14
|
|
|
21
|
-
export function useFetchExchangeRateData() {
|
|
22
|
-
const
|
|
23
|
-
region?: RegionData;
|
|
24
|
-
exchangeRates?: ExchangeData;
|
|
25
|
-
}>(EXCHANGE_RATES_URL, fetchData);
|
|
15
|
+
export function useFetchExchangeRateData(currentRegion: RegionData) {
|
|
16
|
+
const regionCode = currentRegion?.code || '000';
|
|
26
17
|
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const { data } = useAsyncData<RegionData>(REGION_URL, fetchJSONUnsafe);
|
|
18
|
+
const { data } = useAsyncData<ExchangeData>(
|
|
19
|
+
EXCHANGE_RATES_URL + `?regionCode=${regionCode}`,
|
|
20
|
+
fetchJSONUnsafe,
|
|
21
|
+
);
|
|
32
22
|
|
|
33
23
|
return data || {};
|
|
34
24
|
}
|
|
35
|
-
|
|
36
|
-
const fetchData = async (
|
|
37
|
-
urlExchangeRates: string,
|
|
38
|
-
): Promise<{
|
|
39
|
-
region: RegionData;
|
|
40
|
-
exchangeRates: ExchangeData;
|
|
41
|
-
}> => {
|
|
42
|
-
const region = await fetchRegion();
|
|
43
|
-
|
|
44
|
-
const regionCode = region?.code || '000';
|
|
45
|
-
|
|
46
|
-
const exchangeRates = await fetchExchangeRates(urlExchangeRates, regionCode);
|
|
47
|
-
|
|
48
|
-
return { region, exchangeRates };
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
const fetchRegion = async (): Promise<RegionData> => {
|
|
52
|
-
try {
|
|
53
|
-
return await fetchJSONUnsafe<RegionData>(REGION_URL, { method: 'GET' });
|
|
54
|
-
} catch (error) {
|
|
55
|
-
console.log(error);
|
|
56
|
-
|
|
57
|
-
return {};
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
const fetchExchangeRates = async (url: string, regionCode: string): Promise<ExchangeData> => {
|
|
62
|
-
try {
|
|
63
|
-
return await fetchJSONUnsafe<ExchangeData>(url + `?regionCode=${regionCode}`, {
|
|
64
|
-
method: 'GET',
|
|
65
|
-
});
|
|
66
|
-
} catch (error) {
|
|
67
|
-
console.log(error);
|
|
68
|
-
|
|
69
|
-
return {};
|
|
70
|
-
}
|
|
71
|
-
};
|
|
@@ -5,6 +5,7 @@ import { Button } from '../../ui-kit/Button/Button';
|
|
|
5
5
|
import { type ButtonCommonContent } from '../../ui-kit/Button/ButtonContent';
|
|
6
6
|
import { renderArrows } from '../../ui-kit/Button/renderArrows';
|
|
7
7
|
import { Img } from '../../ui-kit/Img/Img';
|
|
8
|
+
import { Text } from '../../ui-kit/Text/Text';
|
|
8
9
|
import { toLocalNumberFormat } from '../../utils/toLocalNumberFormat';
|
|
9
10
|
import { type CardItem, type InsuranceAmountBlockTab } from './InsuranceAmountBlockContent';
|
|
10
11
|
|
|
@@ -122,8 +123,12 @@ function renderNavButton({ slide, i, isActive, onClick }: NavButtonProps) {
|
|
|
122
123
|
function renderValueBlock(title: string, sum: number) {
|
|
123
124
|
return (
|
|
124
125
|
<div className="flex flex-col text-left whitespace-pre">
|
|
125
|
-
<
|
|
126
|
-
<
|
|
126
|
+
<Text size="text-h6">{toLocalNumberFormat(2)(sum)} ₽</Text>
|
|
127
|
+
<div className="mt-2xs">
|
|
128
|
+
<Text size="text-l" color="text-secondary-text">
|
|
129
|
+
{title}
|
|
130
|
+
</Text>
|
|
131
|
+
</div>
|
|
127
132
|
</div>
|
|
128
133
|
);
|
|
129
134
|
}
|
package/package.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { useLocation } from '../../hooks/useLocation';
|
|
2
3
|
import { type UniBlockProps } from '../../model/JSXBlock';
|
|
3
4
|
import { BaseTile } from '../../ui-kit/BaseTile/BaseTile';
|
|
4
5
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
@@ -18,7 +19,8 @@ export interface ExchangeRateTileProps extends ExchangeRateTileContent, UniBlock
|
|
|
18
19
|
|
|
19
20
|
export const ExchangeRateTile = JSX<ExchangeRateTileProps>(
|
|
20
21
|
({ className = '', title = 'Курсы обмена валют', button, ...rest }) => {
|
|
21
|
-
const
|
|
22
|
+
const [currentLocation] = useLocation();
|
|
23
|
+
const exchangeRates = useFetchExchangeRateData(currentLocation);
|
|
22
24
|
|
|
23
25
|
const currencyRates = getCurrencyRates(exchangeRates?.exchangeRate?.currencies);
|
|
24
26
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useAsyncData } from '@redneckz/uni-jsx/lib/hooks/useAsyncData';
|
|
2
2
|
import { type ExchangeCurrencyItem } from '../../components/ExchangeRateTile/ExchangeCurrencyCalculator';
|
|
3
|
+
import { type RegionData } from '../../hooks/useLocation';
|
|
3
4
|
import { fetchJSONUnsafe } from '../../utils/fetchJSON';
|
|
4
5
|
|
|
5
6
|
export interface ExchangeData {
|
|
@@ -9,63 +10,15 @@ export interface ExchangeData {
|
|
|
9
10
|
address?: string;
|
|
10
11
|
}
|
|
11
12
|
|
|
12
|
-
export interface RegionData {
|
|
13
|
-
id?: number;
|
|
14
|
-
code?: string;
|
|
15
|
-
name?: string;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
13
|
const EXCHANGE_RATES_URL = '/api/v1/exchangerates';
|
|
19
|
-
const REGION_URL = '/api/v1/region';
|
|
20
14
|
|
|
21
|
-
export function useFetchExchangeRateData() {
|
|
22
|
-
const
|
|
23
|
-
region?: RegionData;
|
|
24
|
-
exchangeRates?: ExchangeData;
|
|
25
|
-
}>(EXCHANGE_RATES_URL, fetchData);
|
|
15
|
+
export function useFetchExchangeRateData(currentRegion: RegionData) {
|
|
16
|
+
const regionCode = currentRegion?.code || '000';
|
|
26
17
|
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const { data } = useAsyncData<RegionData>(REGION_URL, fetchJSONUnsafe);
|
|
18
|
+
const { data } = useAsyncData<ExchangeData>(
|
|
19
|
+
EXCHANGE_RATES_URL + `?regionCode=${regionCode}`,
|
|
20
|
+
fetchJSONUnsafe,
|
|
21
|
+
);
|
|
32
22
|
|
|
33
23
|
return data || {};
|
|
34
24
|
}
|
|
35
|
-
|
|
36
|
-
const fetchData = async (
|
|
37
|
-
urlExchangeRates: string,
|
|
38
|
-
): Promise<{
|
|
39
|
-
region: RegionData;
|
|
40
|
-
exchangeRates: ExchangeData;
|
|
41
|
-
}> => {
|
|
42
|
-
const region = await fetchRegion();
|
|
43
|
-
|
|
44
|
-
const regionCode = region?.code || '000';
|
|
45
|
-
|
|
46
|
-
const exchangeRates = await fetchExchangeRates(urlExchangeRates, regionCode);
|
|
47
|
-
|
|
48
|
-
return { region, exchangeRates };
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
const fetchRegion = async (): Promise<RegionData> => {
|
|
52
|
-
try {
|
|
53
|
-
return await fetchJSONUnsafe<RegionData>(REGION_URL, { method: 'GET' });
|
|
54
|
-
} catch (error) {
|
|
55
|
-
console.log(error);
|
|
56
|
-
|
|
57
|
-
return {};
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
const fetchExchangeRates = async (url: string, regionCode: string): Promise<ExchangeData> => {
|
|
62
|
-
try {
|
|
63
|
-
return await fetchJSONUnsafe<ExchangeData>(url + `?regionCode=${regionCode}`, {
|
|
64
|
-
method: 'GET',
|
|
65
|
-
});
|
|
66
|
-
} catch (error) {
|
|
67
|
-
console.log(error);
|
|
68
|
-
|
|
69
|
-
return {};
|
|
70
|
-
}
|
|
71
|
-
};
|
|
@@ -5,6 +5,7 @@ import { Button } from '../../ui-kit/Button/Button';
|
|
|
5
5
|
import { type ButtonCommonContent } from '../../ui-kit/Button/ButtonContent';
|
|
6
6
|
import { renderArrows } from '../../ui-kit/Button/renderArrows';
|
|
7
7
|
import { Img } from '../../ui-kit/Img/Img';
|
|
8
|
+
import { Text } from '../../ui-kit/Text/Text';
|
|
8
9
|
import { toLocalNumberFormat } from '../../utils/toLocalNumberFormat';
|
|
9
10
|
import { type CardItem, type InsuranceAmountBlockTab } from './InsuranceAmountBlockContent';
|
|
10
11
|
|
|
@@ -122,8 +123,12 @@ function renderNavButton({ slide, i, isActive, onClick }: NavButtonProps) {
|
|
|
122
123
|
function renderValueBlock(title: string, sum: number) {
|
|
123
124
|
return (
|
|
124
125
|
<div className="flex flex-col text-left whitespace-pre">
|
|
125
|
-
<
|
|
126
|
-
<
|
|
126
|
+
<Text size="text-h6">{toLocalNumberFormat(2)(sum)} ₽</Text>
|
|
127
|
+
<div className="mt-2xs">
|
|
128
|
+
<Text size="text-l" color="text-secondary-text">
|
|
129
|
+
{title}
|
|
130
|
+
</Text>
|
|
131
|
+
</div>
|
|
127
132
|
</div>
|
|
128
133
|
);
|
|
129
134
|
}
|