@lifi/widget 3.0.0-alpha.21 → 3.0.0-alpha.23
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/App.tsx +16 -17
- package/AppDrawer.tsx +2 -2
- package/_cjs/App.js +2 -3
- package/_cjs/App.js.map +1 -1
- package/_cjs/AppDrawer.d.ts +2 -2
- package/_cjs/components/AccountAvatar.js +2 -2
- package/_cjs/components/AccountAvatar.js.map +1 -1
- package/_cjs/components/AmountInput/AmountInputEndAdornment.js +11 -7
- package/_cjs/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
- package/_cjs/components/Routes/RoutesExpanded.js +1 -1
- package/_cjs/components/Routes/RoutesExpanded.js.map +1 -1
- package/_cjs/components/TokenAvatar/TokenAvatar.style.js +4 -0
- package/_cjs/components/TokenAvatar/TokenAvatar.style.js.map +1 -1
- package/_cjs/components/TokenList/TokenList.js +5 -2
- package/_cjs/components/TokenList/TokenList.js.map +1 -1
- package/_cjs/components/TokenList/VirtualizedTokenList.js +41 -19
- package/_cjs/components/TokenList/VirtualizedTokenList.js.map +1 -1
- package/_cjs/components/TokenList/types.d.ts +3 -2
- package/_cjs/config/version.d.ts +1 -1
- package/_cjs/config/version.js +1 -1
- package/_cjs/hooks/index.d.ts +0 -1
- package/_cjs/hooks/index.js +0 -1
- package/_cjs/hooks/index.js.map +1 -1
- package/_cjs/hooks/useAvailableChains.js +3 -3
- package/_cjs/hooks/useAvailableChains.js.map +1 -1
- package/_cjs/hooks/useDebouncedWatch.d.ts +1 -1
- package/_cjs/hooks/useRoutes.js +49 -25
- package/_cjs/hooks/useRoutes.js.map +1 -1
- package/_cjs/hooks/useSettingMonitor.js +8 -12
- package/_cjs/hooks/useSettingMonitor.js.map +1 -1
- package/_cjs/hooks/useToken.d.ts +1 -1
- package/_cjs/hooks/useTokenAddressBalance.d.ts +3 -2
- package/_cjs/hooks/useTokenAddressBalance.js.map +1 -1
- package/_cjs/hooks/useTokenBalances.d.ts +3 -2
- package/_cjs/hooks/useTokenBalances.js +33 -14
- package/_cjs/hooks/useTokenBalances.js.map +1 -1
- package/_cjs/hooks/useTokens.d.ts +3 -1
- package/_cjs/hooks/useTokens.js +44 -31
- package/_cjs/hooks/useTokens.js.map +1 -1
- package/_cjs/i18n/en.json +3 -1
- package/_cjs/pages/RoutesPage/RoutesPage.js +1 -1
- package/_cjs/pages/RoutesPage/RoutesPage.js.map +1 -1
- package/_cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +10 -27
- package/_cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js.map +1 -1
- package/_cjs/pages/SettingsPage/BridgeAndExchangeSettings.js +2 -2
- package/_cjs/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
- package/_cjs/stores/form/createFormStore.js +10 -6
- package/_cjs/stores/form/createFormStore.js.map +1 -1
- package/_cjs/stores/form/types.d.ts +3 -14
- package/_cjs/stores/form/types.js.map +1 -1
- package/_cjs/stores/form/useFieldController.d.ts +1 -1
- package/_cjs/stores/form/useFieldValues.d.ts +1 -1
- package/_cjs/stores/settings/types.d.ts +10 -9
- package/_cjs/stores/settings/types.js.map +1 -1
- package/_cjs/stores/settings/useSettingsStore.js +40 -30
- package/_cjs/stores/settings/useSettingsStore.js.map +1 -1
- package/_cjs/types/token.d.ts +1 -0
- package/_cjs/types/widget.d.ts +9 -8
- package/_esm/App.js +2 -3
- package/_esm/App.js.map +1 -1
- package/_esm/AppDrawer.d.ts +2 -2
- package/_esm/components/AccountAvatar.js +2 -2
- package/_esm/components/AccountAvatar.js.map +1 -1
- package/_esm/components/AmountInput/AmountInputEndAdornment.js +11 -7
- package/_esm/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
- package/_esm/components/Routes/RoutesExpanded.js +1 -1
- package/_esm/components/Routes/RoutesExpanded.js.map +1 -1
- package/_esm/components/TokenAvatar/TokenAvatar.style.js +4 -0
- package/_esm/components/TokenAvatar/TokenAvatar.style.js.map +1 -1
- package/_esm/components/TokenList/TokenList.js +6 -3
- package/_esm/components/TokenList/TokenList.js.map +1 -1
- package/_esm/components/TokenList/VirtualizedTokenList.js +41 -19
- package/_esm/components/TokenList/VirtualizedTokenList.js.map +1 -1
- package/_esm/components/TokenList/types.d.ts +3 -2
- package/_esm/config/version.d.ts +1 -1
- package/_esm/config/version.js +1 -1
- package/_esm/hooks/index.d.ts +0 -1
- package/_esm/hooks/index.js +0 -1
- package/_esm/hooks/index.js.map +1 -1
- package/_esm/hooks/useAvailableChains.js +3 -3
- package/_esm/hooks/useAvailableChains.js.map +1 -1
- package/_esm/hooks/useDebouncedWatch.d.ts +1 -1
- package/_esm/hooks/useRoutes.js +49 -25
- package/_esm/hooks/useRoutes.js.map +1 -1
- package/_esm/hooks/useSettingMonitor.js +8 -12
- package/_esm/hooks/useSettingMonitor.js.map +1 -1
- package/_esm/hooks/useToken.d.ts +1 -1
- package/_esm/hooks/useTokenAddressBalance.d.ts +3 -2
- package/_esm/hooks/useTokenAddressBalance.js.map +1 -1
- package/_esm/hooks/useTokenBalances.d.ts +3 -2
- package/_esm/hooks/useTokenBalances.js +33 -14
- package/_esm/hooks/useTokenBalances.js.map +1 -1
- package/_esm/hooks/useTokens.d.ts +3 -1
- package/_esm/hooks/useTokens.js +44 -31
- package/_esm/hooks/useTokens.js.map +1 -1
- package/_esm/i18n/en.json +3 -1
- package/_esm/pages/RoutesPage/RoutesPage.js +1 -1
- package/_esm/pages/RoutesPage/RoutesPage.js.map +1 -1
- package/_esm/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +10 -27
- package/_esm/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js.map +1 -1
- package/_esm/pages/SettingsPage/BridgeAndExchangeSettings.js +2 -2
- package/_esm/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
- package/_esm/stores/form/createFormStore.js +10 -6
- package/_esm/stores/form/createFormStore.js.map +1 -1
- package/_esm/stores/form/types.d.ts +3 -14
- package/_esm/stores/form/types.js.map +1 -1
- package/_esm/stores/form/useFieldController.d.ts +1 -1
- package/_esm/stores/form/useFieldValues.d.ts +1 -1
- package/_esm/stores/settings/types.d.ts +10 -9
- package/_esm/stores/settings/types.js.map +1 -1
- package/_esm/stores/settings/useSettingsStore.js +40 -30
- package/_esm/stores/settings/useSettingsStore.js.map +1 -1
- package/_esm/types/token.d.ts +1 -0
- package/_esm/types/widget.d.ts +9 -8
- package/components/AccountAvatar.tsx +4 -7
- package/components/AmountInput/AmountInputEndAdornment.tsx +15 -12
- package/components/Routes/RoutesExpanded.tsx +1 -1
- package/components/TokenAvatar/TokenAvatar.style.tsx +4 -0
- package/components/TokenList/TokenList.tsx +8 -2
- package/components/TokenList/VirtualizedTokenList.tsx +63 -41
- package/components/TokenList/types.ts +3 -2
- package/config/version.ts +1 -1
- package/hooks/index.ts +0 -1
- package/hooks/useAvailableChains.ts +7 -4
- package/hooks/useRoutes.ts +58 -31
- package/hooks/useSettingMonitor.ts +20 -21
- package/hooks/useTokenAddressBalance.ts +2 -1
- package/hooks/useTokenBalances.ts +34 -29
- package/hooks/useTokens.ts +65 -36
- package/i18n/en.json +3 -1
- package/package.json +9 -9
- package/pages/RoutesPage/RoutesPage.tsx +1 -1
- package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.tsx +16 -35
- package/pages/SettingsPage/BridgeAndExchangeSettings.tsx +2 -2
- package/stores/form/createFormStore.ts +15 -15
- package/stores/form/types.ts +3 -14
- package/stores/settings/types.ts +10 -13
- package/stores/settings/useSettingsStore.ts +51 -53
- package/types/token.ts +1 -0
- package/types/widget.ts +10 -9
- package/_cjs/hooks/useFeaturedTokens.d.ts +0 -1
- package/_cjs/hooks/useFeaturedTokens.js +0 -11
- package/_cjs/hooks/useFeaturedTokens.js.map +0 -1
- package/_esm/hooks/useFeaturedTokens.d.ts +0 -1
- package/_esm/hooks/useFeaturedTokens.js +0 -7
- package/_esm/hooks/useFeaturedTokens.js.map +0 -1
- package/hooks/useFeaturedTokens.ts +0 -12
|
@@ -30,6 +30,6 @@ export const RoutesPage = () => {
|
|
|
30
30
|
.setAction(_jsx(ProgressToNextUpdate, { updatedAt: dataUpdatedAt || new Date().getTime(), timeToUpdate: refetchTime, isLoading: isFetching, onClick: () => refetch(), sx: { marginRight: -1 }, size: "medium" }));
|
|
31
31
|
}, [dataUpdatedAt, headerStoreContext, isFetching, refetch, refetchTime]);
|
|
32
32
|
const routeNotFound = !routes?.length && !isLoading && !isFetching;
|
|
33
|
-
return (_jsx(Stack, { direction: "column", spacing: 2, flex: 1, children: routeNotFound ? (_jsx(RouteNotFoundCard, {})) : isLoading ? (Array.from({ length: 3 }).map((_, index) => (_jsx(RouteCardSkeleton, {}, index)))) : (routes?.map((route, index) => (_jsx(RouteCard, { route: route, onClick: () => handleRouteClick(route), active: index === 0, expanded: routes?.length === 1 },
|
|
33
|
+
return (_jsx(Stack, { direction: "column", spacing: 2, flex: 1, children: routeNotFound ? (_jsx(RouteNotFoundCard, {})) : isLoading ? (Array.from({ length: 3 }).map((_, index) => (_jsx(RouteCardSkeleton, {}, index)))) : (routes?.map((route, index) => (_jsx(RouteCard, { route: route, onClick: () => handleRouteClick(route), active: index === 0, expanded: routes?.length === 1 }, index)))) }));
|
|
34
34
|
};
|
|
35
35
|
//# sourceMappingURL=RoutesPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoutesPage.js","sourceRoot":"","sources":["../../../pages/RoutesPage/RoutesPage.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,MAAM,CAAC,MAAM,UAAU,GAAuB,GAAG,EAAE;IACjD,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAC;IACrD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,GAC1E,SAAS,EAAE,CAAC;IACd,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IAEnD,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAE,EAAE;QACxC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,QAAQ,CAAC,gBAAgB,CAAC,oBAAoB,EAAE;YAC9C,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;YACjD,YAAY,EAAE,CAAC;QACjB,CAAC;QACD,kEAAkE;QAClE,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,kBAAkB;aACtB,QAAQ,EAAE;aACV,SAAS,CACR,KAAC,oBAAoB,IACnB,SAAS,EAAE,aAAa,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAChD,YAAY,EAAE,WAAW,EACzB,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EACxB,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EACvB,IAAI,EAAC,QAAQ,GACb,CACH,CAAC;IACN,CAAC,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IAE1E,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC;IAEnE,OAAO,CACL,KAAC,KAAK,IAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,YAC1C,aAAa,CAAC,CAAC,CAAC,CACf,KAAC,iBAAiB,KAAG,CACtB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACd,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1C,KAAC,iBAAiB,MAAM,KAAK,CAAI,CAClC,CAAC,CACH,CAAC,CAAC,CAAC,CACF,MAAM,EAAE,GAAG,CAAC,CAAC,KAAY,EAAE,KAAa,EAAE,EAAE,CAAC,CAC3C,KAAC,SAAS,IAER,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,EACtC,MAAM,EAAE,KAAK,KAAK,CAAC,EACnB,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC,IAJzB,KAAK,
|
|
1
|
+
{"version":3,"file":"RoutesPage.js","sourceRoot":"","sources":["../../../pages/RoutesPage/RoutesPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -22,41 +22,24 @@ const SelectAllCheckbox = ({ allCheckboxesSelected, anyCheckboxesSelected, onCli
|
|
|
22
22
|
export const SelectEnabledToolsPage = ({ type }) => {
|
|
23
23
|
const typeKey = type.toLowerCase();
|
|
24
24
|
const { tools } = useTools();
|
|
25
|
-
const [enabledTools,
|
|
25
|
+
const [enabledTools, disabledTools, setToolValue, toggleTools] = useSettingsStore((state) => [
|
|
26
|
+
state[`enabled${type}`],
|
|
27
|
+
state[`disabled${type}`],
|
|
28
|
+
state.setToolValue,
|
|
29
|
+
state.toggleTools,
|
|
30
|
+
], shallow);
|
|
26
31
|
const headerStoreContext = useHeaderStoreContext();
|
|
27
32
|
const handleClick = (key) => {
|
|
28
|
-
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
const toolKeys = tools[typeKey].map((tool) => tool.key);
|
|
32
|
-
if (enabledTools?.includes(key)) {
|
|
33
|
-
setTools(type, enabledTools.filter((toolKey) => toolKey !== key), toolKeys);
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
setTools(type, [...enabledTools, key], toolKeys);
|
|
37
|
-
}
|
|
33
|
+
setToolValue(type, key, !enabledTools[key]);
|
|
38
34
|
};
|
|
39
35
|
useEffect(() => {
|
|
40
|
-
const allToolsSelected = tools?.[typeKey].length === enabledTools.length;
|
|
41
|
-
const toggleCheckboxes = () => {
|
|
42
|
-
if (!tools) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
const toolKeys = tools[typeKey].map((tool) => tool.key);
|
|
46
|
-
if (allToolsSelected) {
|
|
47
|
-
setTools(type, [], toolKeys);
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
setTools(type, toolKeys, toolKeys);
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
36
|
return headerStoreContext
|
|
54
37
|
.getState()
|
|
55
|
-
.setAction(_jsx(SelectAllCheckbox, { allCheckboxesSelected:
|
|
56
|
-
}, [
|
|
38
|
+
.setAction(_jsx(SelectAllCheckbox, { allCheckboxesSelected: !disabledTools.length, anyCheckboxesSelected: Boolean(disabledTools.length), onClick: () => toggleTools(type) }));
|
|
39
|
+
}, [disabledTools.length, headerStoreContext, toggleTools, type]);
|
|
57
40
|
return (_jsx(PageContainer, { disableGutters: true, children: _jsx(List, { sx: {
|
|
58
41
|
paddingLeft: 1.5,
|
|
59
42
|
paddingRight: 1.5,
|
|
60
|
-
}, children: tools?.[typeKey].map((tool) => (_jsxs(SettingsListItemButton, { onClick: () => handleClick(tool.key), children: [_jsx(ListItemAvatar, { children: _jsx(Avatar, { src: tool.logoURI, alt: tool.name, children: tool.name[0] }) }), _jsx(ListItemText, { primary: tool.name }), enabledTools
|
|
43
|
+
}, children: tools?.[typeKey].map((tool) => (_jsxs(SettingsListItemButton, { onClick: () => handleClick(tool.key), children: [_jsx(ListItemAvatar, { children: _jsx(Avatar, { src: tool.logoURI, alt: tool.name, children: tool.name[0] }) }), _jsx(ListItemText, { primary: tool.name }), enabledTools[tool.key] && _jsx(CheckIcon, { color: "primary" })] }, tool.name))) }) }));
|
|
61
44
|
};
|
|
62
45
|
//# sourceMappingURL=SelectEnabledToolsPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectEnabledToolsPage.js","sourceRoot":"","sources":["../../../pages/SelectEnabledToolsPage/SelectEnabledToolsPage.tsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAClD,OAAO,gCAAgC,MAAM,kDAAkD,CAAC;AAChG,OAAO,oBAAoB,MAAM,sCAAsC,CAAC;AACxE,OAAO,iCAAiC,MAAM,mDAAmD,CAAC;AAClG,OAAO,EACL,MAAM,EACN,UAAU,EACV,IAAI,EACJ,cAAc,EACd,OAAO,GACR,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAQvE,MAAM,iBAAiB,GAAqC,CAAC,EAC3D,qBAAqB,EACrB,qBAAqB,EACrB,OAAO,GACR,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,qBAAqB;QACxC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAC1B,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAE3B,OAAO,CACL,KAAC,OAAO,IAAC,KAAK,EAAE,YAAY,EAAE,KAAK,kBACjC,KAAC,UAAU,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,KAAK,EAAC,OAAO,EAAE,OAAO,YAClD,qBAAqB,CAAC,CAAC,CAAC,CACvB,KAAC,oBAAoB,KAAG,CACzB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAC1B,KAAC,iCAAiC,KAAG,CACtC,CAAC,CAAC,CAAC,CACF,KAAC,gCAAgC,KAAG,CACrC,GACU,GACL,CACX,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAE9B,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAChB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAA6B,CAAC;IAC9D,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,CAAC,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"SelectEnabledToolsPage.js","sourceRoot":"","sources":["../../../pages/SelectEnabledToolsPage/SelectEnabledToolsPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,10 @@ import SwapHorizIcon from '@mui/icons-material/esm/SwapHoriz';
|
|
|
4
4
|
import { useTranslation } from 'react-i18next';
|
|
5
5
|
import { useNavigate } from 'react-router-dom';
|
|
6
6
|
import { shallow } from 'zustand/shallow';
|
|
7
|
+
import { CardButton } from '../../components/Card';
|
|
7
8
|
import { useSettingMonitor } from '../../hooks';
|
|
8
9
|
import { useSettingsStore } from '../../stores';
|
|
9
10
|
import { navigationRoutes } from '../../utils';
|
|
10
|
-
import { CardButton } from '../../components/Card';
|
|
11
11
|
import { BadgedValue } from './SettingsCard';
|
|
12
12
|
const supportedIcons = {
|
|
13
13
|
Bridges: AirlineStopsIcon,
|
|
@@ -18,7 +18,7 @@ export const BridgeAndExchangeSettings = ({ type }) => {
|
|
|
18
18
|
const { t } = useTranslation();
|
|
19
19
|
const navigate = useNavigate();
|
|
20
20
|
const [enabledTools, tools] = useSettingsStore((state) => {
|
|
21
|
-
const enabledTools = Object.values(state[`
|
|
21
|
+
const enabledTools = Object.values(state[`enabled${type}`]);
|
|
22
22
|
return [enabledTools.filter(Boolean).length, enabledTools.length];
|
|
23
23
|
}, shallow);
|
|
24
24
|
const customisationLookUp = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BridgeAndExchangeSettings.js","sourceRoot":"","sources":["../../../pages/SettingsPage/BridgeAndExchangeSettings.tsx"],"names":[],"mappings":";AAAA,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"BridgeAndExchangeSettings.js","sourceRoot":"","sources":["../../../pages/SettingsPage/BridgeAndExchangeSettings.tsx"],"names":[],"mappings":";AAAA,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,cAAc,GAAG;IACrB,OAAO,EAAE,gBAAgB;IACzB,SAAS,EAAE,aAAa;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAEjC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAChB,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACrE,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE;QACvD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC,EAAE,OAAO,CAAC,CAAC;IAEZ,MAAM,mBAAmB,GAAG;QAC1B,OAAO,EAAE,gBAAgB;QACzB,SAAS,EAAE,kBAAkB;KAC9B,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAA6B,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAElC,OAAO,CACL,KAAC,UAAU,IACT,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,KAAC,IAAI,KAAG,EACd,KAAK,EAAE,CAAC,CAAC,mBAAmB,IAAI,EAAE,CAAC,YAEnC,KAAC,WAAW,IACV,UAAU,EAAC,MAAM,EACjB,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,YACpC,GAAG,YAAY,IAAI,KAAK,EAAE,GAAe,GAChC,CACd,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -15,15 +15,19 @@ const defaultValueToFormValue = (value) => ({
|
|
|
15
15
|
value,
|
|
16
16
|
});
|
|
17
17
|
const valuesToFormValues = (defaultValues) => {
|
|
18
|
-
return Object.keys(defaultValues).reduce((accum, key) => {
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
return Object.keys(defaultValues).reduce((accum, key) => ({
|
|
19
|
+
...accum,
|
|
20
|
+
[key]: defaultValueToFormValue(defaultValues[key]),
|
|
21
|
+
}), {});
|
|
21
22
|
};
|
|
22
23
|
const isString = (str) => typeof str === 'string' || str instanceof String;
|
|
23
24
|
const getUpdatedTouchedFields = (userValues) => {
|
|
24
|
-
return Object.keys(userValues).reduce((accum, key) =>
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
return Object.keys(userValues).reduce((accum, key) => {
|
|
26
|
+
if (userValues[key]?.isTouched) {
|
|
27
|
+
accum[key] = true;
|
|
28
|
+
}
|
|
29
|
+
return accum;
|
|
30
|
+
}, {});
|
|
27
31
|
};
|
|
28
32
|
const mergeDefaultFormValues = (userValues, defaultValues) => Object.keys(defaultValues).reduce((accum, key) => {
|
|
29
33
|
const formValue = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createFormStore.js","sourceRoot":"","sources":["../../../stores/form/createFormStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"createFormStore.js","sourceRoot":"","sources":["../../../stores/form/createFormStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,20 +20,9 @@ export interface FormValueControl<T> {
|
|
|
20
20
|
isDirty: boolean;
|
|
21
21
|
value: T;
|
|
22
22
|
}
|
|
23
|
-
export
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
fromChain?: FormValueControl<number | undefined>;
|
|
27
|
-
fromToken?: FormValueControl<string | undefined>;
|
|
28
|
-
toAddress: FormValueControl<string>;
|
|
29
|
-
toAmount: FormValueControl<string>;
|
|
30
|
-
toChain?: FormValueControl<number | undefined>;
|
|
31
|
-
toContractAddress: FormValueControl<string>;
|
|
32
|
-
toContractCallData: FormValueControl<string>;
|
|
33
|
-
toContractGasLimit: FormValueControl<string>;
|
|
34
|
-
toToken?: FormValueControl<string | undefined>;
|
|
35
|
-
tokenSearchFilter: FormValueControl<string>;
|
|
36
|
-
}
|
|
23
|
+
export type FormValues = {
|
|
24
|
+
[Property in keyof DefaultValues]: FormValueControl<DefaultValues[Property]>;
|
|
25
|
+
};
|
|
37
26
|
export type FormFieldNames = keyof FormValues;
|
|
38
27
|
export type ExtractValueType<T> = T extends FormValueControl<infer U> ? U : never;
|
|
39
28
|
export type FormFieldArray<T extends FormFieldNames[]> = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../stores/form/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../stores/form/types.ts"],"names":[],"mappings":"AAwGA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,WAAW,EAAE,CAAC,QAAkB,EAA2B,EAAE,CAC3D,GAAG,QAAQ,OAAO;IACpB,WAAW,EAAE,CAAC,QAAkB,EAA2B,EAAE,CAC3D,GAAG,QAAQ,OAAO;IACpB,YAAY,EAAE,CAAC,QAAkB,EAA6B,EAAE,CAC9D,GAAG,QAAQ,QAAQ;CACtB,CAAC"}
|
|
@@ -5,7 +5,7 @@ interface UseFieldControllerProps {
|
|
|
5
5
|
export declare const useFieldController: ({ name }: UseFieldControllerProps) => {
|
|
6
6
|
onChange: (newValue: string | number | undefined) => void;
|
|
7
7
|
onBlur: () => void;
|
|
8
|
-
name: keyof import("./types").
|
|
8
|
+
name: keyof import("./types").DefaultValues;
|
|
9
9
|
value: string | number | undefined;
|
|
10
10
|
};
|
|
11
11
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { FormFieldArray } from './types';
|
|
2
|
-
export declare const useFieldValues: <T extends (keyof import("./types").
|
|
2
|
+
export declare const useFieldValues: <T extends (keyof import("./types").DefaultValues)[]>(...names: T) => FormFieldArray<T>;
|
|
@@ -2,11 +2,11 @@ import type { Order } from '@lifi/sdk';
|
|
|
2
2
|
import type { PropsWithChildren } from 'react';
|
|
3
3
|
import type { StoreApi } from 'zustand';
|
|
4
4
|
import type { UseBoundStoreWithEqualityFn } from 'zustand/traditional';
|
|
5
|
-
import type { Appearance
|
|
5
|
+
import type { Appearance } from '../../types';
|
|
6
6
|
export type ValueSetter<S> = <K extends keyof S>(key: K, value: S[Extract<K, string>]) => void;
|
|
7
7
|
export type ValuesSetter<S> = <K extends keyof S>(values: Record<K, S[Extract<K, string>]>) => void;
|
|
8
|
-
export
|
|
9
|
-
export
|
|
8
|
+
export declare const SettingsToolTypes: readonly ["Bridges", "Exchanges"];
|
|
9
|
+
export type SettingsToolType = (typeof SettingsToolTypes)[number];
|
|
10
10
|
export interface SettingsProps {
|
|
11
11
|
appearance: Appearance;
|
|
12
12
|
gasPrice?: string;
|
|
@@ -15,17 +15,18 @@ export interface SettingsProps {
|
|
|
15
15
|
enabledAutoRefuel: boolean;
|
|
16
16
|
showDestinationWallet: boolean;
|
|
17
17
|
slippage?: string;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
disabledBridges: string[];
|
|
19
|
+
enabledBridges: Record<string, boolean>;
|
|
20
|
+
disabledExchanges: string[];
|
|
21
|
+
enabledExchanges: Record<string, boolean>;
|
|
22
22
|
}
|
|
23
23
|
export interface SettingsState extends SettingsProps {
|
|
24
24
|
setValue: ValueSetter<SettingsProps>;
|
|
25
25
|
setValues: ValuesSetter<SettingsProps>;
|
|
26
26
|
initializeTools(toolType: SettingsToolType, tools: string[], reset?: boolean): void;
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
setToolValue(toolType: SettingsToolType, tool: string, value: boolean): void;
|
|
28
|
+
toggleTools(toolType: SettingsToolType): void;
|
|
29
|
+
reset(bridges: string[], exchanges: string[]): void;
|
|
29
30
|
}
|
|
30
31
|
export interface SendToWalletState {
|
|
31
32
|
showSendToWallet: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../stores/settings/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../stores/settings/types.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,WAAW,CAAU,CAAC"}
|
|
@@ -12,8 +12,10 @@ export const defaultSettings = {
|
|
|
12
12
|
gasPrice: 'normal',
|
|
13
13
|
enabledAutoRefuel: true,
|
|
14
14
|
showDestinationWallet: true,
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
disabledBridges: [],
|
|
16
|
+
disabledExchanges: [],
|
|
17
|
+
enabledBridges: {},
|
|
18
|
+
enabledExchanges: {},
|
|
17
19
|
};
|
|
18
20
|
export const useSettingsStore = createWithEqualityFn(persist((set, get) => ({
|
|
19
21
|
...defaultSettings,
|
|
@@ -35,37 +37,47 @@ export const useSettingsStore = createWithEqualityFn(persist((set, get) => ({
|
|
|
35
37
|
}
|
|
36
38
|
set((state) => {
|
|
37
39
|
const updatedState = { ...state };
|
|
38
|
-
if (
|
|
40
|
+
if (!reset) {
|
|
39
41
|
// Add new tools
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}, updatedState[`_enabled${toolType}`]);
|
|
42
|
+
tools.forEach((tool) => {
|
|
43
|
+
if (!Object.hasOwn(updatedState[`enabled${toolType}`], tool)) {
|
|
44
|
+
updatedState[`enabled${toolType}`][tool] = true;
|
|
45
|
+
}
|
|
46
|
+
});
|
|
46
47
|
// Filter tools we no longer have
|
|
47
|
-
updatedState[`
|
|
48
|
+
updatedState[`enabled${toolType}`] = Object.fromEntries(Object.entries(updatedState[`enabled${toolType}`]).filter(([key]) => tools.includes(key)));
|
|
48
49
|
}
|
|
49
50
|
else {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}, {});
|
|
51
|
+
tools.forEach((tool) => {
|
|
52
|
+
updatedState[`enabled${toolType}`][tool] = true;
|
|
53
|
+
});
|
|
54
54
|
}
|
|
55
|
-
updatedState[`
|
|
56
|
-
.filter(([_, value]) => value)
|
|
57
|
-
.map(([key]) => key);
|
|
55
|
+
updatedState[`disabled${toolType}`] = Object.keys(updatedState[`enabled${toolType}`]).filter((key) => !updatedState[`enabled${toolType}`][key]);
|
|
58
56
|
return updatedState;
|
|
59
57
|
});
|
|
60
58
|
},
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
59
|
+
setToolValue: (toolType, tool, value) => set((state) => {
|
|
60
|
+
const enabledTools = {
|
|
61
|
+
...state[`enabled${toolType}`],
|
|
62
|
+
[tool]: value,
|
|
63
|
+
};
|
|
64
|
+
return {
|
|
65
|
+
[`enabled${toolType}`]: enabledTools,
|
|
66
|
+
[`disabled${toolType}`]: Object.keys(enabledTools).filter((key) => !enabledTools[key]),
|
|
67
|
+
};
|
|
68
|
+
}),
|
|
69
|
+
toggleTools: (toolType) => set((state) => {
|
|
70
|
+
const enabledTools = { ...state[`enabled${toolType}`] };
|
|
71
|
+
const enableAll = Boolean(state[`disabled${toolType}`].length);
|
|
72
|
+
for (const toolKey in enabledTools) {
|
|
73
|
+
enabledTools[toolKey] = enableAll;
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
[`enabled${toolType}`]: enabledTools,
|
|
77
|
+
[`disabled${toolType}`]: enableAll ? [] : Object.keys(enabledTools),
|
|
78
|
+
};
|
|
79
|
+
}),
|
|
80
|
+
reset: (bridges, exchanges) => {
|
|
69
81
|
const { appearance, ...restDefaultSettings } = defaultSettings;
|
|
70
82
|
set(() => ({
|
|
71
83
|
...restDefaultSettings,
|
|
@@ -76,17 +88,15 @@ export const useSettingsStore = createWithEqualityFn(persist((set, get) => ({
|
|
|
76
88
|
},
|
|
77
89
|
}), {
|
|
78
90
|
name: `li.fi-widget-settings`,
|
|
79
|
-
version:
|
|
91
|
+
version: 3,
|
|
80
92
|
partialize: (state) => {
|
|
81
|
-
const {
|
|
93
|
+
const { disabledBridges, disabledExchanges, ...partializedState } = state;
|
|
82
94
|
return partializedState;
|
|
83
95
|
},
|
|
84
96
|
merge: (persistedState, currentState) => {
|
|
85
97
|
const state = { ...currentState, ...persistedState };
|
|
86
98
|
SettingsToolTypes.forEach((toolType) => {
|
|
87
|
-
state[`
|
|
88
|
-
.filter(([_, value]) => value)
|
|
89
|
-
.map(([key]) => key);
|
|
99
|
+
state[`disabled${toolType}`] = Object.keys(persistedState[`enabled${toolType}`]).filter((key) => !persistedState[`enabled${toolType}`][key]);
|
|
90
100
|
});
|
|
91
101
|
return state;
|
|
92
102
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSettingsStore.js","sourceRoot":"","sources":["../../../stores/settings/useSettingsStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;AAErC,MAAM,CAAC,MAAM,2BAA2B,GAGpC;IACF,aAAa,EAAE,aAAa;IAC5B,QAAQ,EAAE,eAAe;IACzB,QAAQ,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAkB;IAC5C,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,QAAQ;IAClB,iBAAiB,EAAE,IAAI;IACvB,qBAAqB,EAAE,IAAI;IAC3B,cAAc,EAAE,EAAE;IAClB,gBAAgB,EAAE,EAAE;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,oBAAoB,CAClD,OAAO,CACL,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACb,GAAG,eAAe;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CACvB,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACT,CAAC,GAAG,CAAC,EAAE,KAAK;KACb,CAAC,CAAC;IACL,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CACpB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACZ,MAAM,YAAY,GAAkB,EAAE,GAAG,KAAK,EAAE,CAAC;QACjD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC9B,YAAY,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC;IACJ,eAAe,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACZ,MAAM,YAAY,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;YAClC,IAAI,
|
|
1
|
+
{"version":3,"file":"useSettingsStore.js","sourceRoot":"","sources":["../../../stores/settings/useSettingsStore.ts"],"names":[],"mappings":"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"}
|
package/_esm/types/token.d.ts
CHANGED
package/_esm/types/widget.d.ts
CHANGED
|
@@ -111,20 +111,13 @@ export interface WidgetConfig {
|
|
|
111
111
|
tokens?: {
|
|
112
112
|
featured?: StaticToken[];
|
|
113
113
|
include?: Token[];
|
|
114
|
+
popular?: StaticToken[];
|
|
114
115
|
} & AllowDeny<BaseToken>;
|
|
115
116
|
languages?: {
|
|
116
117
|
default?: LanguageKey;
|
|
117
118
|
} & AllowDeny<LanguageKey>;
|
|
118
119
|
languageResources?: LanguageResources;
|
|
119
120
|
}
|
|
120
|
-
export type WidgetDrawerProps = {
|
|
121
|
-
elementRef?: RefObject<HTMLDivElement>;
|
|
122
|
-
open?: boolean;
|
|
123
|
-
/**
|
|
124
|
-
* Make sure to make the onClose callback stable (e.g. using useCallback) to avoid causing re-renders of the entire widget
|
|
125
|
-
*/
|
|
126
|
-
onClose?(): void;
|
|
127
|
-
};
|
|
128
121
|
export interface WidgetConfigProps {
|
|
129
122
|
config: WidgetConfig;
|
|
130
123
|
}
|
|
@@ -132,3 +125,11 @@ export interface WidgetConfigPartialProps {
|
|
|
132
125
|
config?: Partial<WidgetConfig>;
|
|
133
126
|
}
|
|
134
127
|
export type WidgetProps = WidgetDrawerProps & WidgetConfig & WidgetConfigPartialProps;
|
|
128
|
+
export interface WidgetDrawerProps extends WidgetConfigPartialProps {
|
|
129
|
+
elementRef?: RefObject<HTMLDivElement>;
|
|
130
|
+
open?: boolean;
|
|
131
|
+
/**
|
|
132
|
+
* Make sure to make the onClose callback stable (e.g. using useCallback) to avoid causing re-renders of the entire widget
|
|
133
|
+
*/
|
|
134
|
+
onClose?(): void;
|
|
135
|
+
}
|
|
@@ -4,18 +4,13 @@ import { Avatar, Badge } from '@mui/material';
|
|
|
4
4
|
import type { Account } from '../hooks';
|
|
5
5
|
import { useChain } from '../hooks';
|
|
6
6
|
import { SmallAvatar } from './SmallAvatar';
|
|
7
|
+
import { AvatarDefault } from './TokenAvatar';
|
|
7
8
|
|
|
8
9
|
interface AccountAvatarProps {
|
|
9
10
|
chainId?: number;
|
|
10
11
|
account?: Account;
|
|
11
12
|
}
|
|
12
13
|
|
|
13
|
-
const WalletAvatar = () => (
|
|
14
|
-
<Avatar>
|
|
15
|
-
<WalletIcon sx={{ fontSize: 20 }} />
|
|
16
|
-
</Avatar>
|
|
17
|
-
);
|
|
18
|
-
|
|
19
14
|
export const AccountAvatar = ({ chainId, account }: AccountAvatarProps) => {
|
|
20
15
|
const { chain } = useChain(chainId);
|
|
21
16
|
|
|
@@ -30,7 +25,9 @@ export const AccountAvatar = ({ chainId, account }: AccountAvatarProps) => {
|
|
|
30
25
|
{account.connector?.name[0]}
|
|
31
26
|
</Avatar>
|
|
32
27
|
) : (
|
|
33
|
-
<
|
|
28
|
+
<AvatarDefault>
|
|
29
|
+
<WalletIcon sx={{ fontSize: 20 }} />
|
|
30
|
+
</AvatarDefault>
|
|
34
31
|
);
|
|
35
32
|
|
|
36
33
|
return chainId && chain?.logoURI ? (
|
|
@@ -27,27 +27,30 @@ export const AmountInputEndAdornment = ({ formType }: FormTypeProps) => {
|
|
|
27
27
|
const { token, isLoading } = useTokenAddressBalance(chainId, tokenAddress);
|
|
28
28
|
|
|
29
29
|
const handleMax = () => {
|
|
30
|
+
if (!token?.amount) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
30
33
|
const chain = getChainById(chainId);
|
|
31
|
-
let maxAmount = token
|
|
34
|
+
let maxAmount = token.amount;
|
|
32
35
|
if (
|
|
33
36
|
chain?.nativeToken.address === tokenAddress &&
|
|
34
37
|
data?.available &&
|
|
35
38
|
data?.recommended
|
|
36
39
|
) {
|
|
37
|
-
const tokenAmount = token?.amount ?? 0n;
|
|
38
40
|
const recommendedAmount = BigInt(data.recommended.amount) / 2n;
|
|
39
|
-
if (
|
|
40
|
-
maxAmount =
|
|
41
|
+
if (token.amount > recommendedAmount) {
|
|
42
|
+
maxAmount = token.amount - recommendedAmount;
|
|
41
43
|
}
|
|
42
44
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
45
|
+
if (maxAmount) {
|
|
46
|
+
setFieldValue(
|
|
47
|
+
FormKeyHelper.getAmountKey(formType),
|
|
48
|
+
formatUnits(maxAmount, token.decimals),
|
|
49
|
+
{
|
|
50
|
+
isTouched: true,
|
|
51
|
+
},
|
|
52
|
+
);
|
|
53
|
+
}
|
|
51
54
|
};
|
|
52
55
|
|
|
53
56
|
return (
|
|
@@ -17,6 +17,9 @@ export const TokenAvatarGroup = styled(AvatarGroup)(({ theme }) => ({
|
|
|
17
17
|
export const AvatarDefault = styled(Box)(({ theme }) => {
|
|
18
18
|
const root = theme.components?.MuiAvatar?.styleOverrides?.root as CSSObject;
|
|
19
19
|
return {
|
|
20
|
+
display: 'flex',
|
|
21
|
+
alignItems: 'center',
|
|
22
|
+
justifyContent: 'center',
|
|
20
23
|
background:
|
|
21
24
|
theme.palette.mode === 'light'
|
|
22
25
|
? theme.palette.grey[300]
|
|
@@ -24,6 +27,7 @@ export const AvatarDefault = styled(Box)(({ theme }) => {
|
|
|
24
27
|
borderRadius: '50%',
|
|
25
28
|
height: root?.height,
|
|
26
29
|
width: root?.width,
|
|
30
|
+
color: theme.palette.text.secondary,
|
|
27
31
|
};
|
|
28
32
|
});
|
|
29
33
|
|
|
@@ -2,6 +2,7 @@ import { Box } from '@mui/material';
|
|
|
2
2
|
import type { FC } from 'react';
|
|
3
3
|
import { useRef } from 'react';
|
|
4
4
|
import {
|
|
5
|
+
useAccount,
|
|
5
6
|
useChain,
|
|
6
7
|
useDebouncedWatch,
|
|
7
8
|
useTokenBalances,
|
|
@@ -27,6 +28,7 @@ export const TokenList: FC<TokenListProps> = ({
|
|
|
27
28
|
);
|
|
28
29
|
|
|
29
30
|
const { chain, isLoading: isChainLoading } = useChain(selectedChainId);
|
|
31
|
+
const { account } = useAccount({ chainType: chain?.chainType });
|
|
30
32
|
|
|
31
33
|
const {
|
|
32
34
|
tokens: chainTokens,
|
|
@@ -34,6 +36,7 @@ export const TokenList: FC<TokenListProps> = ({
|
|
|
34
36
|
isLoading: isTokensLoading,
|
|
35
37
|
isBalanceLoading,
|
|
36
38
|
featuredTokens,
|
|
39
|
+
popularTokens,
|
|
37
40
|
} = useTokenBalances(selectedChainId);
|
|
38
41
|
|
|
39
42
|
let filteredTokens = (tokensWithBalance ??
|
|
@@ -71,6 +74,9 @@ export const TokenList: FC<TokenListProps> = ({
|
|
|
71
74
|
: filteredTokens;
|
|
72
75
|
|
|
73
76
|
const handleTokenClick = useTokenSelect(formType, onClick);
|
|
77
|
+
const showCategories =
|
|
78
|
+
Boolean(featuredTokens?.length || popularTokens?.length) &&
|
|
79
|
+
!tokenSearchFilter;
|
|
74
80
|
|
|
75
81
|
return (
|
|
76
82
|
<Box ref={parentRef} style={{ height, overflow: 'auto' }}>
|
|
@@ -78,14 +84,14 @@ export const TokenList: FC<TokenListProps> = ({
|
|
|
78
84
|
<TokenNotFound formType={formType} />
|
|
79
85
|
) : null}
|
|
80
86
|
<VirtualizedTokenList
|
|
87
|
+
account={account}
|
|
81
88
|
tokens={tokens}
|
|
82
|
-
featuredTokensLength={featuredTokens?.length}
|
|
83
89
|
scrollElementRef={parentRef}
|
|
84
90
|
chainId={selectedChainId}
|
|
85
91
|
chain={chain}
|
|
86
92
|
isLoading={isLoading}
|
|
87
93
|
isBalanceLoading={isBalanceLoading}
|
|
88
|
-
|
|
94
|
+
showCategories={showCategories}
|
|
89
95
|
onClick={handleTokenClick}
|
|
90
96
|
/>
|
|
91
97
|
</Box>
|