@lifi/widget 3.36.1 → 3.37.0
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/CHANGELOG.md +12 -0
- package/dist/esm/components/RouteCard/RouteCard.js +2 -1
- package/dist/esm/components/RouteCard/RouteCard.js.map +1 -1
- package/dist/esm/config/version.d.ts +1 -1
- package/dist/esm/config/version.js +1 -1
- package/dist/esm/providers/I18nProvider/I18nProvider.js +27 -3
- package/dist/esm/providers/I18nProvider/I18nProvider.js.map +1 -1
- package/dist/esm/stores/settings/createSettingsStore.d.ts +2 -0
- package/dist/esm/stores/settings/types.d.ts +1 -0
- package/dist/esm/stores/settings/utils/getStateValues.js +1 -0
- package/dist/esm/stores/settings/utils/getStateValues.js.map +1 -1
- package/dist/esm/types/widget.d.ts +1 -0
- package/dist/esm/types/widget.js +1 -0
- package/dist/esm/types/widget.js.map +1 -1
- package/package.json +1 -1
- package/package.json.tmp +1 -1
- package/src/components/RouteCard/RouteCard.tsx +2 -1
- package/src/config/version.ts +1 -1
- package/src/providers/I18nProvider/I18nProvider.tsx +39 -2
- package/src/stores/settings/types.ts +1 -0
- package/src/stores/settings/utils/getStateValues.ts +1 -0
- package/src/types/widget.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [3.37.0](https://github.com/lifinance/widget/compare/v3.36.1...v3.37.0) (2025-12-10)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* add option to hide route card price impact ([#623](https://github.com/lifinance/widget/issues/623)) ([4d9c77a](https://github.com/lifinance/widget/commit/4d9c77ad67c64d81af4373a9ef941e150bbcc373))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* sync widget lg with config.languages.default ([#622](https://github.com/lifinance/widget/issues/622)) ([18cf1d6](https://github.com/lifinance/widget/commit/18cf1d67e4579f2914689dc3a3170f1a3cd00729))
|
|
16
|
+
|
|
5
17
|
### [3.36.1](https://github.com/lifinance/widget/compare/v3.36.0...v3.36.1) (2025-12-04)
|
|
6
18
|
|
|
7
19
|
|
|
@@ -27,7 +27,8 @@ export const RouteCard = ({ route, active, variant = 'default', expanded: defaul
|
|
|
27
27
|
const token = subvariant === 'custom' && subvariantOptions?.custom !== 'deposit'
|
|
28
28
|
? { ...route.fromToken, amount: BigInt(route.fromAmount) }
|
|
29
29
|
: { ...route.toToken, amount: BigInt(route.toAmount) };
|
|
30
|
-
const impactToken = subvariant !== 'custom'
|
|
30
|
+
const impactToken = subvariant !== 'custom' &&
|
|
31
|
+
!hiddenUI?.includes(HiddenUI.RouteCardPriceImpact)
|
|
31
32
|
? { ...route.fromToken, amount: BigInt(route.fromAmount) }
|
|
32
33
|
: undefined;
|
|
33
34
|
const [tags, customLabels] = useMemo(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteCard.js","sourceRoot":"","sources":["../../../../src/components/RouteCard/RouteCard.tsx"],"names":[],"mappings":";AACA,OAAO,UAAU,MAAM,gCAAgC,CAAA;AACvD,OAAO,UAAU,MAAM,gCAAgC,CAAA;AACvD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,EAAE,QAAQ,EAAmB,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAA;AAErE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAG9E,MAAM,CAAC,MAAM,SAAS,GAElB,CAAC,EACH,KAAK,EACL,MAAM,EACN,OAAO,GAAG,SAAS,EACnB,QAAQ,EAAE,eAAe,EACzB,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAA;IAC9B,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,QAAQ,EAAE,GAC5D,eAAe,EAAE,CAAA;IACnB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAA;IAEjE,MAAM,YAAY,GAAyC,CAAC,CAAC,EAAE,EAAE;QAC/D,CAAC,CAAC,eAAe,EAAE,CAAA;QACnB,eAAe,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC1C,CAAC,CAAA;IAED,MAAM,KAAK,GACT,UAAU,KAAK,QAAQ,IAAI,iBAAiB,EAAE,MAAM,KAAK,SAAS;QAChE,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;QAC1D,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC1D,MAAM,WAAW,GACf,UAAU,KAAK,QAAQ;
|
|
1
|
+
{"version":3,"file":"RouteCard.js","sourceRoot":"","sources":["../../../../src/components/RouteCard/RouteCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const name = "@lifi/widget";
|
|
2
|
-
export declare const version = "3.
|
|
2
|
+
export declare const version = "3.37.0";
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { createInstance } from 'i18next';
|
|
3
|
-
import { useMemo, useRef } from 'react';
|
|
3
|
+
import { useEffect, useMemo, useRef } from 'react';
|
|
4
4
|
import { I18nextProvider } from 'react-i18next';
|
|
5
|
+
import { useLanguages } from '../../hooks/useLanguages.js';
|
|
6
|
+
import { useSettingsStore } from '../../stores/settings/SettingsStore.js';
|
|
5
7
|
import { useSettings } from '../../stores/settings/useSettings.js';
|
|
6
8
|
import { compactNumberFormatter } from '../../utils/compactNumberFormatter.js';
|
|
7
9
|
import { currencyExtendedFormatter } from '../../utils/currencyExtendedFormatter.js';
|
|
@@ -67,6 +69,28 @@ export const I18nProvider = ({ children, }) => {
|
|
|
67
69
|
i18nInstanceRef.current = i18n;
|
|
68
70
|
return i18n;
|
|
69
71
|
}, [language, languageResources, languages?.default, languageCache]);
|
|
70
|
-
return
|
|
72
|
+
return (_jsxs(I18nextProvider, { i18n: i18nInstance, children: [children, _jsx(DefaultLanguageHandler, {})] }));
|
|
73
|
+
};
|
|
74
|
+
// Sync language settings internally when config.languages.default changes externally
|
|
75
|
+
const DefaultLanguageHandler = () => {
|
|
76
|
+
const { languages } = useWidgetConfig();
|
|
77
|
+
const [lastDefaultLanguage, setValue] = useSettingsStore((state) => [
|
|
78
|
+
state.lastDefaultLanguage,
|
|
79
|
+
state.setValue,
|
|
80
|
+
]);
|
|
81
|
+
const { setLanguageWithCode: setLanguage } = useLanguages();
|
|
82
|
+
useEffect(() => {
|
|
83
|
+
const currentDefaultLanguage = languages?.default;
|
|
84
|
+
const defaultLanguageChanged = currentDefaultLanguage && currentDefaultLanguage !== lastDefaultLanguage;
|
|
85
|
+
if (!defaultLanguageChanged) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
const updateLanguage = async () => {
|
|
89
|
+
await setLanguage(currentDefaultLanguage);
|
|
90
|
+
setValue('lastDefaultLanguage', currentDefaultLanguage);
|
|
91
|
+
};
|
|
92
|
+
updateLanguage();
|
|
93
|
+
}, [languages?.default, setValue, lastDefaultLanguage, setLanguage]);
|
|
94
|
+
return null;
|
|
71
95
|
};
|
|
72
96
|
//# sourceMappingURL=I18nProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"I18nProvider.js","sourceRoot":"","sources":["../../../../src/providers/I18nProvider/I18nProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAa,MAAM,SAAS,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"I18nProvider.js","sourceRoot":"","sources":["../../../../src/providers/I18nProvider/I18nProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ export declare const createSettingsStore: (config: WidgetConfig) => import("zust
|
|
|
10
10
|
gasPrice?: string;
|
|
11
11
|
language?: string;
|
|
12
12
|
languageCache?: import("../../providers/I18nProvider/types.js").LanguageResource;
|
|
13
|
+
lastDefaultLanguage?: string;
|
|
13
14
|
routePriority?: import("@lifi/sdk").Order;
|
|
14
15
|
enabledAutoRefuel: boolean;
|
|
15
16
|
slippage?: string;
|
|
@@ -33,6 +34,7 @@ export declare const createSettingsStore: (config: WidgetConfig) => import("zust
|
|
|
33
34
|
gasPrice?: string;
|
|
34
35
|
language?: string;
|
|
35
36
|
languageCache?: import("../../providers/I18nProvider/types.js").LanguageResource;
|
|
37
|
+
lastDefaultLanguage?: string;
|
|
36
38
|
routePriority?: import("@lifi/sdk").Order;
|
|
37
39
|
enabledAutoRefuel: boolean;
|
|
38
40
|
slippage?: string;
|
|
@@ -2,6 +2,7 @@ export const getStateValues = (state) => ({
|
|
|
2
2
|
gasPrice: state.gasPrice,
|
|
3
3
|
language: state.language,
|
|
4
4
|
languageCache: state.languageCache,
|
|
5
|
+
lastDefaultLanguage: state.lastDefaultLanguage,
|
|
5
6
|
routePriority: state.routePriority,
|
|
6
7
|
enabledAutoRefuel: state.enabledAutoRefuel,
|
|
7
8
|
slippage: state.slippage,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getStateValues.js","sourceRoot":"","sources":["../../../../../src/stores/settings/utils/getStateValues.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAoB,EAAiB,EAAE,CAAC,CAAC;IACtE,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,aAAa,EAAE,KAAK,CAAC,aAAa;IAClC,aAAa,EAAE,KAAK,CAAC,aAAa;IAClC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;IAC1C,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,eAAe,EAAE,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC;IAC3C,cAAc,EAAE,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC;IACzC,eAAe,EAAE,EAAE,GAAG,KAAK,CAAC,eAAe,EAAE;IAC7C,iBAAiB,EAAE,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC/C,gBAAgB,EAAE,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC;IAC7C,iBAAiB,EAAE,EAAE,GAAG,KAAK,CAAC,iBAAiB,EAAE;CAClD,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"getStateValues.js","sourceRoot":"","sources":["../../../../../src/stores/settings/utils/getStateValues.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAoB,EAAiB,EAAE,CAAC,CAAC;IACtE,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,aAAa,EAAE,KAAK,CAAC,aAAa;IAClC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;IAC9C,aAAa,EAAE,KAAK,CAAC,aAAa;IAClC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;IAC1C,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,eAAe,EAAE,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC;IAC3C,cAAc,EAAE,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC;IACzC,eAAe,EAAE,EAAE,GAAG,KAAK,CAAC,eAAe,EAAE;IAC7C,iBAAiB,EAAE,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC/C,gBAAgB,EAAE,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC;IAC7C,iBAAiB,EAAE,EAAE,GAAG,KAAK,CAAC,iBAAiB,EAAE;CAClD,CAAC,CAAA"}
|
|
@@ -69,6 +69,7 @@ export declare enum HiddenUI {
|
|
|
69
69
|
IntegratorStepDetails = "integratorStepDetails",
|
|
70
70
|
ReverseTokensButton = "reverseTokensButton",
|
|
71
71
|
RouteTokenDescription = "routeTokenDescription",
|
|
72
|
+
RouteCardPriceImpact = "routeCardPriceImpact",
|
|
72
73
|
ChainSelect = "chainSelect",
|
|
73
74
|
BridgesSettings = "bridgesSettings",
|
|
74
75
|
AddressBookConnectedWallets = "addressBookConnectedWallets",
|
package/dist/esm/types/widget.js
CHANGED
|
@@ -19,6 +19,7 @@ export var HiddenUI;
|
|
|
19
19
|
HiddenUI["IntegratorStepDetails"] = "integratorStepDetails";
|
|
20
20
|
HiddenUI["ReverseTokensButton"] = "reverseTokensButton";
|
|
21
21
|
HiddenUI["RouteTokenDescription"] = "routeTokenDescription";
|
|
22
|
+
HiddenUI["RouteCardPriceImpact"] = "routeCardPriceImpact";
|
|
22
23
|
HiddenUI["ChainSelect"] = "chainSelect";
|
|
23
24
|
HiddenUI["BridgesSettings"] = "bridgesSettings";
|
|
24
25
|
HiddenUI["AddressBookConnectedWallets"] = "addressBookConnectedWallets";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/types/widget.ts"],"names":[],"mappings":"AAiGA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,uCAAyB,CAAA;IACzB,qCAAuB,CAAA;IACvB,qCAAuB,CAAA;IACvB,iCAAmB,CAAA;AACrB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAGD,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/types/widget.ts"],"names":[],"mappings":"AAiGA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,uCAAyB,CAAA;IACzB,qCAAuB,CAAA;IACvB,qCAAuB,CAAA;IACvB,iCAAmB,CAAA;AACrB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAGD,MAAM,CAAN,IAAY,QAsBX;AAtBD,WAAY,QAAQ;IAClB,qCAAyB,CAAA;IACzB,mDAAuC,CAAA;IACvC,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;IACrB,mCAAuB,CAAA;IACvB,mCAAuB,CAAA;IACvB,mCAAuB,CAAA;IACvB,+BAAmB,CAAA;IACnB,qCAAyB,CAAA;IACzB,2DAA+C,CAAA;IAC/C,uDAA2C,CAAA;IAC3C,2DAA+C,CAAA;IAC/C,yDAA6C,CAAA;IAC7C,uCAA2B,CAAA;IAC3B,+CAAmC,CAAA;IACnC,uEAA2D,CAAA;IAC3D,6EAAiE,CAAA;IACjE,iDAAqC,CAAA;IACrC,iDAAqC,CAAA;IACrC,6DAAiD,CAAA;IACjD,6CAAiC,CAAA;AACnC,CAAC,EAtBW,QAAQ,KAAR,QAAQ,QAsBnB;AAGD,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,qCAAuB,CAAA;IACvB,+DAAiD,CAAA;AACnD,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAsRD,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;AACrB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/widget",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.37.0",
|
|
4
4
|
"description": "LI.FI Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/esm/index.js",
|
package/package.json.tmp
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/widget",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.37.0",
|
|
4
4
|
"description": "LI.FI Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./src/index.ts",
|
|
@@ -44,7 +44,8 @@ export const RouteCard: React.FC<
|
|
|
44
44
|
? { ...route.fromToken, amount: BigInt(route.fromAmount) }
|
|
45
45
|
: { ...route.toToken, amount: BigInt(route.toAmount) }
|
|
46
46
|
const impactToken: TokenAmount | undefined =
|
|
47
|
-
subvariant !== 'custom'
|
|
47
|
+
subvariant !== 'custom' &&
|
|
48
|
+
!hiddenUI?.includes(HiddenUI.RouteCardPriceImpact)
|
|
48
49
|
? { ...route.fromToken, amount: BigInt(route.fromAmount) }
|
|
49
50
|
: undefined
|
|
50
51
|
|
package/src/config/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const name = '@lifi/widget'
|
|
2
|
-
export const version = '3.
|
|
2
|
+
export const version = '3.37.0'
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { createInstance, type i18n } from 'i18next'
|
|
2
|
-
import { useMemo, useRef } from 'react'
|
|
2
|
+
import { useEffect, useMemo, useRef } from 'react'
|
|
3
3
|
import { I18nextProvider } from 'react-i18next'
|
|
4
|
+
import { useLanguages } from '../../hooks/useLanguages.js'
|
|
5
|
+
import { useSettingsStore } from '../../stores/settings/SettingsStore.js'
|
|
4
6
|
import { useSettings } from '../../stores/settings/useSettings.js'
|
|
5
7
|
import { compactNumberFormatter } from '../../utils/compactNumberFormatter.js'
|
|
6
8
|
import { currencyExtendedFormatter } from '../../utils/currencyExtendedFormatter.js'
|
|
@@ -92,5 +94,40 @@ export const I18nProvider: React.FC<React.PropsWithChildren> = ({
|
|
|
92
94
|
return i18n
|
|
93
95
|
}, [language, languageResources, languages?.default, languageCache])
|
|
94
96
|
|
|
95
|
-
return
|
|
97
|
+
return (
|
|
98
|
+
<I18nextProvider i18n={i18nInstance}>
|
|
99
|
+
{children}
|
|
100
|
+
<DefaultLanguageHandler />
|
|
101
|
+
</I18nextProvider>
|
|
102
|
+
)
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Sync language settings internally when config.languages.default changes externally
|
|
106
|
+
const DefaultLanguageHandler: React.FC = () => {
|
|
107
|
+
const { languages } = useWidgetConfig()
|
|
108
|
+
const [lastDefaultLanguage, setValue] = useSettingsStore((state) => [
|
|
109
|
+
state.lastDefaultLanguage,
|
|
110
|
+
state.setValue,
|
|
111
|
+
])
|
|
112
|
+
const { setLanguageWithCode: setLanguage } = useLanguages()
|
|
113
|
+
|
|
114
|
+
useEffect(() => {
|
|
115
|
+
const currentDefaultLanguage = languages?.default
|
|
116
|
+
|
|
117
|
+
const defaultLanguageChanged =
|
|
118
|
+
currentDefaultLanguage && currentDefaultLanguage !== lastDefaultLanguage
|
|
119
|
+
|
|
120
|
+
if (!defaultLanguageChanged) {
|
|
121
|
+
return
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
const updateLanguage = async () => {
|
|
125
|
+
await setLanguage(currentDefaultLanguage)
|
|
126
|
+
setValue('lastDefaultLanguage', currentDefaultLanguage)
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
updateLanguage()
|
|
130
|
+
}, [languages?.default, setValue, lastDefaultLanguage, setLanguage])
|
|
131
|
+
|
|
132
|
+
return null
|
|
96
133
|
}
|
|
@@ -4,6 +4,7 @@ export const getStateValues = (state: SettingsState): SettingsProps => ({
|
|
|
4
4
|
gasPrice: state.gasPrice,
|
|
5
5
|
language: state.language,
|
|
6
6
|
languageCache: state.languageCache,
|
|
7
|
+
lastDefaultLanguage: state.lastDefaultLanguage,
|
|
7
8
|
routePriority: state.routePriority,
|
|
8
9
|
enabledAutoRefuel: state.enabledAutoRefuel,
|
|
9
10
|
slippage: state.slippage,
|
package/src/types/widget.ts
CHANGED
|
@@ -116,6 +116,7 @@ export enum HiddenUI {
|
|
|
116
116
|
IntegratorStepDetails = 'integratorStepDetails',
|
|
117
117
|
ReverseTokensButton = 'reverseTokensButton',
|
|
118
118
|
RouteTokenDescription = 'routeTokenDescription',
|
|
119
|
+
RouteCardPriceImpact = 'routeCardPriceImpact',
|
|
119
120
|
ChainSelect = 'chainSelect',
|
|
120
121
|
BridgesSettings = 'bridgesSettings',
|
|
121
122
|
AddressBookConnectedWallets = 'addressBookConnectedWallets',
|