@vechain/vechain-kit 1.3.1 → 1.4.1
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/README.md +47 -10
- package/dist/{Constants-7pfsJgOl.d.cts → Constants-DQeyU9X7.d.cts} +1 -0
- package/dist/{Constants-7pfsJgOl.d.ts → Constants-DQeyU9X7.d.ts} +1 -0
- package/dist/index.cjs +1262 -938
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +79 -46
- package/dist/index.d.ts +79 -46
- package/dist/index.js +1103 -788
- package/dist/index.js.map +1 -1
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/utils/index.d.cts +2 -2
- package/dist/utils/index.d.ts +2 -2
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -3,11 +3,11 @@ import { getConfig, humanNumber, NodeStrengthLevelToImage, allNodeStrengthLevelT
|
|
|
3
3
|
export { getConfig } from './chunk-CDZXTDVH.js';
|
|
4
4
|
import { SimpleAccountFactoryABI, VechainLogoHorizontal, VechainLogo, SimpleAccountABI, PrivyLogo } from './chunk-IGUWNKV2.js';
|
|
5
5
|
import './chunk-PZ5AY32C.js';
|
|
6
|
-
import
|
|
6
|
+
import React8, { createContext, useState, useEffect, useMemo, useCallback, useContext, useRef } from 'react';
|
|
7
7
|
import { useLoginWithOAuth, usePrivy, useLoginWithPasskey as useLoginWithPasskey$1, useLoginWithEmail, PrivyProvider } from '@privy-io/react-auth';
|
|
8
8
|
export { usePrivy } from '@privy-io/react-auth';
|
|
9
9
|
import { useConnex, useWallet as useWallet$1, useWalletModal as useWalletModal$1, useVechainDomain as useVechainDomain$1, DAppKitProvider } from '@vechain/dapp-kit-react';
|
|
10
|
-
export { useConnex } from '@vechain/dapp-kit-react';
|
|
10
|
+
export { useConnex, useWallet as useDappKitWallet } from '@vechain/dapp-kit-react';
|
|
11
11
|
import { defineChain, formatEther, parseEther, zeroAddress, keccak256, toBytes, concat, encodeFunctionData } from 'viem';
|
|
12
12
|
import { ABIContract, Address, Clause } from '@vechain/sdk-core';
|
|
13
13
|
import { ThorClient, ProviderInternalBaseWallet, VeChainProvider, signerUtils } from '@vechain/sdk-network';
|
|
@@ -22,23 +22,25 @@ import { z } from 'zod';
|
|
|
22
22
|
import { useAccount, createConfig, http, WagmiProvider, useConnect, useSignTypedData, useSignMessage, useDisconnect } from 'wagmi';
|
|
23
23
|
import { toPrivyWalletConnector } from '@privy-io/cross-app-connect/rainbow-kit';
|
|
24
24
|
import { isSafari } from 'react-device-detect';
|
|
25
|
-
import { createMultiStyleConfigHelpers, defineStyle, defineStyleConfig, extendTheme, createStandaloneToast, IconButton, VStack, Text, HStack, Icon, Link, Box, useMediaQuery, Modal, ModalOverlay, ModalContent, Button, Image, Skeleton, useDisclosure, GridItem, Divider, InputGroup, InputLeftElement, Input, ModalHeader, ModalCloseButton, ModalBody, Stack, Grid, ModalFooter, useColorModeValue, Card, CardBody, Tag,
|
|
25
|
+
import { createMultiStyleConfigHelpers, defineStyle, defineStyleConfig, extendTheme, createStandaloneToast, IconButton, VStack, Text, HStack, Icon, Link, Box, useMediaQuery, Modal, ModalOverlay, ModalContent, Button, Image, Skeleton, Spinner, useDisclosure, GridItem, Divider, InputGroup, InputLeftElement, Input, ModalHeader, ModalCloseButton, ModalBody, Stack, Grid, ModalFooter, useColorModeValue, Card, CardBody, Tag, Alert, AlertIcon, useColorMode, Heading, Tabs, TabList, Tab, TabPanels, TabPanel, CardFooter, Center, Container, InputRightElement, Select, Progress, PinInput, PinInputField, Accordion, AccordionItem, AccordionButton, AccordionPanel, List, ListItem, ChakraProvider, Flex, AlertDescription, Circle } from '@chakra-ui/react';
|
|
26
26
|
import { motion } from 'framer-motion';
|
|
27
|
-
import { IoChevronBack, IoCheckmarkOutline, IoCopyOutline,
|
|
27
|
+
import { IoChevronBack, IoCheckmarkOutline, IoCopyOutline, IoCloseCircle, IoShieldOutline, IoOpenOutline, IoChevronUp, IoChevronDown } from 'react-icons/io5';
|
|
28
28
|
import { BsQuestionCircle, BsBookmarkFill, BsBookmark } from 'react-icons/bs';
|
|
29
29
|
import { FcGoogle, FcCheckmark } from 'react-icons/fc';
|
|
30
|
-
import { IoIosFingerPrint } from 'react-icons/io';
|
|
30
|
+
import { IoIosFingerPrint, IoMdApps } from 'react-icons/io';
|
|
31
31
|
import { HiOutlineWallet } from 'react-icons/hi2';
|
|
32
32
|
import { CiCircleMore, CiSearch } from 'react-icons/ci';
|
|
33
33
|
import { LuMail } from 'react-icons/lu';
|
|
34
|
-
import { MdOutlineNavigateNext, MdSwapHoriz,
|
|
35
|
-
import { BiBell, BiArchive } from 'react-icons/bi';
|
|
36
|
-
import { RiLogoutBoxLine, RiTwitterXFill } from 'react-icons/ri';
|
|
34
|
+
import { MdOutlineNavigateNext, MdSwapHoriz, MdOutlineErrorOutline, MdOutlineRefresh, MdEmail } from 'react-icons/md';
|
|
37
35
|
import { VscRefresh, VscDebugDisconnect } from 'react-icons/vsc';
|
|
38
|
-
import { FaRegArrowAltCircleDown, FaRegAddressCard, FaExternalLinkAlt, FaTelegramPlane, FaGoogle, FaEnvelope, FaTwitter, FaPhone, FaSpotify, FaApple, FaInstagram, FaTiktok, FaGithub, FaLinkedin, FaTelegram, FaDiscord, FaPlus, FaWallet } from 'react-icons/fa';
|
|
36
|
+
import { FaRegArrowAltCircleDown, FaEdit, FaRegAddressCard, FaExternalLinkAlt, FaTelegramPlane, FaGoogle, FaEnvelope, FaTwitter, FaPhone, FaSpotify, FaApple, FaInstagram, FaTiktok, FaGithub, FaLinkedin, FaTelegram, FaDiscord, FaPlus, FaWallet } from 'react-icons/fa';
|
|
39
37
|
import { FiSend, FiSlash, FiArrowDown } from 'react-icons/fi';
|
|
40
|
-
import {
|
|
38
|
+
import { picasso } from '@vechain/picasso';
|
|
39
|
+
import { GrUserAdmin } from 'react-icons/gr';
|
|
40
|
+
import { RiLogoutBoxLine, RiTwitterXFill } from 'react-icons/ri';
|
|
41
|
+
import { BiBell, BiArchive } from 'react-icons/bi';
|
|
41
42
|
import { PiLineVertical } from 'react-icons/pi';
|
|
43
|
+
import { GiHouseKeys, GiConfirmed } from 'react-icons/gi';
|
|
42
44
|
import { QRCode } from 'react-qrcode-logo';
|
|
43
45
|
import { GoLinkExternal } from 'react-icons/go';
|
|
44
46
|
import { FaWhatsapp } from 'react-icons/fa6';
|
|
@@ -1778,7 +1780,7 @@ function getOrCreateQueryClient() {
|
|
|
1778
1780
|
}
|
|
1779
1781
|
var EnsureQueryClient = ({ children }) => {
|
|
1780
1782
|
try {
|
|
1781
|
-
const existingQueryClient =
|
|
1783
|
+
const existingQueryClient = React8.useContext(QueryClientContext);
|
|
1782
1784
|
if (existingQueryClient) {
|
|
1783
1785
|
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
1784
1786
|
}
|
|
@@ -3587,12 +3589,15 @@ var usePrivyCrossAppSdk = () => {
|
|
|
3587
3589
|
|
|
3588
3590
|
// src/hooks/api/wallet/useWalletMetadata.ts
|
|
3589
3591
|
var useWalletMetadata = (address, networkType) => {
|
|
3590
|
-
const { data: domain } = useVechainDomain(address ?? "");
|
|
3591
|
-
const { data: avatar } = useGetAvatar(
|
|
3592
|
+
const { data: domain, isLoading: isLoadingVechainDomain } = useVechainDomain(address ?? "");
|
|
3593
|
+
const { data: avatar, isLoading: isLoadingAvatar } = useGetAvatar(
|
|
3594
|
+
domain?.domain
|
|
3595
|
+
);
|
|
3592
3596
|
const avatarUrl = convertUriToUrl(avatar ?? "", networkType);
|
|
3593
3597
|
return {
|
|
3594
3598
|
domain: domain?.domain,
|
|
3595
|
-
image: avatarUrl ?? getPicassoImage(address ?? "")
|
|
3599
|
+
image: avatarUrl ?? getPicassoImage(address ?? ""),
|
|
3600
|
+
isLoading: isLoadingVechainDomain || isLoadingAvatar
|
|
3596
3601
|
};
|
|
3597
3602
|
};
|
|
3598
3603
|
|
|
@@ -3661,12 +3666,14 @@ var useWallet = () => {
|
|
|
3661
3666
|
const account = activeAddress ? {
|
|
3662
3667
|
address: activeAddress,
|
|
3663
3668
|
domain: activeMetadata.domain,
|
|
3664
|
-
image: activeMetadata.image
|
|
3669
|
+
image: activeMetadata.image,
|
|
3670
|
+
isLoadingAvatar: activeMetadata.isLoading
|
|
3665
3671
|
} : null;
|
|
3666
3672
|
const connectedWallet = connectedWalletAddress ? {
|
|
3667
3673
|
address: connectedWalletAddress,
|
|
3668
3674
|
domain: connectedMetadata.domain,
|
|
3669
|
-
image: connectedMetadata.image
|
|
3675
|
+
image: connectedMetadata.image,
|
|
3676
|
+
isLoadingAvatar: connectedMetadata.isLoading
|
|
3670
3677
|
} : null;
|
|
3671
3678
|
const { data: smartAccountVersion } = useContractVersion(
|
|
3672
3679
|
smartAccount?.address ?? ""
|
|
@@ -3704,7 +3711,8 @@ var useWallet = () => {
|
|
|
3704
3711
|
image: smartAccountMetadata.image,
|
|
3705
3712
|
isDeployed: smartAccount?.isDeployed ?? false,
|
|
3706
3713
|
isActive: hasActiveSmartAccount,
|
|
3707
|
-
version: smartAccountVersion ?? null
|
|
3714
|
+
version: smartAccountVersion ?? null,
|
|
3715
|
+
isLoadingAvatar: smartAccountMetadata.isLoading
|
|
3708
3716
|
},
|
|
3709
3717
|
connectedWallet,
|
|
3710
3718
|
privyUser: user,
|
|
@@ -4017,7 +4025,7 @@ var useSendTokenModal = () => {
|
|
|
4017
4025
|
var SendTokenModalProvider = ({
|
|
4018
4026
|
children
|
|
4019
4027
|
}) => /* @__PURE__ */ jsx(Fragment, { children });
|
|
4020
|
-
var
|
|
4028
|
+
var useAccessAndSecurityModal = () => {
|
|
4021
4029
|
const {
|
|
4022
4030
|
openAccountModal,
|
|
4023
4031
|
closeAccountModal,
|
|
@@ -4025,7 +4033,7 @@ var useEmbeddedWalletSettingsModal = () => {
|
|
|
4025
4033
|
setAccountModalContent
|
|
4026
4034
|
} = useVeChainKitConfig();
|
|
4027
4035
|
const open = () => {
|
|
4028
|
-
setAccountModalContent("
|
|
4036
|
+
setAccountModalContent("access-and-security");
|
|
4029
4037
|
openAccountModal();
|
|
4030
4038
|
};
|
|
4031
4039
|
const close = () => {
|
|
@@ -4037,7 +4045,7 @@ var useEmbeddedWalletSettingsModal = () => {
|
|
|
4037
4045
|
isOpen: isAccountModalOpen
|
|
4038
4046
|
};
|
|
4039
4047
|
};
|
|
4040
|
-
var
|
|
4048
|
+
var AccessAndSecurityModalProvider = ({
|
|
4041
4049
|
children
|
|
4042
4050
|
}) => /* @__PURE__ */ jsx(Fragment, { children });
|
|
4043
4051
|
var useExploreEcosystemModal = () => {
|
|
@@ -4151,6 +4159,52 @@ var useReceiveModal = () => {
|
|
|
4151
4159
|
};
|
|
4152
4160
|
};
|
|
4153
4161
|
var ReceiveModalProvider = ({ children }) => /* @__PURE__ */ jsx(Fragment, { children });
|
|
4162
|
+
var useLoginModalContent = () => {
|
|
4163
|
+
const { privy, loginMethods } = useVeChainKitConfig();
|
|
4164
|
+
const isVeChainApp = privy?.appId === VECHAIN_PRIVY_APP_ID;
|
|
4165
|
+
const showEcosystemLogin = useMemo(() => {
|
|
4166
|
+
if (!loginMethods) return true;
|
|
4167
|
+
if (loginMethods.length > 0 && !loginMethods?.find((method35) => method35.method === "ecosystem")) {
|
|
4168
|
+
return false;
|
|
4169
|
+
}
|
|
4170
|
+
return true;
|
|
4171
|
+
}, [loginMethods]);
|
|
4172
|
+
if (!privy) {
|
|
4173
|
+
return {
|
|
4174
|
+
showSocialLogin: false,
|
|
4175
|
+
showPasskey: false,
|
|
4176
|
+
showVeChainLogin: true,
|
|
4177
|
+
showDappKit: true,
|
|
4178
|
+
showEcosystem: showEcosystemLogin,
|
|
4179
|
+
showMoreLogin: false,
|
|
4180
|
+
isOfficialVeChainApp: false
|
|
4181
|
+
};
|
|
4182
|
+
}
|
|
4183
|
+
if (isVeChainApp) {
|
|
4184
|
+
return {
|
|
4185
|
+
showSocialLogin: false,
|
|
4186
|
+
showPasskey: false,
|
|
4187
|
+
showVeChainLogin: true,
|
|
4188
|
+
showDappKit: true,
|
|
4189
|
+
showEcosystem: showEcosystemLogin,
|
|
4190
|
+
showMoreLogin: false,
|
|
4191
|
+
isOfficialVeChainApp: true
|
|
4192
|
+
};
|
|
4193
|
+
}
|
|
4194
|
+
const showMoreLogin = useMemo(() => {
|
|
4195
|
+
if (!loginMethods) return true;
|
|
4196
|
+
return loginMethods.some((method35) => method35.method === "more");
|
|
4197
|
+
}, [loginMethods]);
|
|
4198
|
+
return {
|
|
4199
|
+
showSocialLogin: true,
|
|
4200
|
+
showPasskey: true,
|
|
4201
|
+
showVeChainLogin: true,
|
|
4202
|
+
showDappKit: true,
|
|
4203
|
+
showEcosystem: showEcosystemLogin,
|
|
4204
|
+
showMoreLogin,
|
|
4205
|
+
isOfficialVeChainApp: false
|
|
4206
|
+
};
|
|
4207
|
+
};
|
|
4154
4208
|
var ERC20Interface2 = ERC20__factory.createInterface();
|
|
4155
4209
|
var useTransferERC20 = ({
|
|
4156
4210
|
fromAddress,
|
|
@@ -5143,7 +5197,12 @@ var ModalBackButton = ({ onClick, ...props }) => {
|
|
|
5143
5197
|
}
|
|
5144
5198
|
);
|
|
5145
5199
|
};
|
|
5146
|
-
var AddressDisplay = ({
|
|
5200
|
+
var AddressDisplay = ({
|
|
5201
|
+
wallet,
|
|
5202
|
+
label,
|
|
5203
|
+
size = "lg",
|
|
5204
|
+
style
|
|
5205
|
+
}) => {
|
|
5147
5206
|
const [copied, setCopied] = useState(false);
|
|
5148
5207
|
const [copiedDomain, setCopiedDomain] = useState(false);
|
|
5149
5208
|
const copyToClipboard = async (textToCopy, setCopied2) => {
|
|
@@ -5153,7 +5212,7 @@ var AddressDisplay = ({ wallet, label, size = "lg" }) => {
|
|
|
5153
5212
|
setCopied2(false);
|
|
5154
5213
|
}, 2e3);
|
|
5155
5214
|
};
|
|
5156
|
-
return /* @__PURE__ */ jsx(VStack, { w: "full", justifyContent: "center", children: /* @__PURE__ */ jsxs(VStack, { children: [
|
|
5215
|
+
return /* @__PURE__ */ jsx(VStack, { w: "full", justifyContent: "center", ...style, children: /* @__PURE__ */ jsxs(VStack, { children: [
|
|
5157
5216
|
label && /* @__PURE__ */ jsx(Text, { fontSize: "sm", opacity: 0.7, children: label }),
|
|
5158
5217
|
wallet?.domain ? /* @__PURE__ */ jsxs(VStack, { children: [
|
|
5159
5218
|
/* @__PURE__ */ jsxs(
|
|
@@ -5229,7 +5288,7 @@ var AddressDisplay = ({ wallet, label, size = "lg" }) => {
|
|
|
5229
5288
|
// package.json
|
|
5230
5289
|
var package_default = {
|
|
5231
5290
|
name: "@vechain/vechain-kit",
|
|
5232
|
-
version: "1.
|
|
5291
|
+
version: "1.4.1",
|
|
5233
5292
|
private: false,
|
|
5234
5293
|
homepage: "https://github.com/vechain/vechain-kit",
|
|
5235
5294
|
repository: "github:vechain/vechain-kit",
|
|
@@ -5255,8 +5314,8 @@ var package_default = {
|
|
|
5255
5314
|
dependencies: {
|
|
5256
5315
|
"@chakra-ui/react": "^2.8.2",
|
|
5257
5316
|
"@choc-ui/chakra-autocomplete": "^5.3.0",
|
|
5258
|
-
"@privy-io/cross-app-connect": "^0.1.
|
|
5259
|
-
"@privy-io/react-auth": "2.0
|
|
5317
|
+
"@privy-io/cross-app-connect": "^0.1.6",
|
|
5318
|
+
"@privy-io/react-auth": "2.3.0",
|
|
5260
5319
|
"@rainbow-me/rainbowkit": "^2.1.5",
|
|
5261
5320
|
"@tanstack/react-query": "^5.64.2",
|
|
5262
5321
|
"@tanstack/react-query-devtools": "^5.64.1",
|
|
@@ -5591,7 +5650,8 @@ var AddressDisplayCard = ({
|
|
|
5591
5650
|
src: imageSrc,
|
|
5592
5651
|
alt: imageAlt,
|
|
5593
5652
|
boxSize: "40px",
|
|
5594
|
-
borderRadius: "xl"
|
|
5653
|
+
borderRadius: "xl",
|
|
5654
|
+
objectFit: "cover"
|
|
5595
5655
|
}
|
|
5596
5656
|
),
|
|
5597
5657
|
/* @__PURE__ */ jsx(VStack, { align: "start", spacing: 0, children: domain ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -5641,6 +5701,22 @@ var ScrollToTopWrapper = ({ children, ...props }) => {
|
|
|
5641
5701
|
useScrollToTop();
|
|
5642
5702
|
return /* @__PURE__ */ jsx(VStack, { ...props, children });
|
|
5643
5703
|
};
|
|
5704
|
+
var AccountAvatar = ({ wallet, props }) => {
|
|
5705
|
+
if (wallet?.isLoadingAvatar) {
|
|
5706
|
+
return /* @__PURE__ */ jsx(Spinner, { size: "sm" });
|
|
5707
|
+
}
|
|
5708
|
+
return /* @__PURE__ */ jsx(
|
|
5709
|
+
Image,
|
|
5710
|
+
{
|
|
5711
|
+
src: props?.src ?? wallet?.image,
|
|
5712
|
+
alt: props?.alt ?? wallet?.domain,
|
|
5713
|
+
fallbackSrc: notFoundImage,
|
|
5714
|
+
objectFit: "cover",
|
|
5715
|
+
rounded: "full",
|
|
5716
|
+
...props
|
|
5717
|
+
}
|
|
5718
|
+
);
|
|
5719
|
+
};
|
|
5644
5720
|
var VeChainLoginButton = ({ isDark, gridColumn }) => {
|
|
5645
5721
|
const { t } = useTranslation();
|
|
5646
5722
|
const { login: loginWithVeChain } = useLoginWithVeChain();
|
|
@@ -5686,12 +5762,19 @@ var VeChainLoginButton = ({ isDark, gridColumn }) => {
|
|
|
5686
5762
|
)
|
|
5687
5763
|
] });
|
|
5688
5764
|
};
|
|
5689
|
-
var SocialLoginButtons = ({
|
|
5765
|
+
var SocialLoginButtons = ({
|
|
5766
|
+
isDark,
|
|
5767
|
+
loginMethods,
|
|
5768
|
+
gridColumn
|
|
5769
|
+
}) => {
|
|
5690
5770
|
const { t } = useTranslation();
|
|
5691
5771
|
const { initOAuth } = useLoginWithOAuth2();
|
|
5692
|
-
|
|
5693
|
-
method35 === "email"
|
|
5694
|
-
|
|
5772
|
+
const selfHostedPrivyLoginMethods = loginMethods?.filter(
|
|
5773
|
+
(method35) => method35.method === "email" || method35.method === "google"
|
|
5774
|
+
);
|
|
5775
|
+
return /* @__PURE__ */ jsx(GridItem, { colSpan: gridColumn, w: "full", children: selfHostedPrivyLoginMethods?.map((loginMethod, index) => /* @__PURE__ */ jsxs(React8.Fragment, { children: [
|
|
5776
|
+
loginMethod.method === "email" && /* @__PURE__ */ jsx(GridItem, { colSpan: 4, w: "full", children: /* @__PURE__ */ jsx(EmailLoginButton, {}) }),
|
|
5777
|
+
loginMethod.method === "google" && /* @__PURE__ */ jsx(GridItem, { colSpan: 4, w: "full", children: /* @__PURE__ */ jsx(
|
|
5695
5778
|
ConnectionButton,
|
|
5696
5779
|
{
|
|
5697
5780
|
isDark,
|
|
@@ -5702,14 +5785,14 @@ var SocialLoginButtons = ({ isDark, loginModalUI }) => {
|
|
|
5702
5785
|
text: t("Continue with Google")
|
|
5703
5786
|
}
|
|
5704
5787
|
) }),
|
|
5705
|
-
index !== (
|
|
5788
|
+
index !== (selfHostedPrivyLoginMethods?.length ?? 0) - 1 && /* @__PURE__ */ jsx(GridItem, { colSpan: 4, w: "full", children: /* @__PURE__ */ jsxs(HStack, { children: [
|
|
5706
5789
|
/* @__PURE__ */ jsx(Divider, {}),
|
|
5707
5790
|
/* @__PURE__ */ jsx(Text, { fontSize: "xs", children: "or" }),
|
|
5708
5791
|
/* @__PURE__ */ jsx(Divider, {})
|
|
5709
5792
|
] }) })
|
|
5710
|
-
] },
|
|
5793
|
+
] }, loginMethod.method)) });
|
|
5711
5794
|
};
|
|
5712
|
-
var PasskeyLoginButton = ({ isDark, gridColumn
|
|
5795
|
+
var PasskeyLoginButton = ({ isDark, gridColumn }) => {
|
|
5713
5796
|
const { t } = useTranslation();
|
|
5714
5797
|
const { loginWithPasskey } = useLoginWithPasskey();
|
|
5715
5798
|
const [loginError, setLoginError] = useState();
|
|
@@ -5733,7 +5816,8 @@ var PasskeyLoginButton = ({ isDark, gridColumn = 1 }) => {
|
|
|
5733
5816
|
{
|
|
5734
5817
|
isDark,
|
|
5735
5818
|
onClick: handleLoginWithPasskey,
|
|
5736
|
-
icon: IoIosFingerPrint
|
|
5819
|
+
icon: IoIosFingerPrint,
|
|
5820
|
+
text: gridColumn && gridColumn >= 2 ? t("Passkey") : void 0
|
|
5737
5821
|
}
|
|
5738
5822
|
) }),
|
|
5739
5823
|
/* @__PURE__ */ jsx(
|
|
@@ -5766,20 +5850,20 @@ var DappKitButton = ({ isDark, gridColumn = 2 }) => {
|
|
|
5766
5850
|
};
|
|
5767
5851
|
var EcosystemButton = ({
|
|
5768
5852
|
isDark,
|
|
5769
|
-
privySocialLoginEnabled,
|
|
5770
5853
|
appsInfo,
|
|
5771
|
-
isLoading
|
|
5854
|
+
isLoading,
|
|
5855
|
+
gridColumn
|
|
5772
5856
|
}) => {
|
|
5773
5857
|
const { t } = useTranslation();
|
|
5774
5858
|
const ecosystemModal = useDisclosure();
|
|
5775
5859
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5776
|
-
/* @__PURE__ */ jsx(GridItem, { colSpan:
|
|
5860
|
+
/* @__PURE__ */ jsx(GridItem, { colSpan: gridColumn, w: "full", children: /* @__PURE__ */ jsx(
|
|
5777
5861
|
ConnectionButton,
|
|
5778
5862
|
{
|
|
5779
5863
|
isDark,
|
|
5780
5864
|
onClick: ecosystemModal.onOpen,
|
|
5781
|
-
icon:
|
|
5782
|
-
text:
|
|
5865
|
+
icon: IoMdApps,
|
|
5866
|
+
text: gridColumn && gridColumn >= 2 ? t("Other") : void 0
|
|
5783
5867
|
}
|
|
5784
5868
|
) }),
|
|
5785
5869
|
/* @__PURE__ */ jsx(
|
|
@@ -5793,11 +5877,7 @@ var EcosystemButton = ({
|
|
|
5793
5877
|
)
|
|
5794
5878
|
] });
|
|
5795
5879
|
};
|
|
5796
|
-
var PrivyButton = ({
|
|
5797
|
-
isDark,
|
|
5798
|
-
onViewMoreLogin,
|
|
5799
|
-
gridColumn = 1
|
|
5800
|
-
}) => {
|
|
5880
|
+
var PrivyButton = ({ isDark, onViewMoreLogin, gridColumn }) => {
|
|
5801
5881
|
const { t } = useTranslation();
|
|
5802
5882
|
return /* @__PURE__ */ jsx(GridItem, { colSpan: gridColumn, w: "full", children: /* @__PURE__ */ jsx(
|
|
5803
5883
|
ConnectionButton,
|
|
@@ -5805,7 +5885,7 @@ var PrivyButton = ({
|
|
|
5805
5885
|
isDark,
|
|
5806
5886
|
onClick: onViewMoreLogin,
|
|
5807
5887
|
icon: CiCircleMore,
|
|
5808
|
-
text: gridColumn >= 2 ? t("More") : void 0
|
|
5888
|
+
text: gridColumn && gridColumn >= 2 ? t("More") : void 0
|
|
5809
5889
|
}
|
|
5810
5890
|
) });
|
|
5811
5891
|
};
|
|
@@ -6131,51 +6211,99 @@ var VeChainWithPrivyLoginButton = ({ isDark, gridColumn }) => {
|
|
|
6131
6211
|
}
|
|
6132
6212
|
) });
|
|
6133
6213
|
};
|
|
6134
|
-
var MainContent = ({
|
|
6135
|
-
setCurrentContent,
|
|
6136
|
-
onClose,
|
|
6137
|
-
variant = "vechain-wallet-ecosystem"
|
|
6138
|
-
}) => {
|
|
6214
|
+
var MainContent = ({ setCurrentContent, onClose }) => {
|
|
6139
6215
|
const { t } = useTranslation();
|
|
6140
6216
|
const { darkMode: isDark } = useVeChainKitConfig();
|
|
6141
6217
|
const { connection } = useWallet();
|
|
6142
|
-
const { loginModalUI,
|
|
6218
|
+
const { loginModalUI, privyEcosystemAppIDS, loginMethods } = useVeChainKitConfig();
|
|
6143
6219
|
const { login: viewMoreLogin } = usePrivy();
|
|
6220
|
+
const {
|
|
6221
|
+
showSocialLogin,
|
|
6222
|
+
showPasskey,
|
|
6223
|
+
showVeChainLogin,
|
|
6224
|
+
showDappKit,
|
|
6225
|
+
showEcosystem,
|
|
6226
|
+
showMoreLogin,
|
|
6227
|
+
isOfficialVeChainApp
|
|
6228
|
+
} = useLoginModalContent();
|
|
6144
6229
|
const { data: appsInfo, isLoading: isEcosystemAppsLoading } = useFetchAppInfo(privyEcosystemAppIDS);
|
|
6145
6230
|
useEffect(() => {
|
|
6146
6231
|
if (connection.isConnected) {
|
|
6147
6232
|
onClose();
|
|
6148
6233
|
}
|
|
6149
6234
|
}, [connection.isConnected, onClose]);
|
|
6150
|
-
const
|
|
6151
|
-
|
|
6152
|
-
|
|
6153
|
-
|
|
6154
|
-
|
|
6155
|
-
|
|
6156
|
-
|
|
6157
|
-
|
|
6158
|
-
|
|
6159
|
-
|
|
6160
|
-
|
|
6161
|
-
|
|
6162
|
-
|
|
6163
|
-
|
|
6235
|
+
const gridLayout = useMemo(() => {
|
|
6236
|
+
if (loginMethods?.length) {
|
|
6237
|
+
const layout = {};
|
|
6238
|
+
loginMethods.forEach(({ method: method35, gridColumn }) => {
|
|
6239
|
+
switch (method35) {
|
|
6240
|
+
case "email":
|
|
6241
|
+
case "google":
|
|
6242
|
+
layout.socialLoginColumn = gridColumn || 4;
|
|
6243
|
+
break;
|
|
6244
|
+
case "vechain":
|
|
6245
|
+
layout.veChainColumn = gridColumn || 4;
|
|
6246
|
+
break;
|
|
6247
|
+
case "passkey":
|
|
6248
|
+
layout.passkeyColumn = gridColumn || 1;
|
|
6249
|
+
break;
|
|
6250
|
+
case "dappkit":
|
|
6251
|
+
layout.dappKitColumn = gridColumn || 2;
|
|
6252
|
+
break;
|
|
6253
|
+
case "ecosystem":
|
|
6254
|
+
layout.ecosystemColumn = gridColumn || 2;
|
|
6255
|
+
break;
|
|
6256
|
+
case "more":
|
|
6257
|
+
layout.moreLoginColumn = gridColumn || 1;
|
|
6258
|
+
break;
|
|
6164
6259
|
}
|
|
6165
|
-
|
|
6166
|
-
|
|
6167
|
-
|
|
6168
|
-
|
|
6169
|
-
|
|
6170
|
-
|
|
6171
|
-
|
|
6172
|
-
|
|
6173
|
-
|
|
6174
|
-
|
|
6175
|
-
|
|
6176
|
-
|
|
6260
|
+
});
|
|
6261
|
+
return layout;
|
|
6262
|
+
}
|
|
6263
|
+
const visibleButtons = {
|
|
6264
|
+
socialLogin: showSocialLogin,
|
|
6265
|
+
veChainLogin: showVeChainLogin,
|
|
6266
|
+
dappKit: showDappKit,
|
|
6267
|
+
ecosystem: showEcosystem,
|
|
6268
|
+
moreLogin: showMoreLogin,
|
|
6269
|
+
passkey: showPasskey
|
|
6270
|
+
};
|
|
6271
|
+
if (visibleButtons.veChainLogin && visibleButtons.dappKit && visibleButtons.ecosystem && !visibleButtons.socialLogin) {
|
|
6272
|
+
return {
|
|
6273
|
+
veChainColumn: 4,
|
|
6274
|
+
// Full width
|
|
6275
|
+
dappKitColumn: 2,
|
|
6276
|
+
// Half width
|
|
6277
|
+
ecosystemColumn: 2
|
|
6278
|
+
// Half width
|
|
6279
|
+
};
|
|
6280
|
+
}
|
|
6281
|
+
if (visibleButtons.socialLogin) {
|
|
6282
|
+
return {
|
|
6283
|
+
socialLoginColumn: 4,
|
|
6284
|
+
veChainColumn: 4,
|
|
6285
|
+
dappKitColumn: 1,
|
|
6286
|
+
ecosystemColumn: 1,
|
|
6287
|
+
moreLoginColumn: 1,
|
|
6288
|
+
passkeyColumn: 1
|
|
6289
|
+
};
|
|
6177
6290
|
}
|
|
6178
|
-
|
|
6291
|
+
const totalButtons = Object.values(visibleButtons).filter(Boolean).length;
|
|
6292
|
+
const defaultColumn = Math.min(4, totalButtons);
|
|
6293
|
+
return {
|
|
6294
|
+
veChainColumn: 4,
|
|
6295
|
+
dappKitColumn: defaultColumn,
|
|
6296
|
+
ecosystemColumn: defaultColumn
|
|
6297
|
+
};
|
|
6298
|
+
}, [
|
|
6299
|
+
loginMethods,
|
|
6300
|
+
showSocialLogin,
|
|
6301
|
+
showVeChainLogin,
|
|
6302
|
+
showDappKit,
|
|
6303
|
+
showEcosystem,
|
|
6304
|
+
showMoreLogin,
|
|
6305
|
+
showPasskey
|
|
6306
|
+
]);
|
|
6179
6307
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
6180
6308
|
/* @__PURE__ */ jsxs(StickyHeaderContainer, { children: [
|
|
6181
6309
|
/* @__PURE__ */ jsx(ModalFAQButton, { onClick: () => setCurrentContent("faq") }),
|
|
@@ -6222,53 +6350,56 @@ var MainContent = ({
|
|
|
6222
6350
|
}
|
|
6223
6351
|
),
|
|
6224
6352
|
/* @__PURE__ */ jsx(Stack, { spacing: 4, w: "full", align: "center", children: /* @__PURE__ */ jsxs(Grid, { templateColumns: "repeat(4, 1fr)", gap: 2, w: "full", children: [
|
|
6225
|
-
|
|
6353
|
+
showSocialLogin && /* @__PURE__ */ jsx(
|
|
6226
6354
|
SocialLoginButtons,
|
|
6227
6355
|
{
|
|
6228
6356
|
isDark,
|
|
6229
|
-
|
|
6357
|
+
loginMethods,
|
|
6358
|
+
gridColumn: gridLayout.socialLoginColumn
|
|
6230
6359
|
}
|
|
6231
6360
|
),
|
|
6232
|
-
|
|
6233
|
-
|
|
6234
|
-
|
|
6235
|
-
|
|
6236
|
-
|
|
6237
|
-
|
|
6238
|
-
isDark,
|
|
6239
|
-
gridColumn: 4
|
|
6240
|
-
}
|
|
6241
|
-
)
|
|
6361
|
+
showVeChainLogin && (isOfficialVeChainApp ? /* @__PURE__ */ jsx(
|
|
6362
|
+
VeChainWithPrivyLoginButton,
|
|
6363
|
+
{
|
|
6364
|
+
isDark,
|
|
6365
|
+
gridColumn: gridLayout.veChainColumn
|
|
6366
|
+
}
|
|
6242
6367
|
) : /* @__PURE__ */ jsx(
|
|
6243
6368
|
VeChainLoginButton,
|
|
6244
6369
|
{
|
|
6245
6370
|
isDark,
|
|
6246
|
-
gridColumn:
|
|
6371
|
+
gridColumn: gridLayout.veChainColumn
|
|
6372
|
+
}
|
|
6373
|
+
)),
|
|
6374
|
+
gridLayout.passkeyColumn && /* @__PURE__ */ jsx(
|
|
6375
|
+
PasskeyLoginButton,
|
|
6376
|
+
{
|
|
6377
|
+
isDark,
|
|
6378
|
+
gridColumn: gridLayout.passkeyColumn
|
|
6247
6379
|
}
|
|
6248
6380
|
),
|
|
6249
|
-
|
|
6250
|
-
/* @__PURE__ */ jsx(
|
|
6381
|
+
showDappKit && /* @__PURE__ */ jsx(
|
|
6251
6382
|
DappKitButton,
|
|
6252
6383
|
{
|
|
6253
6384
|
isDark,
|
|
6254
|
-
gridColumn:
|
|
6385
|
+
gridColumn: gridLayout.dappKitColumn
|
|
6255
6386
|
}
|
|
6256
6387
|
),
|
|
6257
|
-
|
|
6388
|
+
showEcosystem && /* @__PURE__ */ jsx(
|
|
6258
6389
|
EcosystemButton,
|
|
6259
6390
|
{
|
|
6260
6391
|
isDark,
|
|
6261
|
-
privySocialLoginEnabled: variant === "full" && privySocialLoginEnabled,
|
|
6262
6392
|
appsInfo: Object.values(appsInfo || {}),
|
|
6263
|
-
isLoading: isEcosystemAppsLoading
|
|
6393
|
+
isLoading: isEcosystemAppsLoading,
|
|
6394
|
+
gridColumn: gridLayout.ecosystemColumn
|
|
6264
6395
|
}
|
|
6265
6396
|
),
|
|
6266
|
-
|
|
6397
|
+
showMoreLogin && /* @__PURE__ */ jsx(
|
|
6267
6398
|
PrivyButton,
|
|
6268
6399
|
{
|
|
6269
6400
|
isDark,
|
|
6270
6401
|
onViewMoreLogin: viewMoreLogin,
|
|
6271
|
-
gridColumn:
|
|
6402
|
+
gridColumn: gridLayout.moreLoginColumn
|
|
6272
6403
|
}
|
|
6273
6404
|
)
|
|
6274
6405
|
] }) })
|
|
@@ -6333,21 +6464,35 @@ var FeatureAnnouncementCard = ({
|
|
|
6333
6464
|
}
|
|
6334
6465
|
);
|
|
6335
6466
|
};
|
|
6336
|
-
var
|
|
6337
|
-
|
|
6338
|
-
|
|
6339
|
-
|
|
6340
|
-
|
|
6467
|
+
var ExchangeWarningAlert = () => {
|
|
6468
|
+
const { t } = useTranslation();
|
|
6469
|
+
const [showFullText, setShowFullText] = useState(false);
|
|
6470
|
+
return /* @__PURE__ */ jsx(Alert, { status: "warning", fontSize: "xs", borderRadius: "xl", p: 2, children: /* @__PURE__ */ jsx(VStack, { spacing: 1, align: "stretch", w: "full", children: /* @__PURE__ */ jsxs(HStack, { spacing: 2, align: "flex-start", children: [
|
|
6471
|
+
/* @__PURE__ */ jsx(AlertIcon, { boxSize: 4 }),
|
|
6472
|
+
/* @__PURE__ */ jsxs(Text, { w: "full", children: [
|
|
6473
|
+
t(
|
|
6474
|
+
"Sending to OceanX or other exchanges may result in loss of funds."
|
|
6475
|
+
),
|
|
6476
|
+
showFullText && t("Send the tokens to your VeWorld wallet first."),
|
|
6477
|
+
/* @__PURE__ */ jsx(
|
|
6478
|
+
Button,
|
|
6479
|
+
{
|
|
6480
|
+
variant: "link",
|
|
6481
|
+
size: "xs",
|
|
6482
|
+
onClick: () => setShowFullText(!showFullText),
|
|
6483
|
+
color: "inherit",
|
|
6484
|
+
pl: 6,
|
|
6485
|
+
mt: 0,
|
|
6486
|
+
children: t(showFullText ? "Show Less" : "Read More")
|
|
6487
|
+
}
|
|
6488
|
+
)
|
|
6489
|
+
] })
|
|
6490
|
+
] }) }) });
|
|
6491
|
+
};
|
|
6492
|
+
var AccountMainContent = ({ setCurrentContent, wallet }) => {
|
|
6341
6493
|
const { t } = useTranslation();
|
|
6342
6494
|
const { darkMode: isDark } = useVeChainKitConfig();
|
|
6343
|
-
const {
|
|
6344
|
-
const { getNotifications } = useNotifications();
|
|
6345
|
-
const notifications = getNotifications();
|
|
6346
|
-
const hasUnreadNotifications = notifications.some((n) => !n.isRead);
|
|
6347
|
-
const handleDisconnect = () => {
|
|
6348
|
-
disconnect();
|
|
6349
|
-
onClose();
|
|
6350
|
-
};
|
|
6495
|
+
const { connection, account } = useWallet();
|
|
6351
6496
|
return /* @__PURE__ */ jsxs(ScrollToTopWrapper, { children: [
|
|
6352
6497
|
/* @__PURE__ */ jsxs(StickyHeaderContainer, { children: [
|
|
6353
6498
|
/* @__PURE__ */ jsx(
|
|
@@ -6370,60 +6515,16 @@ var AccountMainContent = ({
|
|
|
6370
6515
|
setCurrentContent
|
|
6371
6516
|
}
|
|
6372
6517
|
),
|
|
6373
|
-
/* @__PURE__ */
|
|
6374
|
-
|
|
6375
|
-
|
|
6376
|
-
|
|
6377
|
-
|
|
6378
|
-
|
|
6379
|
-
|
|
6380
|
-
|
|
6381
|
-
|
|
6382
|
-
|
|
6383
|
-
type: "disconnect-confirm",
|
|
6384
|
-
props: {
|
|
6385
|
-
onDisconnect: handleDisconnect,
|
|
6386
|
-
onBack: () => setCurrentContent("main")
|
|
6387
|
-
}
|
|
6388
|
-
})
|
|
6389
|
-
}
|
|
6390
|
-
),
|
|
6391
|
-
/* @__PURE__ */ jsx(
|
|
6392
|
-
AccountSelector,
|
|
6393
|
-
{
|
|
6394
|
-
mt: 0,
|
|
6395
|
-
onClick: () => {
|
|
6396
|
-
setCurrentContent("settings");
|
|
6397
|
-
},
|
|
6398
|
-
wallet
|
|
6399
|
-
}
|
|
6400
|
-
),
|
|
6401
|
-
/* @__PURE__ */ jsxs(Box, { position: "relative", children: [
|
|
6402
|
-
/* @__PURE__ */ jsx(
|
|
6403
|
-
IconButton,
|
|
6404
|
-
{
|
|
6405
|
-
p: 2,
|
|
6406
|
-
h: 9,
|
|
6407
|
-
variant: "vechainKitSelector",
|
|
6408
|
-
"aria-label": "notifications",
|
|
6409
|
-
icon: /* @__PURE__ */ jsx(Icon, { boxSize: 5, as: BiBell }),
|
|
6410
|
-
onClick: () => setCurrentContent("notifications")
|
|
6411
|
-
}
|
|
6412
|
-
),
|
|
6413
|
-
hasUnreadNotifications && /* @__PURE__ */ jsx(
|
|
6414
|
-
Box,
|
|
6415
|
-
{
|
|
6416
|
-
position: "absolute",
|
|
6417
|
-
top: 1,
|
|
6418
|
-
right: 1,
|
|
6419
|
-
width: "8px",
|
|
6420
|
-
height: "8px",
|
|
6421
|
-
bg: "red.500",
|
|
6422
|
-
borderRadius: "full"
|
|
6423
|
-
}
|
|
6424
|
-
)
|
|
6425
|
-
] })
|
|
6426
|
-
] }),
|
|
6518
|
+
/* @__PURE__ */ jsx(
|
|
6519
|
+
AccountSelector,
|
|
6520
|
+
{
|
|
6521
|
+
mt: 0,
|
|
6522
|
+
onClick: () => {
|
|
6523
|
+
setCurrentContent("settings");
|
|
6524
|
+
},
|
|
6525
|
+
wallet
|
|
6526
|
+
}
|
|
6527
|
+
),
|
|
6427
6528
|
/* @__PURE__ */ jsx(BalanceSection, { mt: 14 }),
|
|
6428
6529
|
/* @__PURE__ */ jsx(
|
|
6429
6530
|
QuickActionsSection,
|
|
@@ -6510,7 +6611,6 @@ var ActionButton = ({
|
|
|
6510
6611
|
leftIcon,
|
|
6511
6612
|
rightIcon,
|
|
6512
6613
|
title,
|
|
6513
|
-
description,
|
|
6514
6614
|
onClick,
|
|
6515
6615
|
leftImage,
|
|
6516
6616
|
hide = false,
|
|
@@ -6521,7 +6621,8 @@ var ActionButton = ({
|
|
|
6521
6621
|
stacked = false,
|
|
6522
6622
|
isLoading,
|
|
6523
6623
|
loadingText,
|
|
6524
|
-
style
|
|
6624
|
+
style,
|
|
6625
|
+
extraContent
|
|
6525
6626
|
}) => {
|
|
6526
6627
|
const { t } = useTranslation();
|
|
6527
6628
|
const { colorMode } = useColorMode();
|
|
@@ -6550,10 +6651,11 @@ var ActionButton = ({
|
|
|
6550
6651
|
h: "35px",
|
|
6551
6652
|
borderRadius: "full",
|
|
6552
6653
|
alt: "left-image",
|
|
6553
|
-
alignSelf: "end"
|
|
6654
|
+
alignSelf: "end",
|
|
6655
|
+
objectFit: "cover"
|
|
6554
6656
|
}
|
|
6555
6657
|
) : /* @__PURE__ */ jsx(Icon, { as: leftIcon, fontSize: "25px" }) }),
|
|
6556
|
-
/* @__PURE__ */
|
|
6658
|
+
/* @__PURE__ */ jsx(
|
|
6557
6659
|
VStack,
|
|
6558
6660
|
{
|
|
6559
6661
|
textAlign: "left",
|
|
@@ -6561,26 +6663,11 @@ var ActionButton = ({
|
|
|
6561
6663
|
flex: 1,
|
|
6562
6664
|
justifyContent: "flex-start",
|
|
6563
6665
|
alignItems: "flex-start",
|
|
6564
|
-
children: [
|
|
6565
|
-
/* @__PURE__ */
|
|
6566
|
-
|
|
6567
|
-
|
|
6568
|
-
|
|
6569
|
-
/* @__PURE__ */ jsx(
|
|
6570
|
-
Text,
|
|
6571
|
-
{
|
|
6572
|
-
fontSize: "xs",
|
|
6573
|
-
fontWeight: "400",
|
|
6574
|
-
opacity: 0.5,
|
|
6575
|
-
overflowWrap: "break-word",
|
|
6576
|
-
wordBreak: "break-word",
|
|
6577
|
-
whiteSpace: "normal",
|
|
6578
|
-
w: "full",
|
|
6579
|
-
pr: rightIcon ? "0px" : "10px",
|
|
6580
|
-
children: description
|
|
6581
|
-
}
|
|
6582
|
-
)
|
|
6583
|
-
]
|
|
6666
|
+
children: /* @__PURE__ */ jsxs(HStack, { justify: "flex-start", children: [
|
|
6667
|
+
/* @__PURE__ */ jsx(Text, { fontSize: "sm", fontWeight: "400", children: title }),
|
|
6668
|
+
showComingSoon && /* @__PURE__ */ jsx(Tag, { size: "sm", colorScheme: "red", children: t("Coming Soon!") }),
|
|
6669
|
+
extraContent
|
|
6670
|
+
] })
|
|
6584
6671
|
}
|
|
6585
6672
|
),
|
|
6586
6673
|
rightIcon && /* @__PURE__ */ jsx(VStack, { minW: "40px", justifyContent: "flex-end", children: /* @__PURE__ */ jsx(Icon, { as: rightIcon, fontSize: "20px", opacity: 0.5 }) })
|
|
@@ -6594,28 +6681,25 @@ var AccountSelector = ({
|
|
|
6594
6681
|
onClick,
|
|
6595
6682
|
mt
|
|
6596
6683
|
}) => {
|
|
6597
|
-
return /* @__PURE__ */ jsx(HStack, { mt, children: /* @__PURE__ */ jsx(
|
|
6684
|
+
return /* @__PURE__ */ jsx(HStack, { mt, w: "full", justify: "center", children: /* @__PURE__ */ jsx(
|
|
6598
6685
|
Button,
|
|
6599
6686
|
{
|
|
6600
6687
|
w: "fit-content",
|
|
6601
6688
|
p: 2,
|
|
6602
6689
|
pl: 4,
|
|
6603
|
-
h:
|
|
6690
|
+
h: 14,
|
|
6604
6691
|
"aria-label": "Wallet",
|
|
6605
6692
|
onClick,
|
|
6606
6693
|
variant: "vechainKitSelector",
|
|
6607
6694
|
children: /* @__PURE__ */ jsxs(HStack, { spacing: 2, align: "center", children: [
|
|
6608
6695
|
/* @__PURE__ */ jsx(
|
|
6609
|
-
|
|
6696
|
+
AccountAvatar,
|
|
6610
6697
|
{
|
|
6611
|
-
|
|
6612
|
-
|
|
6613
|
-
width: 5,
|
|
6614
|
-
height: 5,
|
|
6615
|
-
rounded: "full"
|
|
6698
|
+
wallet,
|
|
6699
|
+
props: { width: 10, height: 10 }
|
|
6616
6700
|
}
|
|
6617
6701
|
),
|
|
6618
|
-
/* @__PURE__ */ jsx(Text, { fontSize: size, fontWeight: "500", children: humanDomain(wallet?.domain ?? "",
|
|
6702
|
+
/* @__PURE__ */ jsx(Text, { fontSize: size, fontWeight: "500", children: humanDomain(wallet?.domain ?? "", 20, 0) || humanAddress(wallet?.address ?? "", 6, 4) }),
|
|
6619
6703
|
/* @__PURE__ */ jsx(
|
|
6620
6704
|
Icon,
|
|
6621
6705
|
{
|
|
@@ -6815,8 +6899,8 @@ var QuickActionsSection = ({ mt, setCurrentContent }) => {
|
|
|
6815
6899
|
py: 3,
|
|
6816
6900
|
fontSize: "xs",
|
|
6817
6901
|
verticalAlign: "middle",
|
|
6818
|
-
"aria-label": "
|
|
6819
|
-
icon: /* @__PURE__ */ jsx(Icon, { as:
|
|
6902
|
+
"aria-label": "Apps",
|
|
6903
|
+
icon: /* @__PURE__ */ jsx(Icon, { as: IoMdApps, boxSize: 5, opacity: 0.9 }),
|
|
6820
6904
|
onClick: () => setCurrentContent("ecosystem")
|
|
6821
6905
|
}
|
|
6822
6906
|
),
|
|
@@ -6869,85 +6953,541 @@ var QuickActionsSection = ({ mt, setCurrentContent }) => {
|
|
|
6869
6953
|
)
|
|
6870
6954
|
] });
|
|
6871
6955
|
};
|
|
6872
|
-
var
|
|
6956
|
+
var Profile = ({ onEditClick }) => {
|
|
6957
|
+
const { darkMode: isDark } = useVeChainKitConfig();
|
|
6958
|
+
const { account } = useWallet();
|
|
6959
|
+
const baseBackgroundColor = isDark ? "whiteAlpha.100" : "#00000005";
|
|
6960
|
+
const headerImageSvg = picasso(account?.address ?? "");
|
|
6961
|
+
return /* @__PURE__ */ jsxs(
|
|
6962
|
+
Card,
|
|
6963
|
+
{
|
|
6964
|
+
bg: baseBackgroundColor,
|
|
6965
|
+
borderRadius: "xl",
|
|
6966
|
+
width: "full",
|
|
6967
|
+
position: "relative",
|
|
6968
|
+
overflow: "visible",
|
|
6969
|
+
children: [
|
|
6970
|
+
/* @__PURE__ */ jsx(
|
|
6971
|
+
Box,
|
|
6972
|
+
{
|
|
6973
|
+
p: 0,
|
|
6974
|
+
backgroundSize: "100% !important",
|
|
6975
|
+
backgroundPosition: "center",
|
|
6976
|
+
position: "relative",
|
|
6977
|
+
h: "80px",
|
|
6978
|
+
background: `no-repeat url('data:image/svg+xml;utf8,${headerImageSvg}')`,
|
|
6979
|
+
w: "100%",
|
|
6980
|
+
borderRadius: "14px 14px 0 0"
|
|
6981
|
+
}
|
|
6982
|
+
),
|
|
6983
|
+
/* @__PURE__ */ jsx(
|
|
6984
|
+
Box,
|
|
6985
|
+
{
|
|
6986
|
+
position: "absolute",
|
|
6987
|
+
top: "30px",
|
|
6988
|
+
left: "50%",
|
|
6989
|
+
transform: "translateX(-50%)",
|
|
6990
|
+
children: /* @__PURE__ */ jsx(
|
|
6991
|
+
AccountAvatar,
|
|
6992
|
+
{
|
|
6993
|
+
wallet: account,
|
|
6994
|
+
props: {
|
|
6995
|
+
width: "100px",
|
|
6996
|
+
height: "100px",
|
|
6997
|
+
boxShadow: "0px 0px 3px 2px #00000024"
|
|
6998
|
+
}
|
|
6999
|
+
}
|
|
7000
|
+
)
|
|
7001
|
+
}
|
|
7002
|
+
),
|
|
7003
|
+
/* @__PURE__ */ jsx(CardBody, { pt: "14", pb: "6", backgroundColor: "none", border: "none", children: /* @__PURE__ */ jsx(AddressDisplay, { wallet: account }) }),
|
|
7004
|
+
/* @__PURE__ */ jsx(CardFooter, { pt: 0, justify: "center", children: /* @__PURE__ */ jsx(
|
|
7005
|
+
Button,
|
|
7006
|
+
{
|
|
7007
|
+
size: "sm",
|
|
7008
|
+
variant: "ghost",
|
|
7009
|
+
leftIcon: /* @__PURE__ */ jsx(Icon, { as: FaEdit }),
|
|
7010
|
+
onClick: onEditClick,
|
|
7011
|
+
children: "Edit"
|
|
7012
|
+
}
|
|
7013
|
+
) })
|
|
7014
|
+
]
|
|
7015
|
+
}
|
|
7016
|
+
);
|
|
7017
|
+
};
|
|
7018
|
+
var AccessAndSecurityContent = ({ setCurrentContent }) => {
|
|
6873
7019
|
const { t } = useTranslation();
|
|
6874
|
-
const {
|
|
6875
|
-
const {
|
|
6876
|
-
|
|
6877
|
-
|
|
6878
|
-
|
|
6879
|
-
|
|
6880
|
-
|
|
6881
|
-
] }),
|
|
6882
|
-
/* @__PURE__ */ jsx(Text, { fontSize: "sm", color: isDark ? "#dfdfdd" : "#4d4d4d", children: connection.source.type })
|
|
6883
|
-
] }),
|
|
6884
|
-
/* @__PURE__ */ jsxs(HStack, { w: "full", justifyContent: "space-between", children: [
|
|
6885
|
-
/* @__PURE__ */ jsxs(Text, { fontSize: "sm", color: isDark ? "#dfdfdd" : "#4d4d4d", children: [
|
|
6886
|
-
t("Network"),
|
|
6887
|
-
":"
|
|
6888
|
-
] }),
|
|
6889
|
-
/* @__PURE__ */ jsx(Text, { fontSize: "sm", color: isDark ? "#dfdfdd" : "#4d4d4d", children: network.type })
|
|
6890
|
-
] }),
|
|
6891
|
-
/* @__PURE__ */ jsxs(HStack, { w: "full", justifyContent: "space-between", children: [
|
|
6892
|
-
/* @__PURE__ */ jsxs(Text, { fontSize: "sm", color: isDark ? "#dfdfdd" : "#4d4d4d", children: [
|
|
6893
|
-
t("Node URL"),
|
|
6894
|
-
":"
|
|
6895
|
-
] }),
|
|
6896
|
-
/* @__PURE__ */ jsx(Text, { fontSize: "sm", color: isDark ? "#dfdfdd" : "#4d4d4d", children: network.nodeUrl || getConfig(network.type).nodeUrl })
|
|
6897
|
-
] }),
|
|
6898
|
-
connection.isConnectedWithPrivy ? /* @__PURE__ */ jsxs(HStack, { w: "full", justifyContent: "space-between", children: [
|
|
6899
|
-
/* @__PURE__ */ jsxs(Text, { fontSize: "sm", color: isDark ? "#dfdfdd" : "#4d4d4d", children: [
|
|
6900
|
-
t("Smart Account"),
|
|
6901
|
-
":"
|
|
6902
|
-
] }),
|
|
6903
|
-
/* @__PURE__ */ jsx(Text, { fontSize: "sm", color: isDark ? "#dfdfdd" : "#4d4d4d", children: smartAccount.version ? `v${smartAccount.version}` : "v1" })
|
|
6904
|
-
] }) : smartAccount.isDeployed && /* @__PURE__ */ jsxs(HStack, { w: "full", justifyContent: "space-between", children: [
|
|
6905
|
-
/* @__PURE__ */ jsxs(
|
|
6906
|
-
Text,
|
|
7020
|
+
const { linkPasskey } = usePrivy();
|
|
7021
|
+
const { darkMode: isDark, privy } = useVeChainKitConfig();
|
|
7022
|
+
const { connection } = useWallet();
|
|
7023
|
+
return /* @__PURE__ */ jsxs(ScrollToTopWrapper, { children: [
|
|
7024
|
+
/* @__PURE__ */ jsxs(StickyHeaderContainer, { children: [
|
|
7025
|
+
/* @__PURE__ */ jsx(
|
|
7026
|
+
ModalHeader,
|
|
6907
7027
|
{
|
|
6908
|
-
fontSize: "
|
|
7028
|
+
fontSize: "md",
|
|
7029
|
+
fontWeight: "500",
|
|
7030
|
+
textAlign: "center",
|
|
6909
7031
|
color: isDark ? "#dfdfdd" : "#4d4d4d",
|
|
6910
|
-
children:
|
|
6911
|
-
t("Smart Account"),
|
|
6912
|
-
":"
|
|
6913
|
-
]
|
|
7032
|
+
children: t("Access and security")
|
|
6914
7033
|
}
|
|
6915
7034
|
),
|
|
6916
7035
|
/* @__PURE__ */ jsx(
|
|
6917
|
-
|
|
7036
|
+
ModalBackButton,
|
|
6918
7037
|
{
|
|
6919
|
-
|
|
6920
|
-
color: isDark ? "#dfdfdd" : "#4d4d4d",
|
|
6921
|
-
children: smartAccount.version ? `v${smartAccount.version}` : "v1"
|
|
7038
|
+
onClick: () => setCurrentContent("settings")
|
|
6922
7039
|
}
|
|
6923
|
-
)
|
|
7040
|
+
),
|
|
7041
|
+
/* @__PURE__ */ jsx(ModalCloseButton, {})
|
|
6924
7042
|
] }),
|
|
6925
|
-
/* @__PURE__ */
|
|
6926
|
-
|
|
6927
|
-
|
|
6928
|
-
|
|
6929
|
-
|
|
6930
|
-
|
|
6931
|
-
|
|
6932
|
-
|
|
6933
|
-
|
|
6934
|
-
|
|
6935
|
-
|
|
6936
|
-
|
|
6937
|
-
|
|
6938
|
-
VStack,
|
|
6939
|
-
{
|
|
6940
|
-
p: 4,
|
|
6941
|
-
bg: isDark ? "#1a1a1a" : "#f5f5f5",
|
|
6942
|
-
borderRadius: "xl",
|
|
6943
|
-
spacing: 4,
|
|
6944
|
-
w: "full",
|
|
6945
|
-
children: [
|
|
6946
|
-
/* @__PURE__ */ jsxs(HStack, { w: "full", justifyContent: "space-between", children: [
|
|
6947
|
-
/* @__PURE__ */ jsxs(
|
|
6948
|
-
Text,
|
|
7043
|
+
/* @__PURE__ */ jsx(ModalBody, { w: "full", children: /* @__PURE__ */ jsxs(
|
|
7044
|
+
VStack,
|
|
7045
|
+
{
|
|
7046
|
+
justify: "center",
|
|
7047
|
+
spacing: 3,
|
|
7048
|
+
align: "flex-start",
|
|
7049
|
+
w: "full",
|
|
7050
|
+
children: [
|
|
7051
|
+
/* @__PURE__ */ jsx(Text, { fontSize: "sm", opacity: 0.5, children: t(
|
|
7052
|
+
"Manage your embedded wallet security settings or back it up to a new device."
|
|
7053
|
+
) }),
|
|
7054
|
+
/* @__PURE__ */ jsx(
|
|
7055
|
+
ActionButton,
|
|
6949
7056
|
{
|
|
6950
|
-
|
|
7057
|
+
title: t("Passkey"),
|
|
7058
|
+
description: t(
|
|
7059
|
+
"Enable one click login by adding a passkey to your account."
|
|
7060
|
+
),
|
|
7061
|
+
onClick: () => {
|
|
7062
|
+
linkPasskey();
|
|
7063
|
+
},
|
|
7064
|
+
leftIcon: IoIosFingerPrint,
|
|
7065
|
+
rightIcon: void 0,
|
|
7066
|
+
isDisabled: !privy?.allowPasskeyLinking
|
|
7067
|
+
}
|
|
7068
|
+
),
|
|
7069
|
+
/* @__PURE__ */ jsx(
|
|
7070
|
+
ActionButton,
|
|
7071
|
+
{
|
|
7072
|
+
title: t("Login methods"),
|
|
7073
|
+
description: t(
|
|
7074
|
+
connection.isConnectedWithSocialLogin ? "View and manage the login methods linked to your wallet." : "Login methods can be managed only in the app securing your wallet."
|
|
7075
|
+
),
|
|
7076
|
+
onClick: () => {
|
|
7077
|
+
setCurrentContent("privy-linked-accounts");
|
|
7078
|
+
},
|
|
7079
|
+
isDisabled: !connection.isConnectedWithSocialLogin,
|
|
7080
|
+
leftIcon: GrUserAdmin,
|
|
7081
|
+
rightIcon: MdOutlineNavigateNext
|
|
7082
|
+
}
|
|
7083
|
+
),
|
|
7084
|
+
/* @__PURE__ */ jsx(
|
|
7085
|
+
ActionButton,
|
|
7086
|
+
{
|
|
7087
|
+
title: t("Embedded wallet"),
|
|
7088
|
+
description: t(
|
|
7089
|
+
connection.isConnectedWithSocialLogin ? "Store your Recovery Phrase or Private Key in a secure location, avoid losing access to your assets." : "Backup can be done only in the app securing your wallet."
|
|
7090
|
+
),
|
|
7091
|
+
onClick: () => {
|
|
7092
|
+
setCurrentContent("embedded-wallet");
|
|
7093
|
+
},
|
|
7094
|
+
leftIcon: HiOutlineWallet,
|
|
7095
|
+
rightIcon: MdOutlineNavigateNext
|
|
7096
|
+
}
|
|
7097
|
+
)
|
|
7098
|
+
]
|
|
7099
|
+
}
|
|
7100
|
+
) }),
|
|
7101
|
+
/* @__PURE__ */ jsx(ModalFooter, { w: "full" })
|
|
7102
|
+
] });
|
|
7103
|
+
};
|
|
7104
|
+
var SettingsContent = ({
|
|
7105
|
+
setCurrentContent,
|
|
7106
|
+
onLogoutSuccess
|
|
7107
|
+
}) => {
|
|
7108
|
+
const contentRef = useRef(null);
|
|
7109
|
+
const { t } = useTranslation();
|
|
7110
|
+
const { privy, darkMode: isDark } = useVeChainKitConfig();
|
|
7111
|
+
const { connection, disconnect } = useWallet();
|
|
7112
|
+
const { getConnectionCache } = useCrossAppConnectionCache();
|
|
7113
|
+
const connectionCache = getConnectionCache();
|
|
7114
|
+
const { data: appInfo } = useFetchAppInfo(privy?.appId ?? "");
|
|
7115
|
+
const { getNotifications } = useNotifications();
|
|
7116
|
+
const notifications = getNotifications();
|
|
7117
|
+
const hasUnreadNotifications = notifications.some((n) => !n.isRead);
|
|
7118
|
+
useEffect(() => {
|
|
7119
|
+
if (contentRef.current) {
|
|
7120
|
+
contentRef.current.scrollTop = 0;
|
|
7121
|
+
}
|
|
7122
|
+
}, []);
|
|
7123
|
+
return /* @__PURE__ */ jsxs(Box, { children: [
|
|
7124
|
+
/* @__PURE__ */ jsxs(StickyHeaderContainer, { children: [
|
|
7125
|
+
/* @__PURE__ */ jsx(
|
|
7126
|
+
ModalHeader,
|
|
7127
|
+
{
|
|
7128
|
+
fontSize: "md",
|
|
7129
|
+
fontWeight: "500",
|
|
7130
|
+
textAlign: "center",
|
|
7131
|
+
color: isDark ? "#dfdfdd" : "#4d4d4d",
|
|
7132
|
+
children: t("Settings")
|
|
7133
|
+
}
|
|
7134
|
+
),
|
|
7135
|
+
/* @__PURE__ */ jsx(ModalBackButton, { onClick: () => setCurrentContent("main") }),
|
|
7136
|
+
/* @__PURE__ */ jsx(ModalCloseButton, {})
|
|
7137
|
+
] }),
|
|
7138
|
+
/* @__PURE__ */ jsxs(ModalBody, { w: "full", children: [
|
|
7139
|
+
/* @__PURE__ */ jsx(
|
|
7140
|
+
Profile,
|
|
7141
|
+
{
|
|
7142
|
+
onEditClick: () => setCurrentContent("account-customization")
|
|
7143
|
+
}
|
|
7144
|
+
),
|
|
7145
|
+
/* @__PURE__ */ jsxs(VStack, { w: "full", spacing: 0, children: [
|
|
7146
|
+
/* @__PURE__ */ jsx(
|
|
7147
|
+
ActionButton,
|
|
7148
|
+
{
|
|
7149
|
+
style: {
|
|
7150
|
+
marginTop: "10px",
|
|
7151
|
+
borderBottomRadius: connection.isConnectedWithPrivy ? "0px" : "12px"
|
|
7152
|
+
},
|
|
7153
|
+
title: t("Connection details"),
|
|
7154
|
+
description: t(
|
|
7155
|
+
"View the details of your connection to this app."
|
|
7156
|
+
),
|
|
7157
|
+
onClick: () => {
|
|
7158
|
+
setCurrentContent("connection-details");
|
|
7159
|
+
},
|
|
7160
|
+
leftIcon: VscDebugDisconnect,
|
|
7161
|
+
rightIcon: MdOutlineNavigateNext
|
|
7162
|
+
}
|
|
7163
|
+
),
|
|
7164
|
+
connection.isConnectedWithPrivy && /* @__PURE__ */ jsx(
|
|
7165
|
+
ActionButton,
|
|
7166
|
+
{
|
|
7167
|
+
style: {
|
|
7168
|
+
borderTopRadius: "0px"
|
|
7169
|
+
},
|
|
7170
|
+
title: t("Access and security"),
|
|
7171
|
+
description: t(
|
|
7172
|
+
"Manage your embedded wallet security settings or back it up to a new device."
|
|
7173
|
+
),
|
|
7174
|
+
onClick: () => {
|
|
7175
|
+
setCurrentContent("access-and-security");
|
|
7176
|
+
},
|
|
7177
|
+
leftIcon: IoShieldOutline,
|
|
7178
|
+
rightIcon: MdOutlineNavigateNext
|
|
7179
|
+
}
|
|
7180
|
+
),
|
|
7181
|
+
/* @__PURE__ */ jsx(
|
|
7182
|
+
ActionButton,
|
|
7183
|
+
{
|
|
7184
|
+
style: {
|
|
7185
|
+
marginTop: "10px",
|
|
7186
|
+
borderBottomRadius: "0px"
|
|
7187
|
+
},
|
|
7188
|
+
title: t("Notifications"),
|
|
7189
|
+
description: t("View your notifications and updates."),
|
|
7190
|
+
onClick: () => {
|
|
7191
|
+
setCurrentContent("notifications");
|
|
7192
|
+
},
|
|
7193
|
+
leftIcon: BiBell,
|
|
7194
|
+
rightIcon: MdOutlineNavigateNext,
|
|
7195
|
+
extraContent: hasUnreadNotifications && /* @__PURE__ */ jsx(
|
|
7196
|
+
Box,
|
|
7197
|
+
{
|
|
7198
|
+
minWidth: "16px",
|
|
7199
|
+
height: "16px",
|
|
7200
|
+
bg: "red.500",
|
|
7201
|
+
borderRadius: "full",
|
|
7202
|
+
display: "flex",
|
|
7203
|
+
alignItems: "center",
|
|
7204
|
+
justifyContent: "center",
|
|
7205
|
+
ml: 2,
|
|
7206
|
+
children: /* @__PURE__ */ jsx(Text, { fontSize: "xs", color: "white", children: notifications.filter(
|
|
7207
|
+
(n) => !n.isRead
|
|
7208
|
+
).length })
|
|
7209
|
+
}
|
|
7210
|
+
)
|
|
7211
|
+
}
|
|
7212
|
+
),
|
|
7213
|
+
/* @__PURE__ */ jsx(
|
|
7214
|
+
ActionButton,
|
|
7215
|
+
{
|
|
7216
|
+
title: t("Help"),
|
|
7217
|
+
description: t(
|
|
7218
|
+
"Still have some doubts? Check out our FAQs and learn more.",
|
|
7219
|
+
{
|
|
7220
|
+
appName: connection.isConnectedWithCrossApp ? connectionCache?.ecosystemApp?.name : Object.values(appInfo ?? {})[0]?.name ?? ""
|
|
7221
|
+
}
|
|
7222
|
+
),
|
|
7223
|
+
onClick: () => setCurrentContent("faq"),
|
|
7224
|
+
leftIcon: BsQuestionCircle,
|
|
7225
|
+
rightIcon: MdOutlineNavigateNext,
|
|
7226
|
+
style: {
|
|
7227
|
+
borderTopRadius: "0px"
|
|
7228
|
+
}
|
|
7229
|
+
}
|
|
7230
|
+
)
|
|
7231
|
+
] })
|
|
7232
|
+
] }),
|
|
7233
|
+
/* @__PURE__ */ jsx(ModalFooter, { w: "full", children: /* @__PURE__ */ jsx(
|
|
7234
|
+
Button,
|
|
7235
|
+
{
|
|
7236
|
+
onClick: () => setCurrentContent({
|
|
7237
|
+
type: "disconnect-confirm",
|
|
7238
|
+
props: {
|
|
7239
|
+
onDisconnect: () => {
|
|
7240
|
+
disconnect();
|
|
7241
|
+
onLogoutSuccess();
|
|
7242
|
+
},
|
|
7243
|
+
onBack: () => setCurrentContent("settings")
|
|
7244
|
+
}
|
|
7245
|
+
}),
|
|
7246
|
+
variant: "vechainKitSecondary",
|
|
7247
|
+
leftIcon: /* @__PURE__ */ jsx(RiLogoutBoxLine, { color: "#888888" }),
|
|
7248
|
+
children: t("Logout")
|
|
7249
|
+
}
|
|
7250
|
+
) })
|
|
7251
|
+
] });
|
|
7252
|
+
};
|
|
7253
|
+
var AccountCustomizationContent = ({ setCurrentContent }) => {
|
|
7254
|
+
const { t } = useTranslation();
|
|
7255
|
+
const { network, darkMode: isDark } = useVeChainKitConfig();
|
|
7256
|
+
const { account } = useWallet();
|
|
7257
|
+
const fileInputRef = useRef(null);
|
|
7258
|
+
const [isUploading, setIsUploading] = useState(false);
|
|
7259
|
+
const [isProcessing, setIsProcessing] = useState(false);
|
|
7260
|
+
const [showFullText, setShowFullText] = useState(false);
|
|
7261
|
+
const queryClient = useQueryClient();
|
|
7262
|
+
const { onUpload } = useSingleImageUpload({
|
|
7263
|
+
compressImage: true
|
|
7264
|
+
});
|
|
7265
|
+
const { updateAvatar } = useUpdateAvatarRecord({
|
|
7266
|
+
onSuccess: async () => {
|
|
7267
|
+
await queryClient.invalidateQueries({
|
|
7268
|
+
queryKey: getAvatarQueryKey(account?.domain ?? "")
|
|
7269
|
+
});
|
|
7270
|
+
await queryClient.refetchQueries({
|
|
7271
|
+
queryKey: getAvatarQueryKey(account?.domain ?? "")
|
|
7272
|
+
});
|
|
7273
|
+
setIsProcessing(false);
|
|
7274
|
+
},
|
|
7275
|
+
onError: () => {
|
|
7276
|
+
setIsProcessing(false);
|
|
7277
|
+
}
|
|
7278
|
+
});
|
|
7279
|
+
const handleImageUpload = async (event) => {
|
|
7280
|
+
const file = event.target.files?.[0];
|
|
7281
|
+
if (!file) return;
|
|
7282
|
+
try {
|
|
7283
|
+
setIsUploading(true);
|
|
7284
|
+
setIsProcessing(true);
|
|
7285
|
+
const uploadedImage = await onUpload(file);
|
|
7286
|
+
if (!uploadedImage) throw new Error("Failed to compress image");
|
|
7287
|
+
const ipfsHash = await uploadBlobToIPFS(
|
|
7288
|
+
uploadedImage.file,
|
|
7289
|
+
file.name,
|
|
7290
|
+
network.type
|
|
7291
|
+
);
|
|
7292
|
+
await updateAvatar(account?.domain ?? "", "ipfs://" + ipfsHash);
|
|
7293
|
+
} catch (error) {
|
|
7294
|
+
console.error("Error uploading image:", error);
|
|
7295
|
+
setIsProcessing(false);
|
|
7296
|
+
} finally {
|
|
7297
|
+
setIsUploading(false);
|
|
7298
|
+
}
|
|
7299
|
+
};
|
|
7300
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
7301
|
+
/* @__PURE__ */ jsxs(StickyHeaderContainer, { children: [
|
|
7302
|
+
/* @__PURE__ */ jsx(
|
|
7303
|
+
ModalHeader,
|
|
7304
|
+
{
|
|
7305
|
+
fontSize: "md",
|
|
7306
|
+
fontWeight: "500",
|
|
7307
|
+
textAlign: "center",
|
|
7308
|
+
color: isDark ? "#dfdfdd" : "#4d4d4d",
|
|
7309
|
+
children: t("Customize Account")
|
|
7310
|
+
}
|
|
7311
|
+
),
|
|
7312
|
+
/* @__PURE__ */ jsx(
|
|
7313
|
+
ModalBackButton,
|
|
7314
|
+
{
|
|
7315
|
+
onClick: () => setCurrentContent("settings")
|
|
7316
|
+
}
|
|
7317
|
+
),
|
|
7318
|
+
/* @__PURE__ */ jsx(ModalCloseButton, {})
|
|
7319
|
+
] }),
|
|
7320
|
+
/* @__PURE__ */ jsx(ModalBody, { children: /* @__PURE__ */ jsxs(VStack, { spacing: 3, align: "center", children: [
|
|
7321
|
+
/* @__PURE__ */ jsxs(
|
|
7322
|
+
VStack,
|
|
7323
|
+
{
|
|
7324
|
+
spacing: 3,
|
|
7325
|
+
w: "full",
|
|
7326
|
+
justifyContent: "flex-start",
|
|
7327
|
+
alignItems: "flex-start",
|
|
7328
|
+
children: [
|
|
7329
|
+
/* @__PURE__ */ jsx(Text, { fontSize: "sm", opacity: 0.5, children: t(
|
|
7330
|
+
"Customize your account with a unique .vet domain name and profile image to enhance your identity across VeChain applications."
|
|
7331
|
+
) }),
|
|
7332
|
+
showFullText && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
7333
|
+
/* @__PURE__ */ jsx(Text, { fontSize: "sm", opacity: 0.5, children: t(
|
|
7334
|
+
"Your customizations are linked to your .vet domain name, making them portable across different applications."
|
|
7335
|
+
) }),
|
|
7336
|
+
/* @__PURE__ */ jsx(Text, { fontSize: "sm", opacity: 0.5, children: t(
|
|
7337
|
+
"To get started with customization, first secure your .vet domain name. Once you have a domain, you can add a profile image that will be visible wherever you use your account."
|
|
7338
|
+
) }),
|
|
7339
|
+
/* @__PURE__ */ jsx(Text, { fontSize: "sm", opacity: 0.5, children: t(
|
|
7340
|
+
"Changing your domain name will update also your profile image."
|
|
7341
|
+
) })
|
|
7342
|
+
] }),
|
|
7343
|
+
/* @__PURE__ */ jsx(
|
|
7344
|
+
Button,
|
|
7345
|
+
{
|
|
7346
|
+
mt: 0,
|
|
7347
|
+
variant: "link",
|
|
7348
|
+
size: "sm",
|
|
7349
|
+
onClick: () => setShowFullText(!showFullText),
|
|
7350
|
+
color: "blue.500",
|
|
7351
|
+
textAlign: "left",
|
|
7352
|
+
children: t(showFullText ? "Show Less" : "Read More")
|
|
7353
|
+
}
|
|
7354
|
+
)
|
|
7355
|
+
]
|
|
7356
|
+
}
|
|
7357
|
+
),
|
|
7358
|
+
/* @__PURE__ */ jsx(
|
|
7359
|
+
ActionButton,
|
|
7360
|
+
{
|
|
7361
|
+
style: {
|
|
7362
|
+
mt: 3
|
|
7363
|
+
},
|
|
7364
|
+
title: account?.domain ? account?.domain : t("Choose account name"),
|
|
7365
|
+
description: t(
|
|
7366
|
+
"Choose a unique .vet domain name for your account."
|
|
7367
|
+
),
|
|
7368
|
+
onClick: () => {
|
|
7369
|
+
if (account?.domain) {
|
|
7370
|
+
setCurrentContent({
|
|
7371
|
+
type: "choose-name-search",
|
|
7372
|
+
props: {
|
|
7373
|
+
name: "",
|
|
7374
|
+
setCurrentContent
|
|
7375
|
+
}
|
|
7376
|
+
});
|
|
7377
|
+
} else {
|
|
7378
|
+
setCurrentContent("choose-name");
|
|
7379
|
+
}
|
|
7380
|
+
},
|
|
7381
|
+
leftIcon: FaRegAddressCard,
|
|
7382
|
+
rightIcon: MdOutlineNavigateNext
|
|
7383
|
+
}
|
|
7384
|
+
),
|
|
7385
|
+
/* @__PURE__ */ jsx(
|
|
7386
|
+
ActionButton,
|
|
7387
|
+
{
|
|
7388
|
+
title: t("Update profile image"),
|
|
7389
|
+
description: t(
|
|
7390
|
+
!account?.domain ? "You can change your profile image only after you setup your domain name." : "Customize your account by adding a profile image, which will be displayed on the apps you use."
|
|
7391
|
+
),
|
|
7392
|
+
onClick: () => fileInputRef.current?.click(),
|
|
7393
|
+
leftImage: account?.image,
|
|
7394
|
+
isLoading: isUploading || isProcessing,
|
|
7395
|
+
isDisabled: !account?.domain,
|
|
7396
|
+
loadingText: isUploading ? t("Uploading image") : t("Setting image")
|
|
7397
|
+
}
|
|
7398
|
+
),
|
|
7399
|
+
/* @__PURE__ */ jsx(
|
|
7400
|
+
"input",
|
|
7401
|
+
{
|
|
7402
|
+
type: "file",
|
|
7403
|
+
ref: fileInputRef,
|
|
7404
|
+
hidden: true,
|
|
7405
|
+
accept: "image/*",
|
|
7406
|
+
onChange: async (event) => await handleImageUpload(event)
|
|
7407
|
+
}
|
|
7408
|
+
)
|
|
7409
|
+
] }) })
|
|
7410
|
+
] });
|
|
7411
|
+
};
|
|
7412
|
+
var NetworkInfo = () => {
|
|
7413
|
+
const { t } = useTranslation();
|
|
7414
|
+
const { darkMode: isDark, network } = useVeChainKitConfig();
|
|
7415
|
+
const { connection, smartAccount } = useWallet();
|
|
7416
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
7417
|
+
/* @__PURE__ */ jsxs(HStack, { w: "full", justifyContent: "space-between", children: [
|
|
7418
|
+
/* @__PURE__ */ jsxs(Text, { fontSize: "sm", color: isDark ? "#dfdfdd" : "#4d4d4d", children: [
|
|
7419
|
+
t("Connection Type"),
|
|
7420
|
+
":"
|
|
7421
|
+
] }),
|
|
7422
|
+
/* @__PURE__ */ jsx(Text, { fontSize: "sm", color: isDark ? "#dfdfdd" : "#4d4d4d", children: connection.source.type })
|
|
7423
|
+
] }),
|
|
7424
|
+
/* @__PURE__ */ jsxs(HStack, { w: "full", justifyContent: "space-between", children: [
|
|
7425
|
+
/* @__PURE__ */ jsxs(Text, { fontSize: "sm", color: isDark ? "#dfdfdd" : "#4d4d4d", children: [
|
|
7426
|
+
t("Network"),
|
|
7427
|
+
":"
|
|
7428
|
+
] }),
|
|
7429
|
+
/* @__PURE__ */ jsx(Text, { fontSize: "sm", color: isDark ? "#dfdfdd" : "#4d4d4d", children: network.type })
|
|
7430
|
+
] }),
|
|
7431
|
+
/* @__PURE__ */ jsxs(HStack, { w: "full", justifyContent: "space-between", children: [
|
|
7432
|
+
/* @__PURE__ */ jsxs(Text, { fontSize: "sm", color: isDark ? "#dfdfdd" : "#4d4d4d", children: [
|
|
7433
|
+
t("Node URL"),
|
|
7434
|
+
":"
|
|
7435
|
+
] }),
|
|
7436
|
+
/* @__PURE__ */ jsx(Text, { fontSize: "sm", color: isDark ? "#dfdfdd" : "#4d4d4d", children: network.nodeUrl || getConfig(network.type).nodeUrl })
|
|
7437
|
+
] }),
|
|
7438
|
+
connection.isConnectedWithPrivy ? /* @__PURE__ */ jsxs(HStack, { w: "full", justifyContent: "space-between", children: [
|
|
7439
|
+
/* @__PURE__ */ jsxs(Text, { fontSize: "sm", color: isDark ? "#dfdfdd" : "#4d4d4d", children: [
|
|
7440
|
+
t("Smart Account"),
|
|
7441
|
+
":"
|
|
7442
|
+
] }),
|
|
7443
|
+
/* @__PURE__ */ jsx(Text, { fontSize: "sm", color: isDark ? "#dfdfdd" : "#4d4d4d", children: smartAccount.version ? `v${smartAccount.version}` : "v1" })
|
|
7444
|
+
] }) : smartAccount.isDeployed && /* @__PURE__ */ jsxs(HStack, { w: "full", justifyContent: "space-between", children: [
|
|
7445
|
+
/* @__PURE__ */ jsxs(
|
|
7446
|
+
Text,
|
|
7447
|
+
{
|
|
7448
|
+
fontSize: "sm",
|
|
7449
|
+
color: isDark ? "#dfdfdd" : "#4d4d4d",
|
|
7450
|
+
children: [
|
|
7451
|
+
t("Smart Account"),
|
|
7452
|
+
":"
|
|
7453
|
+
]
|
|
7454
|
+
}
|
|
7455
|
+
),
|
|
7456
|
+
/* @__PURE__ */ jsx(
|
|
7457
|
+
Text,
|
|
7458
|
+
{
|
|
7459
|
+
fontSize: "sm",
|
|
7460
|
+
color: isDark ? "#dfdfdd" : "#4d4d4d",
|
|
7461
|
+
children: smartAccount.version ? `v${smartAccount.version}` : "v1"
|
|
7462
|
+
}
|
|
7463
|
+
)
|
|
7464
|
+
] }),
|
|
7465
|
+
/* @__PURE__ */ jsxs(HStack, { w: "full", justifyContent: "space-between", children: [
|
|
7466
|
+
/* @__PURE__ */ jsxs(Text, { fontSize: "sm", color: isDark ? "#dfdfdd" : "#4d4d4d", children: [
|
|
7467
|
+
t("VeChain Kit"),
|
|
7468
|
+
":"
|
|
7469
|
+
] }),
|
|
7470
|
+
/* @__PURE__ */ jsx(Text, { fontSize: "sm", color: isDark ? "#dfdfdd" : "#4d4d4d", children: package_default.version })
|
|
7471
|
+
] })
|
|
7472
|
+
] });
|
|
7473
|
+
};
|
|
7474
|
+
var CrossAppConnectionCard = ({ connectionCache }) => {
|
|
7475
|
+
const { t } = useTranslation();
|
|
7476
|
+
const { darkMode: isDark } = useVeChainKitConfig();
|
|
7477
|
+
return /* @__PURE__ */ jsx(Fragment, { children: connectionCache.ecosystemApp && /* @__PURE__ */ jsxs(
|
|
7478
|
+
VStack,
|
|
7479
|
+
{
|
|
7480
|
+
p: 4,
|
|
7481
|
+
bg: isDark ? "#1a1a1a" : "#f5f5f5",
|
|
7482
|
+
borderRadius: "xl",
|
|
7483
|
+
spacing: 4,
|
|
7484
|
+
w: "full",
|
|
7485
|
+
children: [
|
|
7486
|
+
/* @__PURE__ */ jsxs(HStack, { w: "full", justifyContent: "space-between", children: [
|
|
7487
|
+
/* @__PURE__ */ jsxs(
|
|
7488
|
+
Text,
|
|
7489
|
+
{
|
|
7490
|
+
fontSize: "sm",
|
|
6951
7491
|
color: isDark ? "#dfdfdd" : "#4d4d4d",
|
|
6952
7492
|
children: [
|
|
6953
7493
|
t("Logged in with"),
|
|
@@ -7121,14 +7661,13 @@ var WalletSecuredBy = () => {
|
|
|
7121
7661
|
};
|
|
7122
7662
|
var EmbeddedWalletContent = ({ setCurrentContent }) => {
|
|
7123
7663
|
const { t } = useTranslation();
|
|
7664
|
+
const { connectedWallet, connection } = useWallet();
|
|
7124
7665
|
const [showFullText, setShowFullText] = useState(false);
|
|
7125
|
-
const { connectedWallet } = useWallet();
|
|
7126
|
-
const { exportWallet } = usePrivy();
|
|
7127
7666
|
const walletImage = getPicassoImage(connectedWallet?.address ?? "");
|
|
7128
7667
|
const { getConnectionCache } = useCrossAppConnectionCache();
|
|
7129
|
-
const { darkMode: isDark } = useVeChainKitConfig();
|
|
7130
|
-
const { connection } = useWallet();
|
|
7131
7668
|
const connectionCache = getConnectionCache();
|
|
7669
|
+
const { darkMode: isDark } = useVeChainKitConfig();
|
|
7670
|
+
const { exportWallet } = usePrivy();
|
|
7132
7671
|
return /* @__PURE__ */ jsxs(ScrollToTopWrapper, { children: [
|
|
7133
7672
|
/* @__PURE__ */ jsxs(StickyHeaderContainer, { children: [
|
|
7134
7673
|
/* @__PURE__ */ jsx(
|
|
@@ -7138,13 +7677,13 @@ var EmbeddedWalletContent = ({ setCurrentContent }) => {
|
|
|
7138
7677
|
fontWeight: "500",
|
|
7139
7678
|
textAlign: "center",
|
|
7140
7679
|
color: isDark ? "#dfdfdd" : "#4d4d4d",
|
|
7141
|
-
children: t("Embedded
|
|
7680
|
+
children: t("Embedded wallet")
|
|
7142
7681
|
}
|
|
7143
7682
|
),
|
|
7144
7683
|
/* @__PURE__ */ jsx(
|
|
7145
7684
|
ModalBackButton,
|
|
7146
7685
|
{
|
|
7147
|
-
onClick: () => setCurrentContent("
|
|
7686
|
+
onClick: () => setCurrentContent("access-and-security")
|
|
7148
7687
|
}
|
|
7149
7688
|
),
|
|
7150
7689
|
/* @__PURE__ */ jsx(ModalCloseButton, {})
|
|
@@ -7240,280 +7779,10 @@ var EmbeddedWalletContent = ({ setCurrentContent }) => {
|
|
|
7240
7779
|
}
|
|
7241
7780
|
),
|
|
7242
7781
|
" ",
|
|
7243
|
-
t(
|
|
7244
|
-
"to learn more about embedded wallets."
|
|
7245
|
-
)
|
|
7246
|
-
] })
|
|
7247
|
-
] }),
|
|
7248
|
-
/* @__PURE__ */ jsx(
|
|
7249
|
-
Button,
|
|
7250
|
-
{
|
|
7251
|
-
mt: 0,
|
|
7252
|
-
variant: "link",
|
|
7253
|
-
size: "sm",
|
|
7254
|
-
onClick: () => setShowFullText(!showFullText),
|
|
7255
|
-
color: "blue.500",
|
|
7256
|
-
textAlign: "left",
|
|
7257
|
-
children: t(showFullText ? "Show Less" : "Read More")
|
|
7258
|
-
}
|
|
7259
|
-
)
|
|
7260
|
-
] }),
|
|
7261
|
-
/* @__PURE__ */ jsx(
|
|
7262
|
-
ActionButton,
|
|
7263
|
-
{
|
|
7264
|
-
title: t("Backup your wallet"),
|
|
7265
|
-
description: t(
|
|
7266
|
-
connection.isConnectedWithSocialLogin ? "Store your Recovery Phrase or Private Key in a secure location, avoid losing access to your assets." : "Backup can be done only in the app securing your wallet."
|
|
7267
|
-
),
|
|
7268
|
-
onClick: () => {
|
|
7269
|
-
exportWallet();
|
|
7270
|
-
},
|
|
7271
|
-
isDisabled: !connection.isConnectedWithSocialLogin,
|
|
7272
|
-
leftIcon: GiHouseKeys,
|
|
7273
|
-
rightIcon: MdOutlineNavigateNext
|
|
7274
|
-
}
|
|
7275
|
-
),
|
|
7276
|
-
/* @__PURE__ */ jsx(
|
|
7277
|
-
ActionButton,
|
|
7278
|
-
{
|
|
7279
|
-
title: t("Login methods"),
|
|
7280
|
-
description: t(
|
|
7281
|
-
connection.isConnectedWithSocialLogin ? "View and manage the login methods linked to your wallet." : "Login methods can be managed only in the app securing your wallet."
|
|
7282
|
-
),
|
|
7283
|
-
onClick: () => {
|
|
7284
|
-
setCurrentContent("privy-linked-accounts");
|
|
7285
|
-
},
|
|
7286
|
-
isDisabled: !connection.isConnectedWithSocialLogin,
|
|
7287
|
-
leftIcon: MdManageAccounts,
|
|
7288
|
-
rightIcon: MdOutlineNavigateNext
|
|
7289
|
-
}
|
|
7290
|
-
)
|
|
7291
|
-
]
|
|
7292
|
-
}
|
|
7293
|
-
) }),
|
|
7294
|
-
/* @__PURE__ */ jsx(ModalFooter, { w: "full", children: /* @__PURE__ */ jsxs(VStack, { w: "full", children: [
|
|
7295
|
-
/* @__PURE__ */ jsx(Divider, {}),
|
|
7296
|
-
connection.isConnectedWithPrivy && /* @__PURE__ */ jsx(WalletSecuredBy, {})
|
|
7297
|
-
] }) })
|
|
7298
|
-
] });
|
|
7299
|
-
};
|
|
7300
|
-
var WalletSettingsContent = ({
|
|
7301
|
-
setCurrentContent,
|
|
7302
|
-
onLogoutSuccess
|
|
7303
|
-
}) => {
|
|
7304
|
-
const contentRef = useRef(null);
|
|
7305
|
-
const { t } = useTranslation();
|
|
7306
|
-
const { privy, darkMode: isDark, network } = useVeChainKitConfig();
|
|
7307
|
-
const { connection, disconnect, account } = useWallet();
|
|
7308
|
-
const { getConnectionCache } = useCrossAppConnectionCache();
|
|
7309
|
-
const connectionCache = getConnectionCache();
|
|
7310
|
-
const { data: appInfo } = useFetchAppInfo(privy?.appId ?? "");
|
|
7311
|
-
useEffect(() => {
|
|
7312
|
-
if (contentRef.current) {
|
|
7313
|
-
contentRef.current.scrollTop = 0;
|
|
7314
|
-
}
|
|
7315
|
-
}, []);
|
|
7316
|
-
return /* @__PURE__ */ jsxs(Box, { children: [
|
|
7317
|
-
/* @__PURE__ */ jsxs(StickyHeaderContainer, { children: [
|
|
7318
|
-
/* @__PURE__ */ jsx(
|
|
7319
|
-
ModalHeader,
|
|
7320
|
-
{
|
|
7321
|
-
fontSize: "md",
|
|
7322
|
-
fontWeight: "500",
|
|
7323
|
-
textAlign: "center",
|
|
7324
|
-
color: isDark ? "#dfdfdd" : "#4d4d4d",
|
|
7325
|
-
children: t("Settings")
|
|
7326
|
-
}
|
|
7327
|
-
),
|
|
7328
|
-
/* @__PURE__ */ jsx(ModalBackButton, { onClick: () => setCurrentContent("main") }),
|
|
7329
|
-
/* @__PURE__ */ jsx(ModalCloseButton, {})
|
|
7330
|
-
] }),
|
|
7331
|
-
/* @__PURE__ */ jsxs(ModalBody, { w: "full", children: [
|
|
7332
|
-
/* @__PURE__ */ jsxs(VStack, { justify: "center", children: [
|
|
7333
|
-
/* @__PURE__ */ jsx(
|
|
7334
|
-
Image,
|
|
7335
|
-
{
|
|
7336
|
-
src: account?.image,
|
|
7337
|
-
maxW: "100px",
|
|
7338
|
-
borderRadius: "50%"
|
|
7339
|
-
}
|
|
7340
|
-
),
|
|
7341
|
-
/* @__PURE__ */ jsx(AddressDisplay, { wallet: account }),
|
|
7342
|
-
network.type !== "main" && /* @__PURE__ */ jsx(
|
|
7343
|
-
Tag,
|
|
7344
|
-
{
|
|
7345
|
-
size: "sm",
|
|
7346
|
-
colorScheme: "blue",
|
|
7347
|
-
width: "fit-content",
|
|
7348
|
-
justifyContent: "center",
|
|
7349
|
-
padding: "10px",
|
|
7350
|
-
children: network.type === "test" ? t("Testnet") : t("Unknown")
|
|
7351
|
-
}
|
|
7352
|
-
)
|
|
7353
|
-
] }),
|
|
7354
|
-
/* @__PURE__ */ jsxs(VStack, { mt: 10, w: "full", spacing: 3, children: [
|
|
7355
|
-
/* @__PURE__ */ jsx(
|
|
7356
|
-
ActionButton,
|
|
7357
|
-
{
|
|
7358
|
-
title: t("Connection Details"),
|
|
7359
|
-
description: t(
|
|
7360
|
-
"View the details of your connection to this app."
|
|
7361
|
-
),
|
|
7362
|
-
onClick: () => {
|
|
7363
|
-
setCurrentContent("connection-details");
|
|
7364
|
-
},
|
|
7365
|
-
leftIcon: VscDebugDisconnect,
|
|
7366
|
-
rightIcon: MdOutlineNavigateNext
|
|
7367
|
-
}
|
|
7368
|
-
),
|
|
7369
|
-
/* @__PURE__ */ jsx(
|
|
7370
|
-
ActionButton,
|
|
7371
|
-
{
|
|
7372
|
-
title: t("Customize account"),
|
|
7373
|
-
description: t(
|
|
7374
|
-
"Customize your account with a nickname and a picture to easily identify it."
|
|
7375
|
-
),
|
|
7376
|
-
onClick: () => {
|
|
7377
|
-
setCurrentContent("account-customization");
|
|
7378
|
-
},
|
|
7379
|
-
leftIcon: GiPaintBrush,
|
|
7380
|
-
rightIcon: MdOutlineNavigateNext
|
|
7381
|
-
}
|
|
7382
|
-
),
|
|
7383
|
-
connection.isConnectedWithPrivy && /* @__PURE__ */ jsx(
|
|
7384
|
-
ActionButton,
|
|
7385
|
-
{
|
|
7386
|
-
title: t("Embedded Wallet"),
|
|
7387
|
-
description: t(
|
|
7388
|
-
"Manage your embedded wallet security settings or back it up to a new device."
|
|
7389
|
-
),
|
|
7390
|
-
onClick: () => {
|
|
7391
|
-
setCurrentContent("embedded-wallet");
|
|
7392
|
-
},
|
|
7393
|
-
leftIcon: HiOutlineWallet,
|
|
7394
|
-
rightIcon: MdOutlineNavigateNext
|
|
7395
|
-
}
|
|
7396
|
-
),
|
|
7397
|
-
/* @__PURE__ */ jsx(
|
|
7398
|
-
ActionButton,
|
|
7399
|
-
{
|
|
7400
|
-
title: t("FAQs"),
|
|
7401
|
-
description: t(
|
|
7402
|
-
"Still have some doubts? Check out our FAQs and learn more.",
|
|
7403
|
-
{
|
|
7404
|
-
appName: connection.isConnectedWithCrossApp ? connectionCache?.ecosystemApp?.name : Object.values(appInfo ?? {})[0]?.name ?? ""
|
|
7405
|
-
}
|
|
7406
|
-
),
|
|
7407
|
-
onClick: () => setCurrentContent("faq"),
|
|
7408
|
-
leftIcon: BsQuestionCircle,
|
|
7409
|
-
rightIcon: MdOutlineNavigateNext
|
|
7410
|
-
}
|
|
7411
|
-
)
|
|
7412
|
-
] })
|
|
7413
|
-
] }),
|
|
7414
|
-
/* @__PURE__ */ jsx(ModalFooter, { w: "full", children: /* @__PURE__ */ jsx(
|
|
7415
|
-
Button,
|
|
7416
|
-
{
|
|
7417
|
-
onClick: () => {
|
|
7418
|
-
disconnect();
|
|
7419
|
-
onLogoutSuccess();
|
|
7420
|
-
},
|
|
7421
|
-
variant: "vechainKitSecondary",
|
|
7422
|
-
leftIcon: /* @__PURE__ */ jsx(RiLogoutBoxLine, { color: "#888888" }),
|
|
7423
|
-
children: t("Logout")
|
|
7424
|
-
}
|
|
7425
|
-
) })
|
|
7426
|
-
] });
|
|
7427
|
-
};
|
|
7428
|
-
var AccountCustomizationContent = ({ setCurrentContent }) => {
|
|
7429
|
-
const { t } = useTranslation();
|
|
7430
|
-
const { network, darkMode: isDark } = useVeChainKitConfig();
|
|
7431
|
-
const { account } = useWallet();
|
|
7432
|
-
const fileInputRef = useRef(null);
|
|
7433
|
-
const [isUploading, setIsUploading] = useState(false);
|
|
7434
|
-
const [isProcessing, setIsProcessing] = useState(false);
|
|
7435
|
-
const [showFullText, setShowFullText] = useState(false);
|
|
7436
|
-
const queryClient = useQueryClient();
|
|
7437
|
-
const { onUpload } = useSingleImageUpload({
|
|
7438
|
-
compressImage: true
|
|
7439
|
-
});
|
|
7440
|
-
const { updateAvatar } = useUpdateAvatarRecord({
|
|
7441
|
-
onSuccess: async () => {
|
|
7442
|
-
await queryClient.invalidateQueries({
|
|
7443
|
-
queryKey: getAvatarQueryKey(account?.domain ?? "")
|
|
7444
|
-
});
|
|
7445
|
-
await queryClient.refetchQueries({
|
|
7446
|
-
queryKey: getAvatarQueryKey(account?.domain ?? "")
|
|
7447
|
-
});
|
|
7448
|
-
setIsProcessing(false);
|
|
7449
|
-
},
|
|
7450
|
-
onError: () => {
|
|
7451
|
-
setIsProcessing(false);
|
|
7452
|
-
}
|
|
7453
|
-
});
|
|
7454
|
-
const handleImageUpload = async (event) => {
|
|
7455
|
-
const file = event.target.files?.[0];
|
|
7456
|
-
if (!file) return;
|
|
7457
|
-
try {
|
|
7458
|
-
setIsUploading(true);
|
|
7459
|
-
setIsProcessing(true);
|
|
7460
|
-
const uploadedImage = await onUpload(file);
|
|
7461
|
-
if (!uploadedImage) throw new Error("Failed to compress image");
|
|
7462
|
-
const ipfsHash = await uploadBlobToIPFS(
|
|
7463
|
-
uploadedImage.file,
|
|
7464
|
-
file.name,
|
|
7465
|
-
network.type
|
|
7466
|
-
);
|
|
7467
|
-
await updateAvatar(account?.domain ?? "", "ipfs://" + ipfsHash);
|
|
7468
|
-
} catch (error) {
|
|
7469
|
-
console.error("Error uploading image:", error);
|
|
7470
|
-
setIsProcessing(false);
|
|
7471
|
-
} finally {
|
|
7472
|
-
setIsUploading(false);
|
|
7473
|
-
}
|
|
7474
|
-
};
|
|
7475
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
7476
|
-
/* @__PURE__ */ jsxs(StickyHeaderContainer, { children: [
|
|
7477
|
-
/* @__PURE__ */ jsx(
|
|
7478
|
-
ModalHeader,
|
|
7479
|
-
{
|
|
7480
|
-
fontSize: "md",
|
|
7481
|
-
fontWeight: "500",
|
|
7482
|
-
textAlign: "center",
|
|
7483
|
-
color: isDark ? "#dfdfdd" : "#4d4d4d",
|
|
7484
|
-
children: t("Customize Account")
|
|
7485
|
-
}
|
|
7486
|
-
),
|
|
7487
|
-
/* @__PURE__ */ jsx(
|
|
7488
|
-
ModalBackButton,
|
|
7489
|
-
{
|
|
7490
|
-
onClick: () => setCurrentContent("settings")
|
|
7491
|
-
}
|
|
7492
|
-
),
|
|
7493
|
-
/* @__PURE__ */ jsx(ModalCloseButton, {})
|
|
7494
|
-
] }),
|
|
7495
|
-
/* @__PURE__ */ jsx(ModalBody, { children: /* @__PURE__ */ jsxs(VStack, { spacing: 3, align: "center", children: [
|
|
7496
|
-
/* @__PURE__ */ jsxs(
|
|
7497
|
-
VStack,
|
|
7498
|
-
{
|
|
7499
|
-
spacing: 3,
|
|
7500
|
-
w: "full",
|
|
7501
|
-
justifyContent: "flex-start",
|
|
7502
|
-
alignItems: "flex-start",
|
|
7503
|
-
children: [
|
|
7504
|
-
/* @__PURE__ */ jsx(Text, { fontSize: "sm", opacity: 0.5, children: t(
|
|
7505
|
-
"Customize your account with a unique .vet domain name and profile image to enhance your identity across VeChain applications."
|
|
7506
|
-
) }),
|
|
7507
|
-
showFullText && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
7508
|
-
/* @__PURE__ */ jsx(Text, { fontSize: "sm", opacity: 0.5, children: t(
|
|
7509
|
-
"Your customizations are linked to your .vet domain name, making them portable across different applications."
|
|
7510
|
-
) }),
|
|
7511
|
-
/* @__PURE__ */ jsx(Text, { fontSize: "sm", opacity: 0.5, children: t(
|
|
7512
|
-
"To get started with customization, first secure your .vet domain name. Once you have a domain, you can add a profile image that will be visible wherever you use your account."
|
|
7513
|
-
) }),
|
|
7514
|
-
/* @__PURE__ */ jsx(Text, { fontSize: "sm", opacity: 0.5, children: t(
|
|
7515
|
-
"Changing your domain name will update also your profile image."
|
|
7516
|
-
) })
|
|
7782
|
+
t(
|
|
7783
|
+
"to learn more about embedded wallets."
|
|
7784
|
+
)
|
|
7785
|
+
] })
|
|
7517
7786
|
] }),
|
|
7518
7787
|
/* @__PURE__ */ jsx(
|
|
7519
7788
|
Button,
|
|
@@ -7527,60 +7796,27 @@ var AccountCustomizationContent = ({ setCurrentContent }) => {
|
|
|
7527
7796
|
children: t(showFullText ? "Show Less" : "Read More")
|
|
7528
7797
|
}
|
|
7529
7798
|
)
|
|
7530
|
-
]
|
|
7531
|
-
|
|
7532
|
-
|
|
7533
|
-
|
|
7534
|
-
|
|
7535
|
-
|
|
7536
|
-
|
|
7537
|
-
|
|
7538
|
-
|
|
7539
|
-
|
|
7540
|
-
|
|
7541
|
-
|
|
7542
|
-
|
|
7543
|
-
onClick: () => {
|
|
7544
|
-
if (account?.domain) {
|
|
7545
|
-
setCurrentContent({
|
|
7546
|
-
type: "choose-name-search",
|
|
7547
|
-
props: {
|
|
7548
|
-
name: "",
|
|
7549
|
-
setCurrentContent
|
|
7550
|
-
}
|
|
7551
|
-
});
|
|
7552
|
-
} else {
|
|
7553
|
-
setCurrentContent("choose-name");
|
|
7799
|
+
] }),
|
|
7800
|
+
/* @__PURE__ */ jsx(
|
|
7801
|
+
ActionButton,
|
|
7802
|
+
{
|
|
7803
|
+
title: t("Backup your wallet"),
|
|
7804
|
+
description: t(
|
|
7805
|
+
connection.isConnectedWithSocialLogin ? "Store your Recovery Phrase or Private Key in a secure location, avoid losing access to your assets." : "Backup can be done only in the app securing your wallet."
|
|
7806
|
+
),
|
|
7807
|
+
onClick: () => {
|
|
7808
|
+
exportWallet();
|
|
7809
|
+
},
|
|
7810
|
+
isDisabled: !connection.isConnectedWithSocialLogin,
|
|
7811
|
+
leftIcon: GiHouseKeys
|
|
7554
7812
|
}
|
|
7555
|
-
|
|
7556
|
-
|
|
7557
|
-
|
|
7558
|
-
|
|
7559
|
-
|
|
7560
|
-
/* @__PURE__ */ jsx(
|
|
7561
|
-
|
|
7562
|
-
{
|
|
7563
|
-
title: t("Update profile image"),
|
|
7564
|
-
description: t(
|
|
7565
|
-
!account?.domain ? "You can change your profile image only after you setup your domain name." : "Customize your account by adding a profile image, which will be displayed on the apps you use."
|
|
7566
|
-
),
|
|
7567
|
-
onClick: () => fileInputRef.current?.click(),
|
|
7568
|
-
leftImage: account?.image,
|
|
7569
|
-
isLoading: isUploading || isProcessing,
|
|
7570
|
-
isDisabled: !account?.domain,
|
|
7571
|
-
loadingText: isUploading ? t("Uploading image") : t("Setting image")
|
|
7572
|
-
}
|
|
7573
|
-
),
|
|
7574
|
-
/* @__PURE__ */ jsx(
|
|
7575
|
-
"input",
|
|
7576
|
-
{
|
|
7577
|
-
type: "file",
|
|
7578
|
-
ref: fileInputRef,
|
|
7579
|
-
hidden: true,
|
|
7580
|
-
accept: "image/*",
|
|
7581
|
-
onChange: async (event) => await handleImageUpload(event)
|
|
7582
|
-
}
|
|
7583
|
-
)
|
|
7813
|
+
)
|
|
7814
|
+
]
|
|
7815
|
+
}
|
|
7816
|
+
) }),
|
|
7817
|
+
/* @__PURE__ */ jsx(ModalFooter, { w: "full", children: /* @__PURE__ */ jsxs(VStack, { w: "full", children: [
|
|
7818
|
+
/* @__PURE__ */ jsx(Divider, {}),
|
|
7819
|
+
connection.isConnectedWithPrivy && /* @__PURE__ */ jsx(WalletSecuredBy, {})
|
|
7584
7820
|
] }) })
|
|
7585
7821
|
] });
|
|
7586
7822
|
};
|
|
@@ -8055,6 +8291,14 @@ var SendTokenSummaryContent = ({
|
|
|
8055
8291
|
const { darkMode: isDark } = useVeChainKitConfig();
|
|
8056
8292
|
const { account, connection } = useWallet();
|
|
8057
8293
|
const transactionModal = useDisclosure();
|
|
8294
|
+
const { data: avatar } = useGetAvatar(resolvedDomain);
|
|
8295
|
+
const { network } = useVeChainKitConfig();
|
|
8296
|
+
const toImageSrc = useMemo(() => {
|
|
8297
|
+
if (avatar) {
|
|
8298
|
+
return convertUriToUrl(avatar, network.type);
|
|
8299
|
+
}
|
|
8300
|
+
return getPicassoImage(resolvedAddress || toAddressOrDomain);
|
|
8301
|
+
}, [avatar, network.type, resolvedAddress, toAddressOrDomain]);
|
|
8058
8302
|
const transferERC20 = useTransferERC20({
|
|
8059
8303
|
fromAddress: account?.address ?? "",
|
|
8060
8304
|
receiverAddress: resolvedAddress || toAddressOrDomain,
|
|
@@ -8106,20 +8350,7 @@ var SendTokenSummaryContent = ({
|
|
|
8106
8350
|
/* @__PURE__ */ jsx(ModalCloseButton, {})
|
|
8107
8351
|
] }),
|
|
8108
8352
|
/* @__PURE__ */ jsx(ModalBody, { children: /* @__PURE__ */ jsxs(VStack, { spacing: 6, align: "stretch", w: "full", children: [
|
|
8109
|
-
connection.isConnectedWithPrivy && /* @__PURE__ */
|
|
8110
|
-
Alert,
|
|
8111
|
-
{
|
|
8112
|
-
status: "warning",
|
|
8113
|
-
fontSize: "xs",
|
|
8114
|
-
borderRadius: "xl",
|
|
8115
|
-
children: [
|
|
8116
|
-
/* @__PURE__ */ jsx(AlertIcon, {}),
|
|
8117
|
-
t(
|
|
8118
|
-
"Sending to OceanX or other exchanges may result in loss of funds. Send the tokens to your VeWorld wallet first."
|
|
8119
|
-
)
|
|
8120
|
-
]
|
|
8121
|
-
}
|
|
8122
|
-
),
|
|
8353
|
+
connection.isConnectedWithPrivy && /* @__PURE__ */ jsx(ExchangeWarningAlert, {}),
|
|
8123
8354
|
/* @__PURE__ */ jsxs(VStack, { spacing: 4, w: "full", children: [
|
|
8124
8355
|
/* @__PURE__ */ jsx(
|
|
8125
8356
|
AddressDisplayCard,
|
|
@@ -8139,9 +8370,7 @@ var SendTokenSummaryContent = ({
|
|
|
8139
8370
|
label: t("To"),
|
|
8140
8371
|
address: resolvedAddress || toAddressOrDomain,
|
|
8141
8372
|
domain: resolvedDomain,
|
|
8142
|
-
imageSrc:
|
|
8143
|
-
resolvedAddress || toAddressOrDomain
|
|
8144
|
-
),
|
|
8373
|
+
imageSrc: toImageSrc ?? "",
|
|
8145
8374
|
imageAlt: "To account",
|
|
8146
8375
|
symbol: selectedToken.symbol
|
|
8147
8376
|
}
|
|
@@ -8385,6 +8614,123 @@ var ChooseNameContent = ({
|
|
|
8385
8614
|
] }) })
|
|
8386
8615
|
] });
|
|
8387
8616
|
};
|
|
8617
|
+
var ExistingDomainsList = ({
|
|
8618
|
+
domains,
|
|
8619
|
+
onDomainSelect,
|
|
8620
|
+
isLoading
|
|
8621
|
+
}) => {
|
|
8622
|
+
const { t } = useTranslation();
|
|
8623
|
+
const { darkMode: isDark } = useVeChainKitConfig();
|
|
8624
|
+
const { account, connection } = useWallet();
|
|
8625
|
+
if (domains.length === 0 || isLoading) {
|
|
8626
|
+
return null;
|
|
8627
|
+
}
|
|
8628
|
+
return /* @__PURE__ */ jsx(Accordion, { allowToggle: true, children: /* @__PURE__ */ jsx(AccordionItem, { border: "none", children: ({ isExpanded }) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
8629
|
+
/* @__PURE__ */ jsxs(
|
|
8630
|
+
AccordionButton,
|
|
8631
|
+
{
|
|
8632
|
+
bg: isDark ? "whiteAlpha.50" : "gray.50",
|
|
8633
|
+
borderRadius: "xl",
|
|
8634
|
+
_hover: {
|
|
8635
|
+
bg: isDark ? "whiteAlpha.100" : "gray.100"
|
|
8636
|
+
},
|
|
8637
|
+
opacity: isLoading ? 0.7 : 1,
|
|
8638
|
+
transition: "all 0.2s",
|
|
8639
|
+
disabled: isLoading,
|
|
8640
|
+
children: [
|
|
8641
|
+
/* @__PURE__ */ jsx(Box, { flex: "1", textAlign: "left", py: 2, children: /* @__PURE__ */ jsx(Text, { fontWeight: "500", children: isLoading ? t("Loading your domains...") : `${t("Your existing domains")} (${domains.length})` }) }),
|
|
8642
|
+
/* @__PURE__ */ jsx(
|
|
8643
|
+
Icon,
|
|
8644
|
+
{
|
|
8645
|
+
as: isExpanded ? IoChevronUp : IoChevronDown,
|
|
8646
|
+
fontSize: "20px",
|
|
8647
|
+
opacity: 0.5
|
|
8648
|
+
}
|
|
8649
|
+
)
|
|
8650
|
+
]
|
|
8651
|
+
}
|
|
8652
|
+
),
|
|
8653
|
+
/* @__PURE__ */ jsx(AccordionPanel, { pb: 4, pt: 2, children: /* @__PURE__ */ jsx(List, { spacing: 2, children: domains.map((domain) => {
|
|
8654
|
+
const isCurrentDomain = domain.name === account?.domain;
|
|
8655
|
+
const metadata = useWalletMetadata(
|
|
8656
|
+
domain.name,
|
|
8657
|
+
connection.network
|
|
8658
|
+
);
|
|
8659
|
+
return /* @__PURE__ */ jsx(
|
|
8660
|
+
ListItem,
|
|
8661
|
+
{
|
|
8662
|
+
p: 4,
|
|
8663
|
+
bg: isDark ? "#1f1f1e" : "white",
|
|
8664
|
+
borderRadius: "xl",
|
|
8665
|
+
cursor: isCurrentDomain ? "default" : "pointer",
|
|
8666
|
+
opacity: isCurrentDomain ? 0.7 : 1,
|
|
8667
|
+
border: `1px solid ${isDark ? "#2d2d2d" : "#eaeaea"}`,
|
|
8668
|
+
_hover: {
|
|
8669
|
+
bg: isCurrentDomain ? isDark ? "#1f1f1e" : "white" : isDark ? "#252525" : "gray.50",
|
|
8670
|
+
borderColor: isDark ? "#3d3d3d" : "#dedede"
|
|
8671
|
+
},
|
|
8672
|
+
onClick: () => !isCurrentDomain && onDomainSelect(domain.name),
|
|
8673
|
+
transition: "all 0.2s",
|
|
8674
|
+
children: /* @__PURE__ */ jsxs(HStack, { spacing: 3, align: "center", children: [
|
|
8675
|
+
/* @__PURE__ */ jsx(
|
|
8676
|
+
AccountAvatar,
|
|
8677
|
+
{
|
|
8678
|
+
props: {
|
|
8679
|
+
width: "40px",
|
|
8680
|
+
height: "40px",
|
|
8681
|
+
src: metadata.image,
|
|
8682
|
+
alt: domain.name
|
|
8683
|
+
}
|
|
8684
|
+
}
|
|
8685
|
+
),
|
|
8686
|
+
/* @__PURE__ */ jsxs(
|
|
8687
|
+
VStack,
|
|
8688
|
+
{
|
|
8689
|
+
align: "start",
|
|
8690
|
+
spacing: 0,
|
|
8691
|
+
flex: 1,
|
|
8692
|
+
children: [
|
|
8693
|
+
/* @__PURE__ */ jsx(
|
|
8694
|
+
Text,
|
|
8695
|
+
{
|
|
8696
|
+
color: isDark ? "whiteAlpha.900" : "gray.700",
|
|
8697
|
+
fontSize: "md",
|
|
8698
|
+
fontWeight: "500",
|
|
8699
|
+
children: domain.name
|
|
8700
|
+
}
|
|
8701
|
+
),
|
|
8702
|
+
isCurrentDomain && /* @__PURE__ */ jsx(
|
|
8703
|
+
Text,
|
|
8704
|
+
{
|
|
8705
|
+
fontSize: "sm",
|
|
8706
|
+
color: isDark ? "whiteAlpha.600" : "gray.500",
|
|
8707
|
+
children: t(
|
|
8708
|
+
"Current domain"
|
|
8709
|
+
)
|
|
8710
|
+
}
|
|
8711
|
+
)
|
|
8712
|
+
]
|
|
8713
|
+
}
|
|
8714
|
+
),
|
|
8715
|
+
isCurrentDomain && /* @__PURE__ */ jsx(
|
|
8716
|
+
Tag,
|
|
8717
|
+
{
|
|
8718
|
+
size: "sm",
|
|
8719
|
+
bg: isDark ? "whiteAlpha.200" : "gray.100",
|
|
8720
|
+
color: isDark ? "whiteAlpha.800" : "gray.600",
|
|
8721
|
+
px: 3,
|
|
8722
|
+
py: 1,
|
|
8723
|
+
borderRadius: "full",
|
|
8724
|
+
children: t("Current")
|
|
8725
|
+
}
|
|
8726
|
+
)
|
|
8727
|
+
] })
|
|
8728
|
+
},
|
|
8729
|
+
domain.name
|
|
8730
|
+
);
|
|
8731
|
+
}) }) })
|
|
8732
|
+
] }) }) });
|
|
8733
|
+
};
|
|
8388
8734
|
var ChooseNameSearchContent = ({
|
|
8389
8735
|
name: initialName,
|
|
8390
8736
|
setCurrentContent
|
|
@@ -8495,104 +8841,69 @@ var ChooseNameSearchContent = ({
|
|
|
8495
8841
|
),
|
|
8496
8842
|
/* @__PURE__ */ jsx(ModalCloseButton, {})
|
|
8497
8843
|
] }),
|
|
8498
|
-
/* @__PURE__ */
|
|
8499
|
-
|
|
8844
|
+
/* @__PURE__ */ jsx(ModalBody, { children: /* @__PURE__ */ jsxs(VStack, { spacing: 4, align: "stretch", children: [
|
|
8845
|
+
/* @__PURE__ */ jsx(
|
|
8846
|
+
ExistingDomainsList,
|
|
8847
|
+
{
|
|
8848
|
+
domains: allUserDomains,
|
|
8849
|
+
onDomainSelect: handleDomainSelect,
|
|
8850
|
+
isLoading: isLoadingOwnedDomains
|
|
8851
|
+
}
|
|
8852
|
+
),
|
|
8853
|
+
/* @__PURE__ */ jsxs(InputGroup, { size: "lg", children: [
|
|
8500
8854
|
/* @__PURE__ */ jsx(
|
|
8501
|
-
|
|
8855
|
+
Input,
|
|
8502
8856
|
{
|
|
8503
|
-
|
|
8504
|
-
|
|
8505
|
-
|
|
8506
|
-
|
|
8857
|
+
placeholder: t("Enter your name"),
|
|
8858
|
+
value: name,
|
|
8859
|
+
onChange: (e) => {
|
|
8860
|
+
setName(e.target.value);
|
|
8861
|
+
if (!hasInteracted) setHasInteracted(true);
|
|
8862
|
+
},
|
|
8863
|
+
paddingRight: "120px",
|
|
8864
|
+
fontSize: "lg",
|
|
8865
|
+
height: "60px",
|
|
8866
|
+
bg: isDark ? "#1a1a1a" : "white",
|
|
8867
|
+
border: `1px solid ${isDark ? "#ffffff29" : "#ebebeb"}`,
|
|
8868
|
+
_hover: {
|
|
8869
|
+
border: `1px solid ${isDark ? "#ffffff40" : "#e0e0e0"}`
|
|
8870
|
+
},
|
|
8871
|
+
_focus: {
|
|
8872
|
+
border: `1px solid ${isDark ? "#ffffff60" : "#d0d0d0"}`,
|
|
8873
|
+
boxShadow: "none"
|
|
8874
|
+
},
|
|
8875
|
+
isInvalid: !!error
|
|
8507
8876
|
}
|
|
8508
8877
|
),
|
|
8509
|
-
/* @__PURE__ */ jsx(
|
|
8510
|
-
|
|
8511
|
-
return /* @__PURE__ */ jsx(
|
|
8512
|
-
ListItem,
|
|
8513
|
-
{
|
|
8514
|
-
p: 3,
|
|
8515
|
-
bg: isDark ? "#1a1a1a" : "gray.50",
|
|
8516
|
-
borderRadius: "md",
|
|
8517
|
-
cursor: isCurrentDomain ? "default" : "pointer",
|
|
8518
|
-
opacity: isCurrentDomain ? 0.7 : 1,
|
|
8519
|
-
_hover: {
|
|
8520
|
-
bg: isCurrentDomain ? isDark ? "#1a1a1a" : "gray.50" : isDark ? "#252525" : "gray.100"
|
|
8521
|
-
},
|
|
8522
|
-
onClick: () => !isCurrentDomain && handleDomainSelect(domain.name),
|
|
8523
|
-
children: /* @__PURE__ */ jsxs(HStack, { justify: "space-between", children: [
|
|
8524
|
-
/* @__PURE__ */ jsx(Text, { children: domain.name }),
|
|
8525
|
-
isCurrentDomain && /* @__PURE__ */ jsx(
|
|
8526
|
-
Tag,
|
|
8527
|
-
{
|
|
8528
|
-
size: "sm",
|
|
8529
|
-
colorScheme: "green",
|
|
8530
|
-
variant: "subtle",
|
|
8531
|
-
children: t("Current")
|
|
8532
|
-
}
|
|
8533
|
-
)
|
|
8534
|
-
] })
|
|
8535
|
-
},
|
|
8536
|
-
domain.name
|
|
8537
|
-
);
|
|
8538
|
-
}) })
|
|
8539
|
-
] }) : null,
|
|
8540
|
-
/* @__PURE__ */ jsxs(VStack, { spacing: 4, align: "stretch", children: [
|
|
8541
|
-
/* @__PURE__ */ jsxs(InputGroup, { size: "lg", children: [
|
|
8542
|
-
/* @__PURE__ */ jsx(
|
|
8543
|
-
Input,
|
|
8544
|
-
{
|
|
8545
|
-
placeholder: t("Enter your name"),
|
|
8546
|
-
value: name,
|
|
8547
|
-
onChange: (e) => {
|
|
8548
|
-
setName(e.target.value);
|
|
8549
|
-
if (!hasInteracted) setHasInteracted(true);
|
|
8550
|
-
},
|
|
8551
|
-
paddingRight: "120px",
|
|
8552
|
-
fontSize: "lg",
|
|
8553
|
-
height: "60px",
|
|
8554
|
-
bg: isDark ? "#1a1a1a" : "white",
|
|
8555
|
-
border: `1px solid ${isDark ? "#ffffff29" : "#ebebeb"}`,
|
|
8556
|
-
_hover: {
|
|
8557
|
-
border: `1px solid ${isDark ? "#ffffff40" : "#e0e0e0"}`
|
|
8558
|
-
},
|
|
8559
|
-
_focus: {
|
|
8560
|
-
border: `1px solid ${isDark ? "#ffffff60" : "#d0d0d0"}`,
|
|
8561
|
-
boxShadow: "none"
|
|
8562
|
-
},
|
|
8563
|
-
isInvalid: !!error
|
|
8564
|
-
}
|
|
8565
|
-
),
|
|
8566
|
-
/* @__PURE__ */ jsx(
|
|
8567
|
-
InputRightElement,
|
|
8568
|
-
{
|
|
8569
|
-
width: "auto",
|
|
8570
|
-
paddingRight: "12px",
|
|
8571
|
-
h: "full",
|
|
8572
|
-
children: /* @__PURE__ */ jsx(
|
|
8573
|
-
Box,
|
|
8574
|
-
{
|
|
8575
|
-
mr: 4,
|
|
8576
|
-
fontSize: "sm",
|
|
8577
|
-
color: isDark ? "whiteAlpha.800" : "gray.500",
|
|
8578
|
-
children: ".veworld.vet"
|
|
8579
|
-
}
|
|
8580
|
-
)
|
|
8581
|
-
}
|
|
8582
|
-
)
|
|
8583
|
-
] }),
|
|
8584
|
-
error && hasInteracted && /* @__PURE__ */ jsx(Text, { color: "red.500", fontSize: "sm", children: error }),
|
|
8585
|
-
!error && hasInteracted && name.length >= 3 && /* @__PURE__ */ jsx(
|
|
8586
|
-
Text,
|
|
8878
|
+
/* @__PURE__ */ jsx(
|
|
8879
|
+
InputRightElement,
|
|
8587
8880
|
{
|
|
8588
|
-
|
|
8589
|
-
|
|
8590
|
-
|
|
8591
|
-
children:
|
|
8881
|
+
width: "auto",
|
|
8882
|
+
paddingRight: "12px",
|
|
8883
|
+
h: "full",
|
|
8884
|
+
children: /* @__PURE__ */ jsx(
|
|
8885
|
+
Box,
|
|
8886
|
+
{
|
|
8887
|
+
mr: 4,
|
|
8888
|
+
fontSize: "sm",
|
|
8889
|
+
color: isDark ? "whiteAlpha.800" : "gray.500",
|
|
8890
|
+
children: ".veworld.vet"
|
|
8891
|
+
}
|
|
8892
|
+
)
|
|
8592
8893
|
}
|
|
8593
8894
|
)
|
|
8594
|
-
] })
|
|
8595
|
-
|
|
8895
|
+
] }),
|
|
8896
|
+
error && hasInteracted && /* @__PURE__ */ jsx(Text, { color: "red.500", fontSize: "sm", children: error }),
|
|
8897
|
+
!error && hasInteracted && name.length >= 3 && /* @__PURE__ */ jsx(
|
|
8898
|
+
Text,
|
|
8899
|
+
{
|
|
8900
|
+
fontSize: "sm",
|
|
8901
|
+
color: isAvailable ? "green.500" : "red.500",
|
|
8902
|
+
fontWeight: "500",
|
|
8903
|
+
children: isOwnDomain ? t("YOU OWN THIS") : isAvailable ? t("AVAILABLE") : t("UNAVAILABLE")
|
|
8904
|
+
}
|
|
8905
|
+
)
|
|
8906
|
+
] }) }),
|
|
8596
8907
|
/* @__PURE__ */ jsx(ModalFooter, { children: /* @__PURE__ */ jsx(
|
|
8597
8908
|
Button,
|
|
8598
8909
|
{
|
|
@@ -9434,6 +9745,7 @@ var en_default = {
|
|
|
9434
9745
|
"Continue with Google": "Continue with Google",
|
|
9435
9746
|
"Copy your address or scan this QR code": "Copy your address or scan this QR code",
|
|
9436
9747
|
Current: "Current",
|
|
9748
|
+
"Current domain": "Current domain",
|
|
9437
9749
|
"Currently, multiclause transactions are not supported for smart accounts. Your multiclause transaction will be split into multiple transactions.": "Currently, multiclause transactions are not supported for smart accounts. Your multiclause transaction will be split into multiple transactions.",
|
|
9438
9750
|
"Customize Account": "Customize Account",
|
|
9439
9751
|
"Customize account": "Customize account",
|
|
@@ -9532,6 +9844,7 @@ var en_default = {
|
|
|
9532
9844
|
Passkey: "Passkey",
|
|
9533
9845
|
"Phone Number": "Phone Number",
|
|
9534
9846
|
"Please approve the request in the connection request window...": "Please approve the request in the connection request window...",
|
|
9847
|
+
"Please be sure to keep this wallet safe and backed up.": "Please be sure to keep this wallet safe and backed up.",
|
|
9535
9848
|
"Please check {{email}} for an email from privy.io and enter your code below.": "Please check {{email}} for an email from privy.io and enter your code below.",
|
|
9536
9849
|
"Please click 'Try again' to open the login window.": "Please click 'Try again' to open the login window.",
|
|
9537
9850
|
"Please complete the passkey authentication...": "Please complete the passkey authentication...",
|
|
@@ -9596,6 +9909,7 @@ var en_default = {
|
|
|
9596
9909
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} app or extension to manage your wallet and security settings.": "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} app or extension to manage your wallet and security settings.",
|
|
9597
9910
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your login methods and security settings.": "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your login methods and security settings.",
|
|
9598
9911
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your wallet and security settings.": "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your wallet and security settings.",
|
|
9912
|
+
"This is your main wallet, created by {{element}} and secured by Privy.": "This is your main wallet, created by {{element}} and secured by Privy.",
|
|
9599
9913
|
"This is your main wallet, created by {{element}} and secured by Privy. This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions. Please be sure to keep it safe and backed up.": "This is your main wallet, created by {{element}} and secured by Privy. This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions. Please be sure to keep it safe and backed up.",
|
|
9600
9914
|
"This may take a few seconds. You can close this window and check the status later.": "This may take a few seconds. You can close this window and check the status later.",
|
|
9601
9915
|
"This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions.": "This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions.",
|
|
@@ -9684,8 +9998,19 @@ var en_default = {
|
|
|
9684
9998
|
"your@email.com": "your@email.com",
|
|
9685
9999
|
"{{element}} website": "{{element}} website",
|
|
9686
10000
|
"{{name}}": "{{name}}",
|
|
9687
|
-
"
|
|
9688
|
-
"
|
|
10001
|
+
"Sending to OceanX or other exchanges may result in loss of funds.": "Sending to OceanX or other exchanges may result in loss of funds.",
|
|
10002
|
+
"Send the tokens to your VeWorld wallet first.": "Send the tokens to your VeWorld wallet first.",
|
|
10003
|
+
"Sign in with a wallet from other x2earn apps.": "Sign in with a wallet from other x2earn apps.",
|
|
10004
|
+
"Select an app": "Select an app",
|
|
10005
|
+
Other: "Other",
|
|
10006
|
+
Apps: "Apps",
|
|
10007
|
+
"View your notifications and updates.": "View your notifications and updates.",
|
|
10008
|
+
"Access and security": "Access and security",
|
|
10009
|
+
"Connection details": "Connection details",
|
|
10010
|
+
"Customize profile": "Customize profile",
|
|
10011
|
+
Help: "Help",
|
|
10012
|
+
"Add Passkey": "Add Passkey",
|
|
10013
|
+
"Embedded wallet": "Embedded wallet"
|
|
9689
10014
|
};
|
|
9690
10015
|
|
|
9691
10016
|
// src/languages/de.json
|
|
@@ -9774,6 +10099,7 @@ var de_default = {
|
|
|
9774
10099
|
"Continue with Google": "Mit Google fortfahren",
|
|
9775
10100
|
"Copy your address or scan this QR code": "Kopieren Sie Ihre Adresse oder scannen Sie diesen QR-Code",
|
|
9776
10101
|
Current: "Aktuell",
|
|
10102
|
+
"Current domain": "Aktuelle Domain",
|
|
9777
10103
|
"Currently, multiclause transactions are not supported for smart accounts. Your multiclause transaction will be split into multiple transactions.": "Derzeit werden Multiclauses-Transaktionen f\xFCr Smart-Konten nicht unterst\xFCtzt. Ihre Multiclause-Transaktion wird in mehrere Transaktionen aufgeteilt.",
|
|
9778
10104
|
"Customize Account": "Konto anpassen",
|
|
9779
10105
|
"Customize account": "Konto anpassen",
|
|
@@ -9872,6 +10198,7 @@ var de_default = {
|
|
|
9872
10198
|
Passkey: "Passwort",
|
|
9873
10199
|
"Phone Number": "Telefonnummer",
|
|
9874
10200
|
"Please approve the request in the connection request window...": "Bitte genehmigen Sie die Anfrage im Verbindungsanfragefenster...",
|
|
10201
|
+
"Please be sure to keep this wallet safe and backed up.": "Bitte stellen Sie sicher, dass diese Brieftasche sicher und gesichert aufbewahrt wird.",
|
|
9875
10202
|
"Please check {{email}} for an email from privy.io and enter your code below.": "Bitte \xFCberpr\xFCfen Sie {{email}} auf eine E-Mail von privy.io und geben Sie Ihren Code unten ein.",
|
|
9876
10203
|
"Please click 'Try again' to open the login window.": "Bitte klicken Sie auf 'Erneut versuchen', um das Anmeldefenster zu \xF6ffnen.",
|
|
9877
10204
|
"Please complete the passkey authentication...": "Bitte schlie\xDFen Sie die Passworthauthentifizierung ab...",
|
|
@@ -9936,6 +10263,7 @@ var de_default = {
|
|
|
9936
10263
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} app or extension to manage your wallet and security settings.": "Dies ist Ihr Hauptwallet und Ihre Identit\xE4t. Bitte stellen Sie sicher, dass es sicher und gesichert ist. Gehen Sie zur {{element}} App oder Erweiterung, um Ihr Wallet und Ihre Sicherheitseinstellungen zu verwalten.",
|
|
9937
10264
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your login methods and security settings.": "Dies ist Ihr Hauptwallet und Ihre Identit\xE4t. Bitte achten Sie darauf, es sicher zu verwahren und ein Backup zu erstellen. Gehen Sie auf die {{element}} Website, um Ihre Anmeldemethoden und Sicherheitseinstellungen zu verwalten.",
|
|
9938
10265
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your wallet and security settings.": "Dies ist Ihre Hauptgeldb\xF6rse und Identit\xE4t. Bitte achten Sie darauf, sie sicher und abgesichert zu halten. Besuchen Sie die Website von {{element}}, um Ihre Geldb\xF6rse und Sicherheitseinstellungen zu verwalten.",
|
|
10266
|
+
"This is your main wallet, created by {{element}} and secured by Privy.": "Dies ist Ihre Hauptbrieftasche, erstellt von {{element}} und gesichert durch Privy.",
|
|
9939
10267
|
"This is your main wallet, created by {{element}} and secured by Privy. This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions. Please be sure to keep it safe and backed up.": "Dies ist Ihr Haupt-Wallet, erstellt von {{element}} und gesichert von Privy. Dieses Wallet ist der Besitzer Ihres Smart-Accounts, der als Ihre Identit\xE4t und als Tor f\xFCr Ihre Blockchain-Interaktionen verwendet wird. Bitte stellen Sie sicher, dass es sicher und gesichert ist.",
|
|
9940
10268
|
"This may take a few seconds. You can close this window and check the status later.": "Dies kann einige Sekunden dauern. Sie k\xF6nnen dieses Fenster schlie\xDFen und den Status sp\xE4ter \xFCberpr\xFCfen.",
|
|
9941
10269
|
"This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions.": "Dieses Wallet ist der Besitzer Ihres Smart-Accounts, der als Ihre Identit\xE4t und als Tor f\xFCr Ihre Blockchain-Interaktionen verwendet wird.",
|
|
@@ -10112,6 +10440,7 @@ var it_default = {
|
|
|
10112
10440
|
"Continue with Google": "Continua con Google",
|
|
10113
10441
|
"Copy your address or scan this QR code": "Copia il tuo indirizzo o scansiona questo codice QR",
|
|
10114
10442
|
Current: "Attuale",
|
|
10443
|
+
"Current domain": "Dominio attuale",
|
|
10115
10444
|
"Currently, multiclause transactions are not supported for smart accounts. Your multiclause transaction will be split into multiple transactions.": "Attualmente, le transazioni multiclausole non sono supportate per gli account smart. La tua transazione multiclausola sar\xE0 divisa in pi\xF9 transazioni.",
|
|
10116
10445
|
"Customize Account": "Personalizza Account",
|
|
10117
10446
|
"Customize account": "Personalizza account",
|
|
@@ -10210,6 +10539,7 @@ var it_default = {
|
|
|
10210
10539
|
Passkey: "Chiave di accesso",
|
|
10211
10540
|
"Phone Number": "Numero di telefono",
|
|
10212
10541
|
"Please approve the request in the connection request window...": "Si prega di approvare la richiesta nella finestra della richiesta di connessione...",
|
|
10542
|
+
"Please be sure to keep this wallet safe and backed up.": "Si prega di assicurarsi che questo portafoglio sia al sicuro e con un backup.",
|
|
10213
10543
|
"Please check {{email}} for an email from privy.io and enter your code below.": "Controlla {{email}} per un'email da privy.io e inserisci il tuo codice qui sotto.",
|
|
10214
10544
|
"Please click 'Try again' to open the login window.": "Fai clic su 'Riprova' per aprire la finestra di accesso.",
|
|
10215
10545
|
"Please complete the passkey authentication...": "Si prega di completare l'autenticazione con chiave di accesso...",
|
|
@@ -10274,6 +10604,7 @@ var it_default = {
|
|
|
10274
10604
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} app or extension to manage your wallet and security settings.": "Questo \xE8 il tuo portafoglio principale e la tua identit\xE0. Assicurati di tenerlo al sicuro e di eseguire il backup. Vai all'app o all'estensione {{element}} per gestire il tuo portafoglio e le impostazioni di sicurezza.",
|
|
10275
10605
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your login methods and security settings.": "Questo \xE8 il tuo portafoglio principale e la tua identit\xE0. Assicurati di tenerlo al sicuro e di fare un backup. Vai al sito web {{element}} per gestire i metodi di accesso e le impostazioni di sicurezza.",
|
|
10276
10606
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your wallet and security settings.": "Questo \xE8 il tuo portafoglio e identit\xE0 principale. Assicurati di tenerlo al sicuro e di averne una copia di backup. Vai al sito web di {{element}} per gestire le impostazioni del tuo portafoglio e della sicurezza.",
|
|
10607
|
+
"This is your main wallet, created by {{element}} and secured by Privy.": "Questo \xE8 il tuo portafoglio principale, creato da {{element}} e protetto da Privy.",
|
|
10277
10608
|
"This is your main wallet, created by {{element}} and secured by Privy. This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions. Please be sure to keep it safe and backed up.": "Questo \xE8 il tuo portafoglio principale, creato da {{element}} e protetto da Privy. Questo portafoglio \xE8 il proprietario del tuo account smart, che \xE8 utilizzato come la tua identit\xE0 e come un gateway per le tue interazioni con la blockchain. Assicurati di tenerlo al sicuro e di eseguirne il backup.",
|
|
10278
10609
|
"This may take a few seconds. You can close this window and check the status later.": "Potrebbe richiedere alcuni secondi. Puoi chiudere questa finestra e controllare lo stato pi\xF9 tardi.",
|
|
10279
10610
|
"This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions.": "Questo portafoglio \xE8 il proprietario del tuo account smart, che \xE8 utilizzato come la tua identit\xE0 e come un gateway per le tue interazioni con la blockchain.",
|
|
@@ -10450,6 +10781,7 @@ var fr_default = {
|
|
|
10450
10781
|
"Continue with Google": "Continuer avec Google",
|
|
10451
10782
|
"Copy your address or scan this QR code": "Copiez votre adresse ou scannez ce code QR",
|
|
10452
10783
|
Current: "Actuel",
|
|
10784
|
+
"Current domain": "Domaine actuel",
|
|
10453
10785
|
"Currently, multiclause transactions are not supported for smart accounts. Your multiclause transaction will be split into multiple transactions.": "Actuellement, les transactions \xE0 clauses multiples ne sont pas prises en charge pour les comptes intelligents. Votre transaction \xE0 clauses multiples sera divis\xE9e en plusieurs transactions.",
|
|
10454
10786
|
"Customize Account": "Personnaliser le compte",
|
|
10455
10787
|
"Customize account": "Personnaliser le compte",
|
|
@@ -10548,6 +10880,7 @@ var fr_default = {
|
|
|
10548
10880
|
Passkey: "Cl\xE9 de passe",
|
|
10549
10881
|
"Phone Number": "Num\xE9ro de t\xE9l\xE9phone",
|
|
10550
10882
|
"Please approve the request in the connection request window...": "Veuillez approuver la demande dans la fen\xEAtre de demande de connexion...",
|
|
10883
|
+
"Please be sure to keep this wallet safe and backed up.": "Veuillez vous assurer que ce portefeuille est en s\xE9curit\xE9 et sauvegard\xE9.",
|
|
10551
10884
|
"Please check {{email}} for an email from privy.io and enter your code below.": "Veuillez v\xE9rifier {{email}} pour un email de privy.io et entrez votre code ci-dessous.",
|
|
10552
10885
|
"Please click 'Try again' to open the login window.": "Veuillez cliquer sur 'R\xE9essayer' pour ouvrir la fen\xEAtre de connexion.",
|
|
10553
10886
|
"Please complete the passkey authentication...": "Veuillez compl\xE9ter l'authentification par cl\xE9 de passe...",
|
|
@@ -10612,6 +10945,7 @@ var fr_default = {
|
|
|
10612
10945
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} app or extension to manage your wallet and security settings.": "Ceci est votre portefeuille principal et votre identit\xE9. Veuillez vous assurer de le garder en s\xE9curit\xE9 et sauvegard\xE9. Allez dans l'application ou l'extension {{element}} pour g\xE9rer votre portefeuille et vos param\xE8tres de s\xE9curit\xE9.",
|
|
10613
10946
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your login methods and security settings.": "Ceci est votre portefeuille et identit\xE9 principaux. Veuillez vous assurer de les garder en s\xE9curit\xE9 et sauvegard\xE9s. Allez sur le site {{element}} pour g\xE9rer vos m\xE9thodes de connexion et vos param\xE8tres de s\xE9curit\xE9.",
|
|
10614
10947
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your wallet and security settings.": "Ceci est votre portefeuille principal et votre identit\xE9. Veuillez vous assurer de le garder en s\xE9curit\xE9 et sauvegard\xE9. Allez sur le site {{element}} pour g\xE9rer votre portefeuille et vos param\xE8tres de s\xE9curit\xE9.",
|
|
10948
|
+
"This is your main wallet, created by {{element}} and secured by Privy.": "Ceci est votre portefeuille principal, cr\xE9\xE9 par {{element}} et s\xE9curis\xE9 par Privy.",
|
|
10615
10949
|
"This is your main wallet, created by {{element}} and secured by Privy. This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions. Please be sure to keep it safe and backed up.": "Ceci est votre portefeuille principal, cr\xE9\xE9 par {{element}} et s\xE9curis\xE9 par Privy. Ce portefeuille est le propri\xE9taire de votre compte intelligent, qui est utilis\xE9 comme votre identit\xE9 et comme une passerelle pour vos interactions blockchain. Veuillez vous assurer de le garder en s\xE9curit\xE9 et sauvegard\xE9.",
|
|
10616
10950
|
"This may take a few seconds. You can close this window and check the status later.": "Cela peut prendre quelques secondes. Vous pouvez fermer cette fen\xEAtre et v\xE9rifier le statut plus tard.",
|
|
10617
10951
|
"This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions.": "Ce portefeuille est le propri\xE9taire de votre compte intelligent, qui est utilis\xE9 comme votre identit\xE9 et comme une passerelle pour vos interactions blockchain.",
|
|
@@ -10788,6 +11122,7 @@ var es_default = {
|
|
|
10788
11122
|
"Continue with Google": "Continuar con Google",
|
|
10789
11123
|
"Copy your address or scan this QR code": "Copia tu direcci\xF3n o escanea este c\xF3digo QR",
|
|
10790
11124
|
Current: "Actual",
|
|
11125
|
+
"Current domain": "Dominio actual",
|
|
10791
11126
|
"Currently, multiclause transactions are not supported for smart accounts. Your multiclause transaction will be split into multiple transactions.": "Actualmente, las transacciones con m\xFAltiples cl\xE1usulas no son compatibles con las cuentas inteligentes. Su transacci\xF3n con m\xFAltiples cl\xE1usulas se dividir\xE1 en varias transacciones.",
|
|
10792
11127
|
"Customize Account": "Personalizar Cuenta",
|
|
10793
11128
|
"Customize account": "Personalizar cuenta",
|
|
@@ -10886,6 +11221,7 @@ var es_default = {
|
|
|
10886
11221
|
Passkey: "Clave de acceso",
|
|
10887
11222
|
"Phone Number": "N\xFAmero de tel\xE9fono",
|
|
10888
11223
|
"Please approve the request in the connection request window...": "Por favor, aprueba la solicitud en la ventana de solicitud de conexi\xF3n...",
|
|
11224
|
+
"Please be sure to keep this wallet safe and backed up.": "Por favor, aseg\xFArese de mantener esta billetera segura y respaldada.",
|
|
10889
11225
|
"Please check {{email}} for an email from privy.io and enter your code below.": "Por favor, revisa {{email}} para un correo electr\xF3nico de privy.io e ingresa tu c\xF3digo a continuaci\xF3n.",
|
|
10890
11226
|
"Please click 'Try again' to open the login window.": "Por favor, haz clic en 'Intentar de nuevo' para abrir la ventana de inicio de sesi\xF3n.",
|
|
10891
11227
|
"Please complete the passkey authentication...": "Por favor, completa la autenticaci\xF3n de clave de acceso...",
|
|
@@ -10950,6 +11286,7 @@ var es_default = {
|
|
|
10950
11286
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} app or extension to manage your wallet and security settings.": "Este es tu monedero principal e identidad. Aseg\xFArate de mantenerlo seguro y respaldado. Ve a la aplicaci\xF3n o extensi\xF3n de {{element}} para gestionar tu monedero y la configuraci\xF3n de seguridad.",
|
|
10951
11287
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your login methods and security settings.": "Esta es tu billetera e identidad principal. Aseg\xFArate de mantenerla segura y respaldada. Ve al sitio web de {{element}} para gestionar tus m\xE9todos de inicio de sesi\xF3n y configuraciones de seguridad.",
|
|
10952
11288
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your wallet and security settings.": "Esta es su billetera principal e identidad. Aseg\xFArese de mantenerla segura y respaldada. Vaya al sitio web de {{element}} para administrar su billetera y la configuraci\xF3n de seguridad.",
|
|
11289
|
+
"This is your main wallet, created by {{element}} and secured by Privy.": "Esta es su billetera principal, creada por {{element}} y asegurada por Privy.",
|
|
10953
11290
|
"This is your main wallet, created by {{element}} and secured by Privy. This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions. Please be sure to keep it safe and backed up.": "Esta es tu billetera principal, creada por {{element}} y asegurada por Privy. Esta billetera es la propietaria de tu cuenta inteligente, la cual se utiliza como tu identidad y como puerta de entrada para tus interacciones con la blockchain. Por favor, aseg\xFArate de mantenerla segura y respaldada.",
|
|
10954
11291
|
"This may take a few seconds. You can close this window and check the status later.": "Esto puede tardar unos segundos. Puede cerrar esta ventana y comprobar el estado m\xE1s tarde.",
|
|
10955
11292
|
"This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions.": "Esta billetera es la propietaria de tu cuenta inteligente, la cual se utiliza como tu identidad y como puerta de entrada para tus interacciones con la blockchain.",
|
|
@@ -11126,6 +11463,7 @@ var zh_default = {
|
|
|
11126
11463
|
"Continue with Google": "\u901A\u8FC7Google\u7EE7\u7EED",
|
|
11127
11464
|
"Copy your address or scan this QR code": "\u590D\u5236\u60A8\u7684\u5730\u5740\u6216\u626B\u63CF\u6B64\u4E8C\u7EF4\u7801",
|
|
11128
11465
|
Current: "\u5F53\u524D",
|
|
11466
|
+
"Current domain": "\u5F53\u524D\u57DF\u540D",
|
|
11129
11467
|
"Currently, multiclause transactions are not supported for smart accounts. Your multiclause transaction will be split into multiple transactions.": "\u5F53\u524D\uFF0C\u4E0D\u652F\u6301\u667A\u80FD\u8D26\u6237\u7684\u591A\u6761\u6B3E\u4EA4\u6613\u3002\u60A8\u7684\u591A\u6761\u6B3E\u4EA4\u6613\u5C06\u88AB\u62C6\u5206\u4E3A\u591A\u7B14\u4EA4\u6613\u3002",
|
|
11130
11468
|
"Customize Account": "\u81EA\u5B9A\u4E49\u5E10\u6237",
|
|
11131
11469
|
"Customize account": "\u81EA\u5B9A\u4E49\u5E10\u6237",
|
|
@@ -11224,6 +11562,7 @@ var zh_default = {
|
|
|
11224
11562
|
Passkey: "\u901A\u884C\u5BC6\u94A5",
|
|
11225
11563
|
"Phone Number": "\u7535\u8BDD\u53F7\u7801",
|
|
11226
11564
|
"Please approve the request in the connection request window...": "\u8BF7\u5728\u8FDE\u63A5\u8BF7\u6C42\u7A97\u53E3\u4E2D\u6279\u51C6\u8BF7\u6C42...",
|
|
11565
|
+
"Please be sure to keep this wallet safe and backed up.": "\u8BF7\u52A1\u5FC5\u4FDD\u8BC1\u6B64\u94B1\u5305\u7684\u5B89\u5168\u5E76\u8FDB\u884C\u5907\u4EFD\u3002",
|
|
11227
11566
|
"Please check {{email}} for an email from privy.io and enter your code below.": "\u8BF7\u67E5\u770B {{email}} \u662F\u5426\u6709\u6765\u81EA privy.io \u7684\u7535\u5B50\u90AE\u4EF6\uFF0C\u5E76\u5728\u4E0B\u65B9\u8F93\u5165\u60A8\u7684\u4EE3\u7801\u3002",
|
|
11228
11567
|
"Please click 'Try again' to open the login window.": "\u8BF7\u70B9\u51FB\u201C\u91CD\u8BD5\u201D\u4EE5\u6253\u5F00\u767B\u5F55\u7A97\u53E3\u3002",
|
|
11229
11568
|
"Please complete the passkey authentication...": "\u8BF7\u5B8C\u6210\u901A\u884C\u5BC6\u94A5\u8BA4\u8BC1...",
|
|
@@ -11288,6 +11627,7 @@ var zh_default = {
|
|
|
11288
11627
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} app or extension to manage your wallet and security settings.": "\u8FD9\u662F\u60A8\u7684\u4E3B\u8981\u94B1\u5305\u548C\u8EAB\u4EFD\u3002\u8BF7\u52A1\u5FC5\u59A5\u5584\u4FDD\u7BA1\u5E76\u5907\u4EFD\u3002\u8BF7\u524D\u5F80{{element}}\u5E94\u7528\u7A0B\u5E8F\u6216\u6269\u5C55\u7BA1\u7406\u60A8\u7684\u94B1\u5305\u548C\u5B89\u5168\u8BBE\u7F6E\u3002",
|
|
11289
11628
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your login methods and security settings.": "\u8FD9\u662F\u60A8\u7684\u4E3B\u94B1\u5305\u548C\u8EAB\u4EFD\u3002\u8BF7\u52A1\u5FC5\u786E\u4FDD\u5176\u5B89\u5168\u5E76\u5907\u4EFD\u3002\u524D\u5F80 {{element}} \u7F51\u7AD9\u7BA1\u7406\u60A8\u7684\u767B\u5F55\u65B9\u5F0F\u548C\u5B89\u5168\u8BBE\u7F6E\u3002",
|
|
11290
11629
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your wallet and security settings.": "\u8FD9\u662F\u60A8\u7684\u4E3B\u8981\u94B1\u5305\u548C\u8EAB\u4EFD\u3002\u8BF7\u786E\u4FDD\u5176\u5B89\u5168\u5E76\u8FDB\u884C\u5907\u4EFD\u3002\u8BBF\u95EE{{element}}\u7F51\u7AD9\u4EE5\u7BA1\u7406\u60A8\u7684\u94B1\u5305\u548C\u5B89\u5168\u8BBE\u7F6E\u3002",
|
|
11630
|
+
"This is your main wallet, created by {{element}} and secured by Privy.": "\u8FD9\u662F\u60A8\u7684\u4E3B\u94B1\u5305\uFF0C\u7531{{element}}\u521B\u5EFA\uFF0C\u5E76\u7531Privy\u4FDD\u62A4\u3002",
|
|
11291
11631
|
"This is your main wallet, created by {{element}} and secured by Privy. This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions. Please be sure to keep it safe and backed up.": "\u8FD9\u662F\u60A8\u7684\u4E3B\u94B1\u5305\uFF0C\u7531{{element}}\u521B\u5EFA\u5E76\u901A\u8FC7Privy\u4FDD\u62A4\u3002\u6B64\u94B1\u5305\u662F\u60A8\u7684\u667A\u80FD\u8D26\u6237\u6240\u6709\u8005\uFF0C\u7528\u4F5C\u60A8\u7684\u8EAB\u4EFD\u6807\u8BC6\u4EE5\u53CA\u533A\u5757\u94FE\u4EA4\u4E92\u7684\u7F51\u5173\u3002\u8BF7\u52A1\u5FC5\u786E\u4FDD\u94B1\u5305\u7684\u5B89\u5168\u6027\u5E76\u8FDB\u884C\u5907\u4EFD\u3002",
|
|
11292
11632
|
"This may take a few seconds. You can close this window and check the status later.": "\u8FD9\u53EF\u80FD\u9700\u8981\u51E0\u79D2\u949F\u3002\u60A8\u53EF\u4EE5\u5173\u95ED\u6B64\u7A97\u53E3\uFF0C\u7A0D\u540E\u67E5\u770B\u72B6\u6001\u3002",
|
|
11293
11633
|
"This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions.": "\u6B64\u94B1\u5305\u662F\u60A8\u7684\u667A\u80FD\u8D26\u6237\u6240\u6709\u8005\uFF0C\u7528\u4F5C\u60A8\u7684\u8EAB\u4EFD\u6807\u8BC6\u4EE5\u53CA\u533A\u5757\u94FE\u4EA4\u4E92\u7684\u7F51\u5173\u3002",
|
|
@@ -11464,6 +11804,7 @@ var ja_default = {
|
|
|
11464
11804
|
"Continue with Google": "Google\u3067\u7D9A\u884C",
|
|
11465
11805
|
"Copy your address or scan this QR code": "\u30A2\u30C9\u30EC\u30B9\u3092\u30B3\u30D4\u30FC\u3059\u308B\u304B\u3001\u3053\u306EQR\u30B3\u30FC\u30C9\u3092\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
11466
11806
|
Current: "\u73FE\u5728",
|
|
11807
|
+
"Current domain": "\u73FE\u5728\u306E\u30C9\u30E1\u30A4\u30F3",
|
|
11467
11808
|
"Currently, multiclause transactions are not supported for smart accounts. Your multiclause transaction will be split into multiple transactions.": "\u73FE\u5728\u3001\u30B9\u30DE\u30FC\u30C8\u30A2\u30AB\u30A6\u30F3\u30C8\u3067\u306F\u8907\u6570\u6761\u9805\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u3042\u306A\u305F\u306E\u8907\u6570\u6761\u9805\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306F\u8907\u6570\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306B\u5206\u5272\u3055\u308C\u307E\u3059\u3002",
|
|
11468
11809
|
"Customize Account": "\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA",
|
|
11469
11810
|
"Customize account": "\u30A2\u30AB\u30A6\u30F3\u30C8\u3092\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA",
|
|
@@ -11562,6 +11903,7 @@ var ja_default = {
|
|
|
11562
11903
|
Passkey: "\u30D1\u30B9\u30AD\u30FC",
|
|
11563
11904
|
"Phone Number": "\u96FB\u8A71\u756A\u53F7",
|
|
11564
11905
|
"Please approve the request in the connection request window...": "\u63A5\u7D9A\u30EA\u30AF\u30A8\u30B9\u30C8\u30A6\u30A3\u30F3\u30C9\u30A6\u3067\u30EA\u30AF\u30A8\u30B9\u30C8\u3092\u627F\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044...",
|
|
11906
|
+
"Please be sure to keep this wallet safe and backed up.": "\u3053\u306E\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u5B89\u5168\u306B\u4FDD\u7BA1\u3057\u3001\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3092\u53D6\u308B\u3088\u3046\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
11565
11907
|
"Please check {{email}} for an email from privy.io and enter your code below.": "{{email}} \u306B privy.io \u304B\u3089\u306E\u30E1\u30FC\u30EB\u304C\u5C4A\u3044\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3001\u4EE5\u4E0B\u306B\u30B3\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
11566
11908
|
"Please click 'Try again' to open the login window.": "\u300C\u518D\u8A66\u884C\u300D\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u30ED\u30B0\u30A4\u30F3\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u958B\u3044\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
11567
11909
|
"Please complete the passkey authentication...": "\u30D1\u30B9\u30AD\u30FC\u8A8D\u8A3C\u3092\u5B8C\u4E86\u3057\u3066\u304F\u3060\u3055\u3044...",
|
|
@@ -11626,6 +11968,7 @@ var ja_default = {
|
|
|
11626
11968
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} app or extension to manage your wallet and security settings.": "\u3053\u308C\u306F\u3042\u306A\u305F\u306E\u30E1\u30A4\u30F3\u30A6\u30A9\u30EC\u30C3\u30C8\u3068\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u3067\u3059\u3002\u5B89\u5168\u306B\u4FDD\u7BA1\u3057\u3001\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3092\u53D6\u3063\u3066\u304F\u3060\u3055\u3044\u3002\u30A6\u30A9\u30EC\u30C3\u30C8\u3068\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u8A2D\u5B9A\u3092\u7BA1\u7406\u3059\u308B\u306B\u306F\u3001{{element}} \u30A2\u30D7\u30EA\u307E\u305F\u306F\u62E1\u5F35\u6A5F\u80FD\u306B\u79FB\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
11627
11969
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your login methods and security settings.": "\u3053\u308C\u304C\u3042\u306A\u305F\u306E\u4E3B\u8981\u306A\u30A6\u30A9\u30EC\u30C3\u30C8\u3068ID\u3067\u3059\u3002\u5FC5\u305A\u5B89\u5168\u306B\u4FDD\u7BA1\u3057\u3001\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u30ED\u30B0\u30A4\u30F3\u65B9\u6CD5\u3068\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u8A2D\u5B9A\u3092\u7BA1\u7406\u3059\u308B\u305F\u3081\u306B{{element}}\u306E\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u306B\u79FB\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
11628
11970
|
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your wallet and security settings.": "\u3053\u308C\u304C\u3042\u306A\u305F\u306E\u30E1\u30A4\u30F3\u30A6\u30A9\u30EC\u30C3\u30C8\u3068\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u3067\u3059\u3002\u5B89\u5168\u306B\u4FDD\u7BA1\u3057\u3001\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3092\u53D6\u3063\u3066\u304F\u3060\u3055\u3044\u3002\u30A6\u30A9\u30EC\u30C3\u30C8\u3068\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u8A2D\u5B9A\u3092\u7BA1\u7406\u3059\u308B\u306B\u306F{{element}}\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u306B\u30A2\u30AF\u30BB\u30B9\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
11971
|
+
"This is your main wallet, created by {{element}} and secured by Privy.": "\u3053\u308C\u306F\u3001{{element}}\u306B\u3088\u3063\u3066\u4F5C\u6210\u3055\u308C\u3001Privy\u306B\u3088\u3063\u3066\u4FDD\u8B77\u3055\u308C\u305F\u3042\u306A\u305F\u306E\u30E1\u30A4\u30F3\u30A6\u30A9\u30EC\u30C3\u30C8\u3067\u3059\u3002",
|
|
11629
11972
|
"This is your main wallet, created by {{element}} and secured by Privy. This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions. Please be sure to keep it safe and backed up.": "{{element}}\u306B\u3088\u3063\u3066\u4F5C\u6210\u3055\u308C\u3001Privy\u306B\u3088\u3063\u3066\u4FDD\u8B77\u3055\u308C\u305F\u30E1\u30A4\u30F3\u30A6\u30A9\u30EC\u30C3\u30C8\u3067\u3059\u3002\u3053\u306E\u30A6\u30A9\u30EC\u30C3\u30C8\u306F\u3001\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u3068\u3057\u3066\u4F7F\u7528\u3055\u308C\u308B\u30B9\u30DE\u30FC\u30C8\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u6240\u6709\u8005\u3067\u3042\u308A\u3001\u30D6\u30ED\u30C3\u30AF\u30C1\u30A7\u30FC\u30F3\u3068\u306E\u3084\u308A\u53D6\u308A\u306E\u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u3068\u3057\u3066\u6A5F\u80FD\u3057\u307E\u3059\u3002\u5B89\u5168\u306B\u4FDD\u7BA1\u3057\u3001\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3092\u78BA\u5B9F\u306B\u53D6\u3063\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
11630
11973
|
"This may take a few seconds. You can close this window and check the status later.": "\u6570\u79D2\u304B\u304B\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\u3053\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u9589\u3058\u3066\u5F8C\u3067\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u78BA\u8A8D\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002",
|
|
11631
11974
|
"This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions.": "\u3053\u306E\u30A6\u30A9\u30EC\u30C3\u30C8\u306F\u3001\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u3068\u3057\u3066\u4F7F\u7528\u3055\u308C\u308B\u30B9\u30DE\u30FC\u30C8\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u6240\u6709\u8005\u3067\u3042\u308A\u3001\u30D6\u30ED\u30C3\u30AF\u30C1\u30A7\u30FC\u30F3\u3068\u306E\u3084\u308A\u53D6\u308A\u306E\u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u3068\u3057\u3066\u6A5F\u80FD\u3057\u307E\u3059\u3002",
|
|
@@ -11780,7 +12123,7 @@ var FAQContent = ({ onGoBack }) => {
|
|
|
11780
12123
|
fontWeight: "500",
|
|
11781
12124
|
textAlign: "center",
|
|
11782
12125
|
color: isDark ? "#dfdfdd" : "#4d4d4d",
|
|
11783
|
-
children: t("
|
|
12126
|
+
children: t("Help")
|
|
11784
12127
|
}
|
|
11785
12128
|
),
|
|
11786
12129
|
/* @__PURE__ */ jsx(ModalBackButton, { onClick: onGoBack }),
|
|
@@ -11866,7 +12209,6 @@ var ConnectionDetailsContent = ({ onGoBack }) => {
|
|
|
11866
12209
|
const { getConnectionCache } = useCrossAppConnectionCache();
|
|
11867
12210
|
const { privy, darkMode: isDark } = useVeChainKitConfig();
|
|
11868
12211
|
const { connection } = useWallet();
|
|
11869
|
-
const { source } = useWallet$1();
|
|
11870
12212
|
const { data: appInfo } = useFetchAppInfo(privy?.appId ?? "");
|
|
11871
12213
|
const connectionCache = getConnectionCache();
|
|
11872
12214
|
return /* @__PURE__ */ jsxs(ScrollToTopWrapper, { children: [
|
|
@@ -11894,23 +12236,7 @@ var ConnectionDetailsContent = ({ onGoBack }) => {
|
|
|
11894
12236
|
/* @__PURE__ */ jsxs(ModalBody, { w: "full", children: [
|
|
11895
12237
|
connection.isConnectedWithCrossApp && connectionCache && /* @__PURE__ */ jsx(CrossAppConnectionCard, { connectionCache }),
|
|
11896
12238
|
connection.isConnectedWithSocialLogin && /* @__PURE__ */ jsx(PrivyConnectionCard, {}),
|
|
11897
|
-
connection.isConnectedWithDappKit && /* @__PURE__ */
|
|
11898
|
-
/* @__PURE__ */ jsx(DappKitConnectionCard, {}),
|
|
11899
|
-
/* @__PURE__ */ jsx(
|
|
11900
|
-
Text,
|
|
11901
|
-
{
|
|
11902
|
-
fontSize: "sm",
|
|
11903
|
-
opacity: 0.5,
|
|
11904
|
-
textAlign: "center",
|
|
11905
|
-
children: t(
|
|
11906
|
-
"This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} app or extension to manage your security settings.",
|
|
11907
|
-
{
|
|
11908
|
-
element: source
|
|
11909
|
-
}
|
|
11910
|
-
)
|
|
11911
|
-
}
|
|
11912
|
-
)
|
|
11913
|
-
] }),
|
|
12239
|
+
connection.isConnectedWithDappKit && /* @__PURE__ */ jsx(VStack, { align: "stretch", textAlign: "center", mt: 5, children: /* @__PURE__ */ jsx(DappKitConnectionCard, {}) }),
|
|
11914
12240
|
(connection.isConnectedWithSocialLogin || connection.isConnectedWithCrossApp) && /* @__PURE__ */ jsxs(VStack, { spacing: 4, mt: 5, children: [
|
|
11915
12241
|
/* @__PURE__ */ jsx(Divider, {}),
|
|
11916
12242
|
/* @__PURE__ */ jsxs(
|
|
@@ -12182,22 +12508,7 @@ var PrivyLinkedAccounts = ({ onBack }) => {
|
|
|
12182
12508
|
),
|
|
12183
12509
|
/* @__PURE__ */ jsx(ModalCloseButton, {})
|
|
12184
12510
|
] }),
|
|
12185
|
-
/* @__PURE__ */ jsx(ModalBody, { children: /* @__PURE__ */ jsxs(VStack, { spacing: 3, align: "stretch", children: [
|
|
12186
|
-
/* @__PURE__ */ jsx(
|
|
12187
|
-
ActionButton,
|
|
12188
|
-
{
|
|
12189
|
-
title: t("Handle Passkey Login"),
|
|
12190
|
-
description: t(
|
|
12191
|
-
"Enable one click login by adding a passkey to your account."
|
|
12192
|
-
),
|
|
12193
|
-
onClick: () => {
|
|
12194
|
-
linkPasskey();
|
|
12195
|
-
},
|
|
12196
|
-
leftIcon: IoIosFingerPrint,
|
|
12197
|
-
rightIcon: void 0,
|
|
12198
|
-
isDisabled: !privy?.allowPasskeyLinking
|
|
12199
|
-
}
|
|
12200
|
-
),
|
|
12511
|
+
/* @__PURE__ */ jsx(ModalBody, { w: "full", children: /* @__PURE__ */ jsxs(VStack, { spacing: 3, align: "stretch", w: "full", children: [
|
|
12201
12512
|
canLinkGoogle && /* @__PURE__ */ jsx(
|
|
12202
12513
|
ActionButton,
|
|
12203
12514
|
{
|
|
@@ -12605,9 +12916,14 @@ var NotificationsContent = ({ setCurrentContent }) => {
|
|
|
12605
12916
|
if (b.id === "multiclause") return 1;
|
|
12606
12917
|
return b.timestamp - a.timestamp;
|
|
12607
12918
|
});
|
|
12608
|
-
return /* @__PURE__ */ jsxs(
|
|
12919
|
+
return /* @__PURE__ */ jsxs(ScrollToTopWrapper, { children: [
|
|
12609
12920
|
/* @__PURE__ */ jsxs(StickyHeaderContainer, { children: [
|
|
12610
|
-
/* @__PURE__ */ jsx(
|
|
12921
|
+
/* @__PURE__ */ jsx(
|
|
12922
|
+
ModalBackButton,
|
|
12923
|
+
{
|
|
12924
|
+
onClick: () => setCurrentContent("settings")
|
|
12925
|
+
}
|
|
12926
|
+
),
|
|
12611
12927
|
/* @__PURE__ */ jsx(
|
|
12612
12928
|
ModalHeader,
|
|
12613
12929
|
{
|
|
@@ -12620,7 +12936,7 @@ var NotificationsContent = ({ setCurrentContent }) => {
|
|
|
12620
12936
|
),
|
|
12621
12937
|
/* @__PURE__ */ jsx(ModalCloseButton, {})
|
|
12622
12938
|
] }),
|
|
12623
|
-
/* @__PURE__ */ jsxs(Container, { maxW: "container.lg", h: "
|
|
12939
|
+
/* @__PURE__ */ jsxs(Container, { maxW: "container.lg", h: ["auto", "540px"], children: [
|
|
12624
12940
|
/* @__PURE__ */ jsx(ModalBody, { w: "full", children: /* @__PURE__ */ jsxs(VStack, { spacing: 4, align: "stretch", w: "full", children: [
|
|
12625
12941
|
/* @__PURE__ */ jsxs(HStack, { justify: "space-between", children: [
|
|
12626
12942
|
/* @__PURE__ */ jsx(
|
|
@@ -12847,7 +13163,7 @@ var ExploreEcosystemContent = ({ setCurrentContent }) => {
|
|
|
12847
13163
|
fontWeight: "500",
|
|
12848
13164
|
textAlign: "center",
|
|
12849
13165
|
color: isDark ? "#dfdfdd" : "#4d4d4d",
|
|
12850
|
-
children: t("
|
|
13166
|
+
children: t("Apps")
|
|
12851
13167
|
}
|
|
12852
13168
|
),
|
|
12853
13169
|
/* @__PURE__ */ jsx(ModalBackButton, { onClick: () => setCurrentContent("main") }),
|
|
@@ -13094,7 +13410,7 @@ var AccountModal = ({
|
|
|
13094
13410
|
);
|
|
13095
13411
|
case "settings":
|
|
13096
13412
|
return /* @__PURE__ */ jsx(
|
|
13097
|
-
|
|
13413
|
+
SettingsContent,
|
|
13098
13414
|
{
|
|
13099
13415
|
setCurrentContent,
|
|
13100
13416
|
onLogoutSuccess: onClose
|
|
@@ -13107,9 +13423,9 @@ var AccountModal = ({
|
|
|
13107
13423
|
setCurrentContent
|
|
13108
13424
|
}
|
|
13109
13425
|
);
|
|
13110
|
-
case "
|
|
13426
|
+
case "access-and-security":
|
|
13111
13427
|
return /* @__PURE__ */ jsx(
|
|
13112
|
-
|
|
13428
|
+
AccessAndSecurityContent,
|
|
13113
13429
|
{
|
|
13114
13430
|
setCurrentContent
|
|
13115
13431
|
}
|
|
@@ -13143,7 +13459,7 @@ var AccountModal = ({
|
|
|
13143
13459
|
return /* @__PURE__ */ jsx(
|
|
13144
13460
|
PrivyLinkedAccounts,
|
|
13145
13461
|
{
|
|
13146
|
-
onBack: () => setCurrentContent("
|
|
13462
|
+
onBack: () => setCurrentContent("access-and-security")
|
|
13147
13463
|
}
|
|
13148
13464
|
);
|
|
13149
13465
|
case "ecosystem":
|
|
@@ -13160,6 +13476,13 @@ var AccountModal = ({
|
|
|
13160
13476
|
setCurrentContent
|
|
13161
13477
|
}
|
|
13162
13478
|
);
|
|
13479
|
+
case "embedded-wallet":
|
|
13480
|
+
return /* @__PURE__ */ jsx(
|
|
13481
|
+
EmbeddedWalletContent,
|
|
13482
|
+
{
|
|
13483
|
+
setCurrentContent
|
|
13484
|
+
}
|
|
13485
|
+
);
|
|
13163
13486
|
}
|
|
13164
13487
|
};
|
|
13165
13488
|
return /* @__PURE__ */ jsx(
|
|
@@ -13174,7 +13497,6 @@ var AccountModal = ({
|
|
|
13174
13497
|
);
|
|
13175
13498
|
};
|
|
13176
13499
|
var ConnectModal = ({ isOpen, onClose }) => {
|
|
13177
|
-
const { loginModalUI } = useVeChainKitConfig();
|
|
13178
13500
|
const [currentContent, setCurrentContent] = useState("main");
|
|
13179
13501
|
useEffect(() => {
|
|
13180
13502
|
if (isOpen) {
|
|
@@ -13188,8 +13510,7 @@ var ConnectModal = ({ isOpen, onClose }) => {
|
|
|
13188
13510
|
MainContent,
|
|
13189
13511
|
{
|
|
13190
13512
|
setCurrentContent,
|
|
13191
|
-
onClose
|
|
13192
|
-
variant: loginModalUI?.variant
|
|
13513
|
+
onClose
|
|
13193
13514
|
}
|
|
13194
13515
|
);
|
|
13195
13516
|
case "faq":
|
|
@@ -13347,13 +13668,10 @@ var ConnectedWallet = ({
|
|
|
13347
13668
|
const [isDesktop] = useMediaQuery("(min-width: 768px)");
|
|
13348
13669
|
return /* @__PURE__ */ jsx(Button, { ...buttonStyle, onClick: onOpen, p: "0px 13px", minH: "45px", children: /* @__PURE__ */ jsxs(HStack, { children: [
|
|
13349
13670
|
/* @__PURE__ */ jsx(
|
|
13350
|
-
|
|
13671
|
+
AccountAvatar,
|
|
13351
13672
|
{
|
|
13352
|
-
|
|
13353
|
-
|
|
13354
|
-
width: 30,
|
|
13355
|
-
height: 30,
|
|
13356
|
-
borderRadius: "50%"
|
|
13673
|
+
wallet: account,
|
|
13674
|
+
props: { width: 30, height: 30 }
|
|
13357
13675
|
}
|
|
13358
13676
|
),
|
|
13359
13677
|
!isDesktop && /* @__PURE__ */ jsx(WalletDisplay, { variant: mobileVariant }),
|
|
@@ -13599,9 +13917,9 @@ var LoadingContent = ({
|
|
|
13599
13917
|
}) => {
|
|
13600
13918
|
const { t } = useTranslation();
|
|
13601
13919
|
const { darkMode: isDark } = useVeChainKitConfig();
|
|
13602
|
-
const [showTimeout, setShowTimeout] =
|
|
13603
|
-
const [showSafariMessage, setShowSafariMessage] =
|
|
13604
|
-
|
|
13920
|
+
const [showTimeout, setShowTimeout] = React8.useState(false);
|
|
13921
|
+
const [showSafariMessage, setShowSafariMessage] = React8.useState(false);
|
|
13922
|
+
React8.useEffect(() => {
|
|
13605
13923
|
if (isSafari) {
|
|
13606
13924
|
setShowSafariMessage(true);
|
|
13607
13925
|
}
|
|
@@ -13787,8 +14105,8 @@ var EcosystemContent = ({ onClose, appsInfo, isLoading }) => {
|
|
|
13787
14105
|
display: "flex",
|
|
13788
14106
|
gap: 2,
|
|
13789
14107
|
children: [
|
|
13790
|
-
/* @__PURE__ */ jsx(Icon, { as:
|
|
13791
|
-
t("
|
|
14108
|
+
/* @__PURE__ */ jsx(Icon, { as: IoMdApps, size: "20px" }),
|
|
14109
|
+
t("Select an app")
|
|
13792
14110
|
]
|
|
13793
14111
|
}
|
|
13794
14112
|
),
|
|
@@ -13803,9 +14121,7 @@ var EcosystemContent = ({ onClose, appsInfo, isLoading }) => {
|
|
|
13803
14121
|
opacity: 0.5,
|
|
13804
14122
|
mb: 4,
|
|
13805
14123
|
textAlign: "center",
|
|
13806
|
-
children: t(
|
|
13807
|
-
"Use your existing VeChain wallet from other ecosystem apps to sign in seamlessly."
|
|
13808
|
-
)
|
|
14124
|
+
children: t("Sign in with a wallet from other x2earn apps.")
|
|
13809
14125
|
}
|
|
13810
14126
|
),
|
|
13811
14127
|
isLoading && /* @__PURE__ */ jsx(
|
|
@@ -13922,8 +14238,6 @@ var initializeI18n = (i18nInstance) => {
|
|
|
13922
14238
|
});
|
|
13923
14239
|
};
|
|
13924
14240
|
var DEFAULT_PRIVY_ECOSYSTEM_APP_IDS = [
|
|
13925
|
-
"cm4wxxujb022fyujl7g0thb21",
|
|
13926
|
-
//vechain
|
|
13927
14241
|
"clz41gcg00e4ay75dmq3uzzgr",
|
|
13928
14242
|
//cleanify
|
|
13929
14243
|
"cm153hrup0817axti38avlfyg"
|
|
@@ -13943,14 +14257,13 @@ var VeChainKitProvider = ({
|
|
|
13943
14257
|
feeDelegation,
|
|
13944
14258
|
dappKit,
|
|
13945
14259
|
loginModalUI = {
|
|
13946
|
-
variant: "vechain-and-wallet",
|
|
13947
14260
|
description: "Choose between social login through VeChain or by connecting your wallet."
|
|
13948
14261
|
},
|
|
14262
|
+
loginMethods,
|
|
13949
14263
|
darkMode = false,
|
|
13950
14264
|
i18n: i18nConfig,
|
|
13951
14265
|
language = "en",
|
|
13952
|
-
network
|
|
13953
|
-
privyEcosystemAppIDS = DEFAULT_PRIVY_ECOSYSTEM_APP_IDS
|
|
14266
|
+
network
|
|
13954
14267
|
}) => {
|
|
13955
14268
|
const [isConnectModalOpen, setIsConnectModalOpen] = useState(false);
|
|
13956
14269
|
const openConnectModal = useCallback(() => setIsConnectModalOpen(true), []);
|
|
@@ -13983,10 +14296,12 @@ var VeChainKitProvider = ({
|
|
|
13983
14296
|
[]
|
|
13984
14297
|
);
|
|
13985
14298
|
const [accountModalContent, setAccountModalContent] = useState("main");
|
|
13986
|
-
const
|
|
13987
|
-
|
|
13988
|
-
|
|
13989
|
-
|
|
14299
|
+
const allowedEcosystemApps = useMemo(() => {
|
|
14300
|
+
const userEcosystemMethods = loginMethods?.find(
|
|
14301
|
+
(method35) => method35.method === "ecosystem"
|
|
14302
|
+
);
|
|
14303
|
+
return userEcosystemMethods?.allowedApps ?? DEFAULT_PRIVY_ECOSYSTEM_APP_IDS;
|
|
14304
|
+
}, [loginMethods]);
|
|
13990
14305
|
let privyAppId, privyClientId;
|
|
13991
14306
|
if (!privy) {
|
|
13992
14307
|
privyAppId = "clzdb5k0b02b9qvzjm6jpknsc";
|
|
@@ -14014,20 +14329,20 @@ var VeChainKitProvider = ({
|
|
|
14014
14329
|
}, [language, i18nConfig]);
|
|
14015
14330
|
return /* @__PURE__ */ jsxs(EnsureQueryClient, { children: [
|
|
14016
14331
|
/* @__PURE__ */ jsx(ReactQueryDevtools, { initialIsOpen: false }),
|
|
14017
|
-
/* @__PURE__ */ jsx(PrivyCrossAppProvider, { privyEcosystemAppIDS, children: /* @__PURE__ */ jsx(
|
|
14332
|
+
/* @__PURE__ */ jsx(PrivyCrossAppProvider, { privyEcosystemAppIDS: allowedEcosystemApps, children: /* @__PURE__ */ jsx(
|
|
14018
14333
|
VeChainKitContext.Provider,
|
|
14019
14334
|
{
|
|
14020
14335
|
value: {
|
|
14021
14336
|
privy,
|
|
14022
|
-
privyEcosystemAppIDS,
|
|
14337
|
+
privyEcosystemAppIDS: allowedEcosystemApps,
|
|
14023
14338
|
feeDelegation,
|
|
14024
14339
|
dappKit,
|
|
14025
14340
|
loginModalUI,
|
|
14341
|
+
loginMethods,
|
|
14026
14342
|
darkMode,
|
|
14027
14343
|
i18n: i18nConfig,
|
|
14028
14344
|
language,
|
|
14029
14345
|
network,
|
|
14030
|
-
privySocialLoginEnabled: privy !== void 0,
|
|
14031
14346
|
openConnectModal,
|
|
14032
14347
|
closeConnectModal,
|
|
14033
14348
|
isConnectModalOpen,
|
|
@@ -14050,7 +14365,7 @@ var VeChainKitProvider = ({
|
|
|
14050
14365
|
config: {
|
|
14051
14366
|
loginMethodsAndOrder: {
|
|
14052
14367
|
// @ts-ignore
|
|
14053
|
-
primary: loginMethods
|
|
14368
|
+
primary: privy?.loginMethods
|
|
14054
14369
|
},
|
|
14055
14370
|
appearance: {
|
|
14056
14371
|
theme: darkMode ? "dark" : "light",
|
|
@@ -14140,7 +14455,7 @@ var variants = {
|
|
|
14140
14455
|
scrollbarWidth: "none",
|
|
14141
14456
|
overflow: "scroll",
|
|
14142
14457
|
overflowX: "hidden",
|
|
14143
|
-
maxHeight: "
|
|
14458
|
+
maxHeight: "540px",
|
|
14144
14459
|
borderRadius: "24px",
|
|
14145
14460
|
backgroundColor: props.colorMode === "dark" ? "#1f1f1e" : "white"
|
|
14146
14461
|
},
|
|
@@ -14355,6 +14670,6 @@ var VechainKitThemeProvider = ({
|
|
|
14355
14670
|
] });
|
|
14356
14671
|
};
|
|
14357
14672
|
|
|
14358
|
-
export { APP_SECURITY_LEVELS, AccountCustomizationContent, AccountCustomizationModalProvider, AccountDetailsButton, AccountMainContent, AccountModal, AccountModalProvider, AccountSelector, ActionButton, AddressDisplay, AddressDisplayCard, AssetButton, AssetsSection, BalanceSection, BaseModal, ChooseNameContent, ChooseNameModalProvider, ChooseNameSearchContent, ChooseNameSummaryContent, ConnectModal, ConnectModalProvider, ConnectionButton, DappKitButton, EcosystemButton, EcosystemModal, EmailLoginButton, EmbeddedWalletContent,
|
|
14673
|
+
export { APP_SECURITY_LEVELS, AccessAndSecurityContent, AccessAndSecurityModalProvider, AccountAvatar, AccountCustomizationContent, AccountCustomizationModalProvider, AccountDetailsButton, AccountMainContent, AccountModal, AccountModalProvider, AccountSelector, ActionButton, AddressDisplay, AddressDisplayCard, AssetButton, AssetsSection, BalanceSection, BaseModal, ChooseNameContent, ChooseNameModalProvider, ChooseNameSearchContent, ChooseNameSummaryContent, ConnectModal, ConnectModalProvider, ConnectionButton, DappKitButton, EcosystemButton, EcosystemModal, EmailLoginButton, EmbeddedWalletContent, ExchangeWarningAlert, ExploreEcosystemModalProvider, FAQContent, FAQModalProvider, FadeInView, FadeInViewFromBottom, FadeInViewFromLeft, FadeInViewFromRight, FeatureAnnouncementCard, LoginLoadingModal, MAX_IMAGE_SIZE, MainContent, ModalBackButton, ModalFAQButton, NFTMediaType, NotificationsModalProvider, PRICE_FEED_IDS, PasskeyLoginButton, PrivyButton, PrivyWalletProvider, Profile, QuickActionsSection, ReceiveModalProvider, ReceiveTokenContent, RoundState, ScrollToTopWrapper, SecurityLevel, SelectTokenContent, SendTokenContent, SendTokenModalProvider, SendTokenSummaryContent, SettingsContent, SocialLoginButtons, StickyFooterContainer, StickyHeaderContainer, SwapTokenContent, TransactionModal, TransactionModalProvider, TransactionToast, TransactionToastProvider, VeChainKitContext, VeChainKitProvider, VeChainLoginButton, VeChainWithPrivyLoginButton, VePassportUserStatus, VechainKitThemeProvider, VersionFooter, WalletButton, WalletModalProvider, buildClaimRewardsTx, buildClaimRoundReward, compressImages, currentBlockQueryKey, fetchPrivyAppInfo, fetchVechainDomain, getAccountBalance, getAccountBalanceQueryKey, getAllEvents, getAllocationAmount, getAllocationAmountQueryKey, getAllocationsRoundState, getAllocationsRoundStateQueryKey, getAllocationsRoundsEvents, getAllocationsRoundsEventsQueryKey, getAppAdmin, getAppAdminQueryKey, getAppBalance, getAppBalanceQueryKey, getAppExistsQueryKey, getAppSecurityLevelQueryKey, getAppsEligibleInNextRound, getAppsEligibleInNextRoundQueryKey, getAppsShareClauses, getAvatar, getAvatarQueryKey, getB3trBalance, getB3trBalanceQueryKey, getB3trDonatedQueryKey, getB3trToUpgradeQueryKey, getBalanceOf, getCallKey, getChainId, getChainIdQueryKey, getCurrentAllocationsRoundId, getCurrentAllocationsRoundIdQueryKey, getDelegateeQueryKey, getDelegatorQueryKey, getDomainsOfAddress, getDomainsOfAddressQueryKey, getEnsRecordExistsQueryKey, getEntitiesLinkedToPassportQueryKey, getEvents, getGMBaseUriQueryKey, getGMLevel, getGMbalanceQueryKey, getGetCumulativeScoreWithDecayQueryKey, getHasVotedInRound, getHasVotedInRoundQueryKey, getIpfsImage, getIpfsImageQueryKey, getIpfsMetadata, getIpfsMetadataQueryKey, getIsBlacklistedQueryKey, getIsDomainProtectedQueryKey, getIsEntityQueryKey, getIsNodeHolder, getIsNodeHolderQueryKey, getIsPassportQueryKey, getIsPersonAtTimepointQueryKey, getIsPersonQueryKey, getIsWhitelistedQueryKey, getLevelGradient, getLevelMultiplierQueryKey, getLevelOfTokenQueryKey, getNFTMetadataUri, getNFTMetadataUriQueryKey, getNodeCheckCooldownQueryKey, getNodeManagerQueryKey, getParticipatedInGovernance, getParticipatedInGovernanceQueryKey, getParticipationScoreThresholdQueryKey, getPassportForEntityQueryKey, getPassportToggleQueryKey, getPendingDelegationsQueryKeyDelegateePOV, getPendingDelegationsQueryKeyDelegatorPOV, getPendingLinkingsQueryKey, getPrivyAppInfoQueryKey, getRoundReward, getRoundRewardQueryKey, getRoundXApps, getRoundXAppsQueryKey, getSecurityMultiplierQueryKey, getSmartAccount, getSmartAccountQueryKey, getThresholdParticipationScoreAtTimepointQueryKey, getThresholdParticipationScoreQueryKey, getTokenIdByAccount, getTokenIdByAccountQueryKey, getTokenUsdPrice, getTokenUsdPriceQueryKey, getTokensInfoByOwnerQueryKey, getUserBotSignalsQueryKey, getUserNodesQueryKey, getUserRoundScoreQueryKey, getUserVotesInRound, getUserVotesInRoundQueryKey, getUserXNodes, getUserXNodesQueryKey, getVeDelegateBalance, getVeDelegateBalanceQueryKey, getVechainDomainQueryKey, getVersion, getVersionQueryKey, getVot3Balance, getVot3BalanceQueryKey, getVotesInRoundQueryKey, getXAppMetadata, getXAppMetadataQueryKey, getXAppRoundEarnings, getXAppRoundEarningsQueryKey, getXAppTotalEarningsClauses, getXAppTotalEarningsQueryKey, getXAppVotes, getXAppVotesQf, getXAppVotesQfQueryKey, getXAppVotesQueryKey, getXApps, getXAppsMetadataBaseUri, getXAppsMetadataBaseUriQueryKey, getXAppsQueryKey, getXAppsSharesQueryKey, imageCompressionOptions, pollForReceipt, useAccessAndSecurityModal, useAccountBalance, useAccountCustomizationModal, useAccountLinking, useAccountModal, useAllocationAmount, useAllocationsRound, useAllocationsRoundState, useAllocationsRoundsEvents, useAppAdmin, useAppBalance, useAppExists, useAppSecurityLevel, useAppsEligibleInNextRound, useB3trDonated, useB3trToUpgrade, useBalances, useCall, useChooseNameModal, useClaimVeWorldSubdomain, useConnectModal, useContractVersion, useCrossAppConnectionCache, useCurrentAllocationsRound, useCurrentAllocationsRoundId, useCurrentBlock, useEcosystemShortcuts, useEnsRecordExists, useExploreEcosystemModal, useFAQModal, useFeatureAnnouncement, useFetchAppInfo, useGMBaseUri, useGMbalance, useGetAvatar, useGetB3trBalance, useGetChainId, useGetCumulativeScoreWithDecay, useGetDelegatee, useGetDelegator, useGetDomainsOfAddress, useGetEntitiesLinkedToPassport, useGetNodeManager, useGetNodeUrl, useGetPassportForEntity, useGetPendingDelegationsDelegateePOV, useGetPendingDelegationsDelegatorPOV, useGetPendingLinkings, useGetTokenUsdPrice, useGetTokensInfoByOwner, useGetUserEntitiesLinkedToPassport, useGetUserNode, useGetUserNodes, useGetUserPassportForEntity, useGetUserPendingLinkings, useGetVeDelegateBalance, useGetVot3Balance, useHasVotedInRound, useIpfsImage, useIpfsImageList, useIpfsMetadata, useIpfsMetadatas, useIsBlacklisted, useIsDomainProtected, useIsEntity, useIsGMclaimable, useIsNodeHolder, useIsPWA, useIsPassport, useIsPassportCheckEnabled, useIsPerson, useIsPersonAtTimepoint, useIsUserEntity, useIsUserPassport, useIsUserPerson, useIsWhitelisted, useLevelMultiplier, useLevelOfToken, useLocalStorage, useLoginModalContent, useLoginWithOAuth2 as useLoginWithOAuth, useLoginWithPasskey, useLoginWithVeChain, useMostVotedAppsInRound, useMultipleXAppRoundEarnings, useNFTImage, useNFTMetadataUri, useNotificationAlerts, useNotifications, useNotificationsModal, useParticipatedInGovernance, useParticipationScoreThreshold, usePassportChecks, usePrivyWalletProvider, useReceiveModal, useRefreshBalances, useRoundEarnings, useRoundReward, useRoundXApps, useScrollToTop, useSecurityMultiplier, useSelectedGmNft, useSendTokenModal, useSendTransaction, useSignMessage2 as useSignMessage, useSignTypedData2 as useSignTypedData, useSingleImageUpload, useSmartAccount, useThresholdParticipationScore, useThresholdParticipationScoreAtTimepoint, useTokenIdByAccount, useTransactionModal, useTransactionToast, useTransferERC20, useTransferVET, useTxReceipt, useUpdateAvatarRecord, useUploadImages, useUserBotSignals, useUserDelegation, useUserRoundScore, useUserStatus, useUserTopVotedApps, useUserVotesInAllRounds, useUserVotesInRound, useVeChainKitConfig, useVechainDomain, useVotesInRound, useVotingRewards, useWallet, useWalletModal, useXApp, useXAppMetadata, useXAppRoundEarnings, useXAppTotalEarnings, useXAppVotes, useXAppVotesQf, useXApps, useXAppsMetadataBaseUri, useXAppsShares, useXNode, useXNodeCheckCooldown, useXNodes };
|
|
14359
14674
|
//# sourceMappingURL=index.js.map
|
|
14360
14675
|
//# sourceMappingURL=index.js.map
|