@rash2x/bridge-widget 0.3.0 → 0.3.2
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/dist/evaa-bridge.cjs +59 -34
- package/dist/evaa-bridge.cjs.map +1 -1
- package/dist/evaa-bridge.mjs +59 -34
- package/dist/evaa-bridge.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/evaa-bridge.cjs
CHANGED
|
@@ -54,7 +54,7 @@ const card = require("@/components/ui/card");
|
|
|
54
54
|
const badge = require("@/components/ui/badge");
|
|
55
55
|
const common$1 = { "connecting": "Connecting…", "initializing": "Initializing...", "loading": "Loading...", "paste": "paste", "close": "Close", "zeroPlaceholder": "0", "nativeToken": "Native Token" };
|
|
56
56
|
const wallets$1 = { "addTonWallet": "Add TON wallet", "addEvmWallet": "Add EVM wallet", "connectTonWallet": "Connect TON wallet", "connectEvmWallet": "Connect EVM wallet", "initializingMetamask": "Initializing MetaMask SDK...", "initializingTronlink": "Initializing TronLink...", "failedToConnectTon": "Failed to connect to TON wallet", "failedToDisconnect": "Failed to disconnect", "metamaskConnectionError": "MetaMask connection error", "failedToConnectMetamask": "Failed to connect to MetaMask", "failedToDisconnectMetamask": "Failed to disconnect from MetaMask", "selectWallet": "Select Wallet", "tonWallets": "TON", "evmWallets": "EVM", "tronWallets": "TRON", "tonconnect": "TonConnect", "metaMask": "WalletConnect", "tronLink": "TronLink", "addTronWallet": "Add Tron wallet", "comingSoon": "Coming Soon", "connected": "CONNECTED", "disconnect": "Disconnect", "chooseWallet": "Choose wallet", "oneWalletPerEnv": "You can only connect one wallet per environment.", "connect": "Connect", "connectTronWallet": "Connect Tron wallet", "connectWallet": "Connect wallet" };
|
|
57
|
-
const bridge$1 = { "max": "Max", "sourceNetwork": "Source network", "destinationNetwork": "Destination network", "selectToken": "Select token", "selectNetwork": "Select network", "searchToken": "Search token", "searchDestinationChain": "Search destination chain", "myTokens": "My tokens", "allTokens": "All tokens", "willChangeSourceChain": "Will change source network", "willChangeSourceNetworkAndToken": "Will change source
|
|
57
|
+
const bridge$1 = { "max": "Max", "sourceNetwork": "Source network", "destinationNetwork": "Destination network", "selectToken": "Select token", "selectNetwork": "Select network", "searchToken": "Search token", "searchDestinationChain": "Search destination chain", "myTokens": "My tokens", "allTokens": "All tokens", "willChangeSourceChain": "Will change source network", "willChangeSourceNetworkAndToken": "Will change source token", "noBalancesFound": "No balances found.", "noResults": "No results", "sendToAnotherAddress": "Send to another address", "youWillReceive": "You will receive", "anotherAddressPlaceholder": "Address", "addressDoesntMatch": "Address doesn't match the {{network}} network", "checkBeforeTransfer": "Check correctness before transfer" };
|
|
58
58
|
const transaction$1 = { "enterAmount": "Enter amount", "transfer": "Transfer", "getQuote": "Get quote", "failed": "Transaction Failed", "confirm": "Confirm transaction", "signTransaction": "Sign in transaction in wallet", "quoting": "Quoting...", "inProgress": "Processing...", "checkingBalance": "Checking balance...", "insufficientBalance": "Insufficient balance", "amountTooSmall": "Min {{min}}", "amountTooLarge": "Max {{max}}", "success": "Success", "successTitle": "Success", "done": "Done", "hashCopied": "Hash copied to clipboard", "bridged": "Bridged", "transferTitle": "Transfer", "hash": "Hash", "finalFee": "Final Fee", "route": "Route", "estTime": "Est. Time", "slippage": "Slippage", "minimumReceived": "Minimum received", "totalFee": "Total Fee", "noRouteFound": "No route found", "notEnoughGas": "Not enough gas", "noRouteFoundForSettings": "No route found for current settings.", "tryAdjustSettings": "Try disabling Gas on Destination, or adjust amount/networks.", "quoteError": "Quote error" };
|
|
59
59
|
const app$1 = { "stargateWidgetName": "Stargate Bridge Widget", "liveWidget": "Live Widget", "getStarted": "Get Started" };
|
|
60
60
|
const settings$1 = { "title": "Settings", "gasOnDestination": "Gas on destination", "slippageTolerance": "Slippage tolerance", "routePriority": "Route Priority", "highSlippageWarning": "High slippage warning", "gasPresets": { "auto": "Auto", "none": "None", "medium": "Medium", "max": "Max" }, "routePresets": { "fastest": "Fastest", "cheapest": "Cheapest", "recommended": "Recommended" } };
|
|
@@ -70,7 +70,7 @@ const en = {
|
|
|
70
70
|
};
|
|
71
71
|
const common = { "connecting": "Подключение…", "initializing": "Инициализация...", "loading": "Загрузка...", "paste": "вставить", "close": "Закрыть", "zeroPlaceholder": "0", "nativeToken": "Нативный токен" };
|
|
72
72
|
const wallets = { "addTonWallet": "Добавить TON кошелёк", "addEvmWallet": "Добавить EVM кошелёк", "connectTonWallet": "Подключить TON кошелёк", "connectEvmWallet": "Подключить EVM кошелёк", "initializingMetamask": "Инициализация MetaMask SDK...", "initializingTronlink": "Инициализация TronLink...", "failedToConnectTon": "Не удалось подключиться к TON кошельку", "failedToDisconnect": "Не удалось отключиться", "metamaskConnectionError": "Ошибка подключения MetaMask", "failedToConnectMetamask": "Не удалось подключиться к MetaMask", "failedToDisconnectMetamask": "Не удалось отключиться от MetaMask", "selectWallet": "Выберите кошелёк", "tonWallets": "TON", "evmWallets": "EVM", "tronWallets": "TRON", "tonconnect": "TonConnect", "metaMask": "WalletConnect", "tronLink": "TronLink", "addTronWallet": "Добавить Tron кошелёк", "comingSoon": "Скоро", "connected": "ПОДКЛЮЧЕНО", "disconnect": "Отключить", "chooseWallet": "Выберите кошелёк", "oneWalletPerEnv": "Можно подключить только один кошелёк на окружение.", "connect": "Подключить", "connectTronWallet": "Подключить Tron кошелёк", "connectWallet": "Подключить кошелёк" };
|
|
73
|
-
const bridge = { "max": "Макс", "sourceNetwork": "Исходная сеть", "destinationNetwork": "Целевая сеть", "selectToken": "Выбрать токен", "selectNetwork": "Выбрать сеть", "searchToken": "Поиск токена", "searchDestinationChain": "Поиск целевой сети", "myTokens": "Мои токены", "allTokens": "Все токены", "willChangeSourceChain": "Сменит исходную сеть", "willChangeSourceNetworkAndToken": "Сменит
|
|
73
|
+
const bridge = { "max": "Макс", "sourceNetwork": "Исходная сеть", "destinationNetwork": "Целевая сеть", "selectToken": "Выбрать токен", "selectNetwork": "Выбрать сеть", "searchToken": "Поиск токена", "searchDestinationChain": "Поиск целевой сети", "myTokens": "Мои токены", "allTokens": "Все токены", "willChangeSourceChain": "Сменит исходную сеть", "willChangeSourceNetworkAndToken": "Сменит исходный токен", "noBalancesFound": "Балансы не найдены.", "noResults": "Нет результатов", "sendToAnotherAddress": "Отправить на другой адрес", "youWillReceive": "Вы получите", "anotherAddressPlaceholder": "Адрес", "addressDoesntMatch": "Адрес не соответствует сети {{network}}", "checkBeforeTransfer": "Проверьте корректность перед переводом" };
|
|
74
74
|
const transaction = { "enterAmount": "Введите сумму", "transfer": "Перевести", "getQuote": "Получить котировку", "quoting": "Расчет котировки...", "failed": "Ошибка транзакции", "confirm": "Подтвердите транзакцию", "signTransaction": "Подпишите транзакцию в кошельке", "inProgress": "Выполнение...", "checkingBalance": "Проверка баланса...", "insufficientBalance": "Недостаточно средств", "amountTooSmall": "Минимум {{min}}", "amountTooLarge": "Максимум {{max}}", "success": "Успех", "successTitle": "Успех", "done": "Готово", "hashCopied": "Хэш скопирован в буфер обмена", "bridged": "Переведено", "transferTitle": "Перевод", "hash": "Хэш", "finalFee": "Итоговая комиссия", "route": "Маршрут", "estTime": "Время", "slippage": "Проскальзывание", "minimumReceived": "Минимум к получению", "totalFee": "Общая комиссия", "noRouteFound": "Маршрут не найден", "notEnoughGas": "Недостаточно газа", "noRouteFoundForSettings": "Маршрут не найден для текущих настроек.", "tryAdjustSettings": "Попробуйте отключить Gas on Destination или измените сумму/сети.", "quoteError": "Ошибка котировки" };
|
|
75
75
|
const app = { "stargateWidgetName": "Виджет Stargate Bridge", "liveWidget": "Живой виджет", "getStarted": "Начало работы" };
|
|
76
76
|
const settings = { "title": "Настройки", "gasOnDestination": "Газ на назначении", "slippageTolerance": "Толерантность к проскальзыванию", "routePriority": "Приоритет маршрута", "highSlippageWarning": "Высокое проскальзывание", "gasPresets": { "auto": "Авто", "none": "Нет", "medium": "Средний", "max": "Макс" }, "routePresets": { "fastest": "Быстрейший", "cheapest": "Дешевейший", "recommended": "Рекомендуемый" } };
|
|
@@ -2285,7 +2285,7 @@ const SwapButton = () => {
|
|
|
2285
2285
|
variant: "secondary",
|
|
2286
2286
|
size: "sm",
|
|
2287
2287
|
className: utils.cn(
|
|
2288
|
-
"
|
|
2288
|
+
"backdrop-blur-md h-9 w-9",
|
|
2289
2289
|
"absolute top-1/2 -translate-y-1/2 left-1/2 -translate-x-1/2",
|
|
2290
2290
|
!canSwap || isSwapping ? "opacity-50 cursor-not-allowed" : "hover:scale-110"
|
|
2291
2291
|
),
|
|
@@ -2322,7 +2322,7 @@ const WalletBalance = (props) => {
|
|
|
2322
2322
|
variant: "ghost",
|
|
2323
2323
|
size: "sm",
|
|
2324
2324
|
onClick: onMaxClick,
|
|
2325
|
-
className: "h-auto p-0 px-0 text-xs font-medium
|
|
2325
|
+
className: "h-auto p-0 px-0 text-xs text-link font-medium underline hover:opacity-70 cursor-pointer rounded-none",
|
|
2326
2326
|
children: t("bridge.max")
|
|
2327
2327
|
}
|
|
2328
2328
|
)
|
|
@@ -2410,7 +2410,7 @@ const TokenInput = react.forwardRef(
|
|
|
2410
2410
|
[max, onAmountChange]
|
|
2411
2411
|
);
|
|
2412
2412
|
if (showSkeleton && readOnly) {
|
|
2413
|
-
return /* @__PURE__ */ jsxRuntime.jsx(skeleton.Skeleton, { className: utils.cn("h-8 my-2 w-1/3 rounded-md", className) });
|
|
2413
|
+
return /* @__PURE__ */ jsxRuntime.jsx(skeleton.Skeleton, { className: utils.cn("h-8 my-2 w-1/3 bg-secondary rounded-md", className) });
|
|
2414
2414
|
}
|
|
2415
2415
|
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2416
2416
|
input.Input,
|
|
@@ -2475,7 +2475,6 @@ const ChainSelectModal = ({
|
|
|
2475
2475
|
const [query, setQuery] = react.useState("");
|
|
2476
2476
|
const { setFromChain, chains, fromChain, toChain } = useChainsStore();
|
|
2477
2477
|
const { assetMatrix, selectedAssetSymbol, setSelectedAssetSymbol } = useTokensStore();
|
|
2478
|
-
console.log("allowedItems", allowedItems);
|
|
2479
2478
|
const handleClose = react.useCallback(() => {
|
|
2480
2479
|
setQuery("");
|
|
2481
2480
|
onClose();
|
|
@@ -2539,7 +2538,11 @@ const ChainSelectModal = ({
|
|
|
2539
2538
|
const filtered = q ? (items ?? []).filter(
|
|
2540
2539
|
(c) => c.name.toLowerCase().includes(q) || c.chainKey.toLowerCase().includes(q)
|
|
2541
2540
|
) : items ?? [];
|
|
2542
|
-
const groups = {
|
|
2541
|
+
const groups = {
|
|
2542
|
+
available: [],
|
|
2543
|
+
willChangeSrc: [],
|
|
2544
|
+
willChangeTokenAndSrc: []
|
|
2545
|
+
};
|
|
2543
2546
|
for (const chain of filtered) {
|
|
2544
2547
|
const isAllowed = allowedItems?.some((c) => c.chainKey === chain.chainKey) || false;
|
|
2545
2548
|
if (isAllowed) {
|
|
@@ -2560,7 +2563,13 @@ const ChainSelectModal = ({
|
|
|
2560
2563
|
groups.willChangeSrc.sort((a, b) => a.name.localeCompare(b.name));
|
|
2561
2564
|
groups.willChangeTokenAndSrc.sort((a, b) => a.name.localeCompare(b.name));
|
|
2562
2565
|
return groups;
|
|
2563
|
-
}, [
|
|
2566
|
+
}, [
|
|
2567
|
+
items,
|
|
2568
|
+
query,
|
|
2569
|
+
allowedItems,
|
|
2570
|
+
findCompatibleSrcChain,
|
|
2571
|
+
findCompatibleTokenAndSrcChain
|
|
2572
|
+
]);
|
|
2564
2573
|
const onChainPick = (chain, willChangeSrc = false, willChangeTokenAndSrc = false) => {
|
|
2565
2574
|
if (willChangeTokenAndSrc) {
|
|
2566
2575
|
const result = findCompatibleTokenAndSrcChain(chain);
|
|
@@ -2581,7 +2590,11 @@ const ChainSelectModal = ({
|
|
|
2581
2590
|
button.Button,
|
|
2582
2591
|
{
|
|
2583
2592
|
onClick: () => onChainPick(chain, willChangeSrc, willChangeTokenAndSrc),
|
|
2584
|
-
className:
|
|
2593
|
+
className: utils.cn(
|
|
2594
|
+
"w-full cursor-pointer flex shadow-none rounded-xs items-center justify-between gap-3 px-5 py-4 h-13 font-semibold capitalize bg-transparent hover:scale-100 hover:bg-accent",
|
|
2595
|
+
isSelected ? "bg-accent" : "",
|
|
2596
|
+
willChangeSrc || willChangeTokenAndSrc ? "opacity-50 hover:opacity-100" : ""
|
|
2597
|
+
),
|
|
2585
2598
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
2586
2599
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2587
2600
|
NetworkSymbol,
|
|
@@ -2597,8 +2610,8 @@ const ChainSelectModal = ({
|
|
|
2597
2610
|
chain.chainKey
|
|
2598
2611
|
);
|
|
2599
2612
|
};
|
|
2600
|
-
return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog, { open: isOpen, onOpenChange: (open) => !open && handleClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogContent, { className: "md:max-h-[90dvh] md:h-[90dvh] overflow-hidden flex flex-col", children: [
|
|
2601
|
-
/* @__PURE__ */ jsxRuntime.jsx(dialog.DialogHeader, { className: "text-left", children: /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogTitle, { children: t("bridge.selectNetwork") }) }),
|
|
2613
|
+
return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog, { open: isOpen, onOpenChange: (open) => !open && handleClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogContent, { className: "md:max-h-[90dvh] md:h-[90dvh] overflow-hidden flex flex-col p-10", children: [
|
|
2614
|
+
/* @__PURE__ */ jsxRuntime.jsx(dialog.DialogHeader, { className: "text-left", children: /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogTitle, { className: "text-2xl leading-8", children: t("bridge.selectNetwork") }) }),
|
|
2602
2615
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2603
2616
|
SearchInput,
|
|
2604
2617
|
{
|
|
@@ -2611,13 +2624,25 @@ const ChainSelectModal = ({
|
|
|
2611
2624
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 overflow-y-auto", children: [
|
|
2612
2625
|
groupedChains.available.length > 0 && groupedChains.available.map((c) => renderChainItem(c, false)),
|
|
2613
2626
|
groupedChains.willChangeSrc.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2614
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2627
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2628
|
+
"p",
|
|
2629
|
+
{
|
|
2630
|
+
className: `px-5 py-2 leading-4 text-base font-semibold text-muted-foreground uppercase ${groupedChains.available.length > 0 ? "mt-10" : ""}`,
|
|
2631
|
+
children: t("bridge.willChangeSourceChain")
|
|
2632
|
+
}
|
|
2633
|
+
),
|
|
2615
2634
|
groupedChains.willChangeSrc.map(
|
|
2616
2635
|
(c) => renderChainItem(c, true, false)
|
|
2617
2636
|
)
|
|
2618
2637
|
] }),
|
|
2619
2638
|
groupedChains.willChangeTokenAndSrc.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2620
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2639
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2640
|
+
"p",
|
|
2641
|
+
{
|
|
2642
|
+
className: `px-5 py-2 leading-4 text-base font-semibold text-muted-foreground uppercase ${groupedChains.available.length > 0 || groupedChains.willChangeSrc.length > 0 ? "mt-10" : ""}`,
|
|
2643
|
+
children: t("bridge.willChangeSourceNetworkAndToken")
|
|
2644
|
+
}
|
|
2645
|
+
),
|
|
2621
2646
|
groupedChains.willChangeTokenAndSrc.map(
|
|
2622
2647
|
(c) => renderChainItem(c, false, true)
|
|
2623
2648
|
)
|
|
@@ -3965,9 +3990,9 @@ const WalletSelectModal = () => {
|
|
|
3965
3990
|
wallets: tronWallets.filter(notConnected)
|
|
3966
3991
|
}
|
|
3967
3992
|
].filter((category) => category.wallets.length > 0);
|
|
3968
|
-
return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog, { open: isOpen, onOpenChange: (open) => !open && onClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogContent, { children: [
|
|
3993
|
+
return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog, { open: isOpen, onOpenChange: (open) => !open && onClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogContent, { className: "p-10", children: [
|
|
3969
3994
|
/* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogHeader, { className: "text-left", children: [
|
|
3970
|
-
/* @__PURE__ */ jsxRuntime.jsx(dialog.DialogTitle, { children: t("wallets.chooseWallet") }),
|
|
3995
|
+
/* @__PURE__ */ jsxRuntime.jsx(dialog.DialogTitle, { className: "text-2xl leading-8", children: t("wallets.chooseWallet") }),
|
|
3971
3996
|
/* @__PURE__ */ jsxRuntime.jsx(dialog.DialogDescription, { children: t("wallets.oneWalletPerEnv") })
|
|
3972
3997
|
] }),
|
|
3973
3998
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
@@ -6044,8 +6069,8 @@ const SettingsModal = ({ isOpen, onClose }) => {
|
|
|
6044
6069
|
);
|
|
6045
6070
|
const activeBtn = "bg-primary hover:bg-primary/80 text-primary-foreground transition-colors";
|
|
6046
6071
|
const notActiveBtn = "bg-accent hover:bg-accent/80 text-accent-foreground transition-colors";
|
|
6047
|
-
return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog, { open: isOpen, onOpenChange: (open) => !open && onClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogContent, { onOpenAutoFocus: (e) => e.preventDefault(), children: [
|
|
6048
|
-
/* @__PURE__ */ jsxRuntime.jsx(dialog.DialogHeader, { className: "text-left", children: /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogTitle, { children: t("settings.title") }) }),
|
|
6072
|
+
return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog, { open: isOpen, onOpenChange: (open) => !open && onClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogContent, { onOpenAutoFocus: (e) => e.preventDefault(), className: "p-10", children: [
|
|
6073
|
+
/* @__PURE__ */ jsxRuntime.jsx(dialog.DialogHeader, { className: "text-left", children: /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogTitle, { className: "text-2xl leading-8", children: t("settings.title") }) }),
|
|
6049
6074
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
6050
6075
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-5", children: [
|
|
6051
6076
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between items-center", children: [
|
|
@@ -6073,9 +6098,8 @@ const SettingsModal = ({ isOpen, onClose }) => {
|
|
|
6073
6098
|
badge.Badge,
|
|
6074
6099
|
{
|
|
6075
6100
|
onClick: () => setGasPreset(g),
|
|
6076
|
-
size: "lg",
|
|
6077
6101
|
className: utils.cn(
|
|
6078
|
-
"cursor-pointer",
|
|
6102
|
+
"cursor-pointer h-7 rounded px-2",
|
|
6079
6103
|
gasPreset === g ? activeBtn : notActiveBtn
|
|
6080
6104
|
),
|
|
6081
6105
|
children: t(`settings.gasPresets.${g}`)
|
|
@@ -6100,13 +6124,12 @@ const SettingsModal = ({ isOpen, onClose }) => {
|
|
|
6100
6124
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: slippagePresets.map((p) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6101
6125
|
badge.Badge,
|
|
6102
6126
|
{
|
|
6103
|
-
size: "lg",
|
|
6104
6127
|
onClick: () => {
|
|
6105
6128
|
const bps = parseFloat(p.replace("%", "")) * 100;
|
|
6106
6129
|
setSlippageBps(bps);
|
|
6107
6130
|
},
|
|
6108
6131
|
className: utils.cn(
|
|
6109
|
-
"cursor-pointer",
|
|
6132
|
+
"cursor-pointer h-7 rounded px-2",
|
|
6110
6133
|
activeSlippagePreset === p ? activeBtn : notActiveBtn
|
|
6111
6134
|
),
|
|
6112
6135
|
children: p
|
|
@@ -6124,10 +6147,9 @@ const SettingsModal = ({ isOpen, onClose }) => {
|
|
|
6124
6147
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-end gap-2", children: routePresets.map((r) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6125
6148
|
badge.Badge,
|
|
6126
6149
|
{
|
|
6127
|
-
size: "lg",
|
|
6128
6150
|
onClick: () => setRoutePriority(r),
|
|
6129
6151
|
className: utils.cn(
|
|
6130
|
-
"cursor-pointer",
|
|
6152
|
+
"cursor-pointer h-7 rounded px-2",
|
|
6131
6153
|
routePriority === r ? activeBtn : notActiveBtn
|
|
6132
6154
|
),
|
|
6133
6155
|
children: t(`settings.routePresets.${r}`)
|
|
@@ -6152,7 +6174,7 @@ const TokenRow = ({
|
|
|
6152
6174
|
button.Button,
|
|
6153
6175
|
{
|
|
6154
6176
|
onClick: onPick,
|
|
6155
|
-
className: `w-full rounded-xs bg-transparent flex items-center justify-between gap-3
|
|
6177
|
+
className: `w-full px-5 rounded-xs bg-transparent flex items-center justify-between gap-3 hover:bg-accent hover:scale-100 ${isSelected ? "bg-accent hover:bg-accent/50" : ""}`,
|
|
6156
6178
|
children: [
|
|
6157
6179
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
6158
6180
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -6164,15 +6186,15 @@ const TokenRow = ({
|
|
|
6164
6186
|
}
|
|
6165
6187
|
),
|
|
6166
6188
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-start gap-1", children: [
|
|
6167
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold text-foreground text-
|
|
6168
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs leading-3
|
|
6189
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold text-foreground text-sm leading-4 truncate flex items-center gap-1", children: symbol }),
|
|
6190
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs leading-3 text-muted-foreground truncate", children: name })
|
|
6169
6191
|
] })
|
|
6170
6192
|
] }),
|
|
6171
6193
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-right space-y-1", children: isBalanceLoading && hasAnyWallet ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-end gap-1", children: [
|
|
6172
6194
|
/* @__PURE__ */ jsxRuntime.jsx(skeleton.Skeleton, { className: "h-5 w-16 rounded-md" }),
|
|
6173
6195
|
/* @__PURE__ */ jsxRuntime.jsx(skeleton.Skeleton, { className: "h-3 w-12 rounded-md" })
|
|
6174
6196
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
6175
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-semibold text-foreground text-
|
|
6197
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-semibold text-foreground text-sm leading-4 truncate", children: hasAnyWallet ? formatBalance(balance) : "—" }),
|
|
6176
6198
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs leading-3 text-muted-foreground/50", children: hasAnyWallet && balance > 0 && usdValue > 0 ? formatUsd(usdValue) : "—" })
|
|
6177
6199
|
] }) })
|
|
6178
6200
|
]
|
|
@@ -6316,8 +6338,8 @@ const TokenSelectModal = ({
|
|
|
6316
6338
|
[groupedTokens.willChangeSrcChain]
|
|
6317
6339
|
);
|
|
6318
6340
|
const hasNoResults = tokensToRender.length === 0 && willChangeSrcTokens.length === 0;
|
|
6319
|
-
return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog, { open: isOpen, onOpenChange: (open) => !open && handleClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogContent, { className: "md:max-h-[90dvh] md:h-[90dvh] overflow-hidden flex flex-col", children: [
|
|
6320
|
-
/* @__PURE__ */ jsxRuntime.jsx(dialog.DialogHeader, { className: "text-left", children: /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogTitle, { children: t("bridge.selectToken") }) }),
|
|
6341
|
+
return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog, { open: isOpen, onOpenChange: (open) => !open && handleClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogContent, { className: "md:max-h-[90dvh] md:h-[90dvh] overflow-hidden flex flex-col p-10", children: [
|
|
6342
|
+
/* @__PURE__ */ jsxRuntime.jsx(dialog.DialogHeader, { className: "text-left", children: /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogTitle, { className: "text-2xl leading-8", children: t("bridge.selectToken") }) }),
|
|
6321
6343
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6322
6344
|
SearchInput,
|
|
6323
6345
|
{
|
|
@@ -6333,7 +6355,7 @@ const TokenSelectModal = ({
|
|
|
6333
6355
|
variant: tab === "my" ? "default" : "ghost",
|
|
6334
6356
|
onClick: () => setTab("my"),
|
|
6335
6357
|
size: "sm",
|
|
6336
|
-
className: utils.cn(tab !== "my" && "bg-muted hover:bg-accent"),
|
|
6358
|
+
className: utils.cn("px-4", tab !== "my" && "bg-muted hover:bg-accent"),
|
|
6337
6359
|
children: t("bridge.myTokens")
|
|
6338
6360
|
}
|
|
6339
6361
|
),
|
|
@@ -6343,13 +6365,16 @@ const TokenSelectModal = ({
|
|
|
6343
6365
|
variant: tab === "all" ? "default" : "ghost",
|
|
6344
6366
|
onClick: () => setTab("all"),
|
|
6345
6367
|
size: "sm",
|
|
6346
|
-
className: utils.cn(
|
|
6368
|
+
className: utils.cn(
|
|
6369
|
+
"px-4",
|
|
6370
|
+
tab !== "all" && "bg-muted hover:bg-accent"
|
|
6371
|
+
),
|
|
6347
6372
|
children: t("bridge.allTokens")
|
|
6348
6373
|
}
|
|
6349
6374
|
)
|
|
6350
6375
|
] }),
|
|
6351
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 overflow-auto
|
|
6352
|
-
effectiveTab === "my" && myTokens.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "leading-4 text-base
|
|
6376
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 overflow-y-auto -mx-5", children: hasNoResults ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground px-5 py-4", children: t("bridge.noResults") }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
6377
|
+
effectiveTab === "my" && myTokens.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "leading-4 px-5 text-base text-muted-foreground uppercase py-2", children: t("bridge.noBalancesFound") }),
|
|
6353
6378
|
tokensToRender.map(({ token, willChangeSrc }) => {
|
|
6354
6379
|
const bal = getBalance(token.symbol);
|
|
6355
6380
|
const usd = getTokenUsdValue(token.symbol, token.price?.usd);
|
|
@@ -6370,7 +6395,7 @@ const TokenSelectModal = ({
|
|
|
6370
6395
|
);
|
|
6371
6396
|
}),
|
|
6372
6397
|
effectiveTab === "all" && willChangeSrcTokens.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
6373
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-5 flex leading-4 text-base py-2
|
|
6398
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-5 flex leading-4 text-base py-2 text-muted-foreground uppercase mt-8", children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: t("bridge.willChangeSourceChain") }) }),
|
|
6374
6399
|
willChangeSrcTokens.map(({ token, willChangeSrc }) => {
|
|
6375
6400
|
const bal = getBalance(token.symbol);
|
|
6376
6401
|
const usd = getTokenUsdValue(
|