@b3dotfun/sdk 0.0.64-alpha.2 → 0.0.65-test.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/dist/cjs/anyspend/react/components/AnySpend.js +73 -33
- package/dist/cjs/anyspend/react/components/AnySpendCustom.js +1 -1
- package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.js +1 -1
- package/dist/cjs/anyspend/react/components/common/FeeDetailPanel.js +1 -1
- package/dist/cjs/anyspend/react/components/common/FiatPaymentMethod.js +2 -2
- package/dist/cjs/anyspend/react/components/common/OrderHistory.d.ts +1 -1
- package/dist/cjs/anyspend/react/components/common/OrderHistory.js +7 -3
- package/dist/cjs/anyspend/react/components/common/PanelOnrampPayment.js +1 -1
- package/dist/cjs/anyspend/react/components/common/PointsDetailPanel.js +1 -1
- package/dist/cjs/anyspend/react/components/common/RecipientSelection.js +1 -1
- package/dist/cjs/global-account/react/components/AccountAssets/AccountAssets.js +38 -2
- package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.js +139 -33
- package/dist/cjs/global-account/react/components/B3DynamicModal.js +25 -6
- package/dist/cjs/global-account/react/components/Deposit/Deposit.d.ts +1 -0
- package/dist/cjs/global-account/react/components/Deposit/Deposit.js +65 -0
- package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.d.ts +6 -4
- package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.js +113 -279
- package/dist/cjs/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +4 -0
- package/dist/cjs/global-account/react/components/LinkAccount/LinkNewAccount.js +331 -0
- package/dist/cjs/global-account/react/components/ManageAccount/AppsContent.d.ts +6 -0
- package/dist/cjs/global-account/react/components/ManageAccount/AppsContent.js +34 -0
- package/dist/cjs/global-account/react/components/ManageAccount/BalanceContent.js +2 -2
- package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.d.ts +2 -0
- package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.js +23 -0
- package/dist/cjs/global-account/react/components/ManageAccount/Header.d.ts +3 -0
- package/dist/cjs/global-account/react/components/ManageAccount/Header.js +120 -0
- package/dist/cjs/global-account/react/components/ManageAccount/HomeActions.d.ts +5 -0
- package/dist/cjs/global-account/react/components/ManageAccount/HomeActions.js +43 -0
- package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.d.ts +6 -0
- package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.js +16 -0
- package/dist/cjs/global-account/react/components/ManageAccount/ManageAccount.js +24 -193
- package/dist/cjs/global-account/react/components/ManageAccount/NFTContent.d.ts +2 -0
- package/dist/cjs/global-account/react/components/ManageAccount/NFTContent.js +15 -0
- package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.d.ts +2 -0
- package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.js +44 -0
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.d.ts +7 -0
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.js +50 -0
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +9 -0
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsMenuItem.js +8 -0
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +2 -0
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.js +38 -0
- package/dist/cjs/global-account/react/components/ManageAccount/TokenContent.d.ts +2 -0
- package/dist/cjs/global-account/react/components/ManageAccount/TokenContent.js +22 -0
- package/dist/cjs/global-account/react/components/ModalHeader/ModalHeader.d.ts +10 -0
- package/dist/cjs/global-account/react/components/ModalHeader/ModalHeader.js +12 -0
- package/dist/cjs/global-account/react/components/Send/Send.d.ts +5 -0
- package/dist/cjs/global-account/react/components/Send/Send.js +187 -0
- package/dist/cjs/global-account/react/components/icons/BellIcon.d.ts +3 -0
- package/dist/cjs/global-account/react/components/icons/BellIcon.js +5 -0
- package/dist/cjs/global-account/react/components/icons/ChevronDownIcon.d.ts +2 -0
- package/dist/cjs/global-account/react/components/icons/ChevronDownIcon.js +7 -0
- package/dist/cjs/global-account/react/components/icons/CopyIcon.d.ts +2 -0
- package/dist/cjs/global-account/react/components/icons/CopyIcon.js +7 -0
- package/dist/cjs/global-account/react/components/icons/LinkIcon.d.ts +3 -0
- package/dist/cjs/global-account/react/components/icons/LinkIcon.js +5 -0
- package/dist/cjs/global-account/react/components/icons/LockIcon.d.ts +3 -0
- package/dist/cjs/global-account/react/components/icons/LockIcon.js +5 -0
- package/dist/cjs/global-account/react/components/icons/WalletIcon.d.ts +2 -0
- package/dist/cjs/global-account/react/components/icons/WalletIcon.js +7 -0
- package/dist/cjs/global-account/react/components/index.d.ts +4 -2
- package/dist/cjs/global-account/react/components/index.js +11 -4
- package/dist/cjs/global-account/react/components/ui/Tabs.js +2 -2
- package/dist/cjs/global-account/react/components/ui/dialog.js +2 -2
- package/dist/cjs/global-account/react/hooks/index.d.ts +1 -1
- package/dist/cjs/global-account/react/hooks/index.js +3 -1
- package/dist/cjs/global-account/react/hooks/useB3BalanceFromAddresses.js +1 -0
- package/dist/cjs/global-account/react/stores/index.d.ts +1 -0
- package/dist/cjs/global-account/react/stores/index.js +3 -1
- package/dist/cjs/global-account/react/stores/useModalStore.d.ts +34 -3
- package/dist/cjs/global-account/react/stores/useRecentAddressesStore.d.ts +25 -0
- package/dist/cjs/global-account/react/stores/useRecentAddressesStore.js +36 -0
- package/dist/cjs/global-account/react/utils/profileDisplay.d.ts +2 -0
- package/dist/cjs/global-account/react/utils/profileDisplay.js +2 -2
- package/dist/cjs/shared/constants/chains/supported.d.ts +2 -2
- package/dist/cjs/shared/utils/ipfs.js +1 -1
- package/dist/esm/anyspend/react/components/AnySpend.js +74 -34
- package/dist/esm/anyspend/react/components/AnySpendCustom.js +1 -1
- package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.js +1 -1
- package/dist/esm/anyspend/react/components/common/FeeDetailPanel.js +1 -1
- package/dist/esm/anyspend/react/components/common/FiatPaymentMethod.js +2 -2
- package/dist/esm/anyspend/react/components/common/OrderHistory.d.ts +1 -1
- package/dist/esm/anyspend/react/components/common/OrderHistory.js +6 -5
- package/dist/esm/anyspend/react/components/common/PanelOnrampPayment.js +1 -1
- package/dist/esm/anyspend/react/components/common/PointsDetailPanel.js +1 -1
- package/dist/esm/anyspend/react/components/common/RecipientSelection.js +1 -1
- package/dist/esm/global-account/react/components/AccountAssets/AccountAssets.js +38 -2
- package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.js +140 -34
- package/dist/esm/global-account/react/components/B3DynamicModal.js +25 -6
- package/dist/esm/global-account/react/components/Deposit/Deposit.d.ts +1 -0
- package/dist/esm/global-account/react/components/Deposit/Deposit.js +59 -0
- package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.d.ts +6 -4
- package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.js +113 -280
- package/dist/esm/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +4 -0
- package/dist/esm/global-account/react/components/LinkAccount/LinkNewAccount.js +325 -0
- package/dist/esm/global-account/react/components/ManageAccount/AppsContent.d.ts +6 -0
- package/dist/esm/global-account/react/components/ManageAccount/AppsContent.js +32 -0
- package/dist/esm/global-account/react/components/ManageAccount/BalanceContent.js +2 -2
- package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.d.ts +2 -0
- package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.js +21 -0
- package/dist/esm/global-account/react/components/ManageAccount/Header.d.ts +3 -0
- package/dist/esm/global-account/react/components/ManageAccount/Header.js +81 -0
- package/dist/esm/global-account/react/components/ManageAccount/HomeActions.d.ts +5 -0
- package/dist/esm/global-account/react/components/ManageAccount/HomeActions.js +41 -0
- package/dist/esm/global-account/react/components/ManageAccount/HomeContent.d.ts +6 -0
- package/dist/esm/global-account/react/components/ManageAccount/HomeContent.js +10 -0
- package/dist/esm/global-account/react/components/ManageAccount/ManageAccount.js +26 -195
- package/dist/esm/global-account/react/components/ManageAccount/NFTContent.d.ts +2 -0
- package/dist/esm/global-account/react/components/ManageAccount/NFTContent.js +13 -0
- package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.d.ts +2 -0
- package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.js +42 -0
- package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.d.ts +7 -0
- package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.js +45 -0
- package/dist/esm/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +9 -0
- package/dist/esm/global-account/react/components/ManageAccount/SettingsMenuItem.js +6 -0
- package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +2 -0
- package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.js +36 -0
- package/dist/esm/global-account/react/components/ManageAccount/TokenContent.d.ts +2 -0
- package/dist/esm/global-account/react/components/ManageAccount/TokenContent.js +20 -0
- package/dist/esm/global-account/react/components/ModalHeader/ModalHeader.d.ts +10 -0
- package/dist/esm/global-account/react/components/ModalHeader/ModalHeader.js +10 -0
- package/dist/esm/global-account/react/components/Send/Send.d.ts +5 -0
- package/dist/esm/global-account/react/components/Send/Send.js +181 -0
- package/dist/esm/global-account/react/components/icons/BellIcon.d.ts +3 -0
- package/dist/esm/global-account/react/components/icons/BellIcon.js +3 -0
- package/dist/esm/global-account/react/components/icons/ChevronDownIcon.d.ts +2 -0
- package/dist/esm/global-account/react/components/icons/ChevronDownIcon.js +4 -0
- package/dist/esm/global-account/react/components/icons/CopyIcon.d.ts +2 -0
- package/dist/esm/global-account/react/components/icons/CopyIcon.js +4 -0
- package/dist/esm/global-account/react/components/icons/LinkIcon.d.ts +3 -0
- package/dist/esm/global-account/react/components/icons/LinkIcon.js +3 -0
- package/dist/esm/global-account/react/components/icons/LockIcon.d.ts +3 -0
- package/dist/esm/global-account/react/components/icons/LockIcon.js +3 -0
- package/dist/esm/global-account/react/components/icons/WalletIcon.d.ts +2 -0
- package/dist/esm/global-account/react/components/icons/WalletIcon.js +4 -0
- package/dist/esm/global-account/react/components/index.d.ts +4 -2
- package/dist/esm/global-account/react/components/index.js +7 -2
- package/dist/esm/global-account/react/components/ui/Tabs.js +2 -2
- package/dist/esm/global-account/react/components/ui/dialog.js +2 -2
- package/dist/esm/global-account/react/hooks/index.d.ts +1 -1
- package/dist/esm/global-account/react/hooks/index.js +1 -1
- package/dist/esm/global-account/react/hooks/useB3BalanceFromAddresses.js +1 -0
- package/dist/esm/global-account/react/stores/index.d.ts +1 -0
- package/dist/esm/global-account/react/stores/index.js +1 -0
- package/dist/esm/global-account/react/stores/useModalStore.d.ts +34 -3
- package/dist/esm/global-account/react/stores/useRecentAddressesStore.d.ts +25 -0
- package/dist/esm/global-account/react/stores/useRecentAddressesStore.js +33 -0
- package/dist/esm/global-account/react/utils/profileDisplay.d.ts +2 -0
- package/dist/esm/global-account/react/utils/profileDisplay.js +2 -2
- package/dist/esm/shared/constants/chains/supported.d.ts +2 -2
- package/dist/esm/shared/utils/ipfs.js +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/types/anyspend/react/components/common/OrderHistory.d.ts +1 -1
- package/dist/types/global-account/react/components/Deposit/Deposit.d.ts +1 -0
- package/dist/types/global-account/react/components/LinkAccount/LinkAccount.d.ts +6 -4
- package/dist/types/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +4 -0
- package/dist/types/global-account/react/components/ManageAccount/AppsContent.d.ts +6 -0
- package/dist/types/global-account/react/components/ManageAccount/BottomNavigation.d.ts +2 -0
- package/dist/types/global-account/react/components/ManageAccount/Header.d.ts +3 -0
- package/dist/types/global-account/react/components/ManageAccount/HomeActions.d.ts +5 -0
- package/dist/types/global-account/react/components/ManageAccount/HomeContent.d.ts +6 -0
- package/dist/types/global-account/react/components/ManageAccount/NFTContent.d.ts +2 -0
- package/dist/types/global-account/react/components/ManageAccount/ProfileSection.d.ts +2 -0
- package/dist/types/global-account/react/components/ManageAccount/SettingsContent.d.ts +7 -0
- package/dist/types/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +9 -0
- package/dist/types/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +2 -0
- package/dist/types/global-account/react/components/ManageAccount/TokenContent.d.ts +2 -0
- package/dist/types/global-account/react/components/ModalHeader/ModalHeader.d.ts +10 -0
- package/dist/types/global-account/react/components/Send/Send.d.ts +5 -0
- package/dist/types/global-account/react/components/icons/BellIcon.d.ts +3 -0
- package/dist/types/global-account/react/components/icons/ChevronDownIcon.d.ts +2 -0
- package/dist/types/global-account/react/components/icons/CopyIcon.d.ts +2 -0
- package/dist/types/global-account/react/components/icons/LinkIcon.d.ts +3 -0
- package/dist/types/global-account/react/components/icons/LockIcon.d.ts +3 -0
- package/dist/types/global-account/react/components/icons/WalletIcon.d.ts +2 -0
- package/dist/types/global-account/react/components/index.d.ts +4 -2
- package/dist/types/global-account/react/hooks/index.d.ts +1 -1
- package/dist/types/global-account/react/stores/index.d.ts +1 -0
- package/dist/types/global-account/react/stores/useModalStore.d.ts +34 -3
- package/dist/types/global-account/react/stores/useRecentAddressesStore.d.ts +25 -0
- package/dist/types/global-account/react/utils/profileDisplay.d.ts +2 -0
- package/dist/types/shared/constants/chains/supported.d.ts +2 -2
- package/package.json +1 -1
- package/src/anyspend/react/components/AnySpend.tsx +225 -167
- package/src/anyspend/react/components/AnySpendCustom.tsx +1 -1
- package/src/anyspend/react/components/common/CryptoPaymentMethod.tsx +1 -1
- package/src/anyspend/react/components/common/FeeDetailPanel.tsx +1 -1
- package/src/anyspend/react/components/common/FiatPaymentMethod.tsx +2 -2
- package/src/anyspend/react/components/common/OrderHistory.tsx +8 -13
- package/src/anyspend/react/components/common/PanelOnrampPayment.tsx +1 -1
- package/src/anyspend/react/components/common/PointsDetailPanel.tsx +1 -1
- package/src/anyspend/react/components/common/RecipientSelection.tsx +1 -1
- package/src/global-account/react/components/AccountAssets/AccountAssets.tsx +115 -25
- package/src/global-account/react/components/AvatarEditor/AvatarEditor.tsx +303 -126
- package/src/global-account/react/components/B3DynamicModal.tsx +28 -6
- package/src/global-account/react/components/Deposit/Deposit.tsx +211 -0
- package/src/global-account/react/components/LinkAccount/LinkAccount.tsx +332 -433
- package/src/global-account/react/components/LinkAccount/LinkNewAccount.tsx +490 -0
- package/src/global-account/react/components/ManageAccount/AppsContent.tsx +79 -0
- package/src/global-account/react/components/ManageAccount/BalanceContent.tsx +2 -3
- package/src/global-account/react/components/ManageAccount/BottomNavigation.tsx +83 -0
- package/src/global-account/react/components/ManageAccount/Header.tsx +230 -0
- package/src/global-account/react/components/ManageAccount/HomeActions.tsx +118 -0
- package/src/global-account/react/components/ManageAccount/HomeContent.tsx +42 -0
- package/src/global-account/react/components/ManageAccount/ManageAccount.tsx +73 -589
- package/src/global-account/react/components/ManageAccount/NFTContent.tsx +24 -0
- package/src/global-account/react/components/ManageAccount/ProfileSection.tsx +74 -0
- package/src/global-account/react/components/ManageAccount/SettingsContent.tsx +87 -0
- package/src/global-account/react/components/ManageAccount/SettingsMenuItem.tsx +31 -0
- package/src/global-account/react/components/ManageAccount/SettingsProfileCard.tsx +74 -0
- package/src/global-account/react/components/ManageAccount/TokenContent.tsx +41 -0
- package/src/global-account/react/components/ModalHeader/ModalHeader.tsx +50 -0
- package/src/global-account/react/components/Send/Send.tsx +585 -0
- package/src/global-account/react/components/icons/BellIcon.tsx +15 -0
- package/src/global-account/react/components/icons/ChevronDownIcon.tsx +17 -0
- package/src/global-account/react/components/icons/CopyIcon.tsx +22 -0
- package/src/global-account/react/components/icons/LinkIcon.tsx +15 -0
- package/src/global-account/react/components/icons/LockIcon.tsx +15 -0
- package/src/global-account/react/components/icons/WalletIcon.tsx +21 -0
- package/src/global-account/react/components/index.ts +9 -2
- package/src/global-account/react/components/ui/Tabs.tsx +5 -13
- package/src/global-account/react/components/ui/dialog.tsx +32 -14
- package/src/global-account/react/hooks/index.ts +3 -0
- package/src/global-account/react/hooks/useB3BalanceFromAddresses.ts +1 -0
- package/src/global-account/react/stores/index.ts +1 -0
- package/src/global-account/react/stores/useModalStore.ts +39 -2
- package/src/global-account/react/stores/useRecentAddressesStore.ts +55 -0
- package/src/global-account/react/utils/profileDisplay.ts +4 -2
- package/src/shared/utils/ipfs.ts +1 -1
- package/src/styles/index.css +6 -1
|
@@ -3,113 +3,52 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.LinkAccount =
|
|
6
|
+
exports.LinkAccount = void 0;
|
|
7
7
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
8
|
const app_1 = __importDefault(require("../../../../global-account/app"));
|
|
9
|
-
const
|
|
10
|
-
const b3Chain_1 = require("../../../../shared/constants/chains/b3Chain");
|
|
9
|
+
const react_1 = require("../../../../global-account/react");
|
|
11
10
|
const thirdweb_1 = require("../../../../shared/utils/thirdweb");
|
|
11
|
+
const truncateAddress_1 = require("../../../../shared/utils/truncateAddress");
|
|
12
12
|
const lucide_react_1 = require("lucide-react");
|
|
13
|
-
const
|
|
13
|
+
const react_2 = require("react");
|
|
14
14
|
const sonner_1 = require("sonner");
|
|
15
|
-
const
|
|
16
|
-
const wallets_1 = require("thirdweb/wallets");
|
|
17
|
-
const __1 = require("../..");
|
|
18
|
-
const useModalStore_1 = require("../../stores/useModalStore");
|
|
15
|
+
const react_3 = require("thirdweb/react");
|
|
19
16
|
const profileDisplay_1 = require("../../utils/profileDisplay");
|
|
20
|
-
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
{ id: "email", label: "Email", enabled: true, icon: (0, jsx_runtime_1.jsx)(lucide_react_1.Mail, { className: "text-b3-primary-blue size-6" }) },
|
|
29
|
-
{ id: "phone", label: "Phone", enabled: true, icon: (0, jsx_runtime_1.jsx)(lucide_react_1.Phone, { className: "text-b3-primary-blue size-6" }) },
|
|
30
|
-
{ id: "google", label: "Google", enabled: true, icon: (0, jsx_runtime_1.jsx)(GoogleIcon_1.GoogleIcon, { className: "size-6" }) },
|
|
31
|
-
{ id: "x", label: "X (Twitter)", enabled: true, icon: (0, jsx_runtime_1.jsx)(XIcon_1.XIcon, { className: "size-6" }) },
|
|
32
|
-
{ id: "discord", label: "Discord", enabled: true, icon: (0, jsx_runtime_1.jsx)(DiscordIcon_1.DiscordIcon, { className: "size-6" }) },
|
|
33
|
-
{ id: "apple", label: "Apple", enabled: true, icon: (0, jsx_runtime_1.jsx)(AppleIcon_1.AppleIcon, { className: "size-6" }) },
|
|
34
|
-
{
|
|
35
|
-
id: "farcaster",
|
|
36
|
-
label: "Farcaster",
|
|
37
|
-
enabled: true,
|
|
38
|
-
icon: (0, jsx_runtime_1.jsx)(FarcasterIcon_1.FarcasterIcon, { className: "size-6" }),
|
|
39
|
-
},
|
|
40
|
-
];
|
|
41
|
-
const WALLET_METHODS = [
|
|
42
|
-
{
|
|
43
|
-
id: "wallet",
|
|
44
|
-
label: "Wallet",
|
|
45
|
-
enabled: true,
|
|
46
|
-
icon: (0, jsx_runtime_1.jsx)(lucide_react_1.WalletIcon, { className: "size-6" }),
|
|
47
|
-
walletType: "com.coinbase.wallet",
|
|
48
|
-
},
|
|
49
|
-
{ id: "wallet", label: "Wallet", enabled: true, icon: (0, jsx_runtime_1.jsx)(lucide_react_1.WalletIcon, { className: "size-6" }), walletType: "io.metamask" },
|
|
50
|
-
{
|
|
51
|
-
id: "wallet",
|
|
52
|
-
label: "Wallet",
|
|
53
|
-
enabled: true,
|
|
54
|
-
icon: (0, jsx_runtime_1.jsx)(lucide_react_1.WalletIcon, { className: "size-6" }),
|
|
55
|
-
walletType: "me.rainbow",
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
id: "wallet",
|
|
59
|
-
label: "Wallet",
|
|
60
|
-
enabled: true,
|
|
61
|
-
icon: (0, jsx_runtime_1.jsx)(lucide_react_1.WalletIcon, { className: "size-6" }),
|
|
62
|
-
walletType: "app.phantom",
|
|
63
|
-
},
|
|
64
|
-
{ id: "wallet", label: "Wallet", enabled: true, icon: (0, jsx_runtime_1.jsx)(lucide_react_1.WalletIcon, { className: "size-6" }), walletType: "io.rabby" },
|
|
65
|
-
{
|
|
66
|
-
id: "wallet",
|
|
67
|
-
label: "Wallet",
|
|
68
|
-
enabled: true,
|
|
69
|
-
icon: (0, jsx_runtime_1.jsx)(lucide_react_1.WalletIcon, { className: "size-6" }),
|
|
70
|
-
walletType: "walletConnect",
|
|
71
|
-
},
|
|
72
|
-
];
|
|
73
|
-
function LinkAccount({ onSuccess: onSuccessCallback, onError, onClose, chain, partnerId, className, }) {
|
|
74
|
-
const { isLinking, linkingMethod, setLinkingState, navigateBack, setB3ModalContentType } = (0, useModalStore_1.useModalStore)();
|
|
75
|
-
const [selectedMethod, setSelectedMethod] = (0, react_1.useState)(null);
|
|
76
|
-
const [email, setEmail] = (0, react_1.useState)("");
|
|
77
|
-
const [phone, setPhone] = (0, react_1.useState)("");
|
|
78
|
-
const [otp, setOtp] = (0, react_1.useState)("");
|
|
79
|
-
const [otpSent, setOtpSent] = (0, react_1.useState)(false);
|
|
80
|
-
const [error, setError] = (0, react_1.useState)(null);
|
|
81
|
-
const { data: profilesRaw = [] } = (0, react_2.useProfiles)({ client: thirdweb_1.client });
|
|
82
|
-
// Get connected auth methods
|
|
83
|
-
const connectedAuthMethods = profilesRaw
|
|
84
|
-
.filter((profile) => !["custom_auth_endpoint"].includes(profile.type))
|
|
85
|
-
.map((profile) => profile.type);
|
|
86
|
-
// Filter available auth methods
|
|
87
|
-
const availableAuthMethods = AUTH_METHODS.filter(method => !connectedAuthMethods.includes(method.id) && method.enabled);
|
|
88
|
-
const profiles = profilesRaw
|
|
89
|
-
.filter((profile) => !["custom_auth_endpoint"].includes(profile.type))
|
|
90
|
-
.map((profile) => ({
|
|
91
|
-
...(0, profileDisplay_1.getProfileDisplayInfo)(profile),
|
|
92
|
-
originalProfile: profile,
|
|
93
|
-
}));
|
|
94
|
-
const { account } = (0, useB3_1.useB3)();
|
|
95
|
-
const { mutate: linkProfile } = (0, react_2.useLinkProfile)();
|
|
96
|
-
const onSuccess = (0, react_1.useCallback)(async () => {
|
|
97
|
-
await onSuccessCallback?.();
|
|
98
|
-
}, [onSuccessCallback]);
|
|
99
|
-
// Reset linking state when component unmounts
|
|
100
|
-
(0, react_1.useEffect)(() => {
|
|
101
|
-
return () => {
|
|
102
|
-
if (isLinking) {
|
|
103
|
-
setLinkingState(false);
|
|
104
|
-
}
|
|
17
|
+
// Helper function to check if a string is a wallet address and format it
|
|
18
|
+
const formatProfileTitle = (title) => {
|
|
19
|
+
// Check if title looks like an Ethereum address (0x followed by 40 hex characters)
|
|
20
|
+
const isEthereumAddress = /^0x[a-fA-F0-9]{40}$/.test(title);
|
|
21
|
+
if (isEthereumAddress) {
|
|
22
|
+
return {
|
|
23
|
+
displayTitle: (0, truncateAddress_1.truncateAddress)(title),
|
|
24
|
+
isAddress: true,
|
|
105
25
|
};
|
|
106
|
-
}
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
displayTitle: title,
|
|
29
|
+
isAddress: false,
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
const ModalHeader_1 = __importDefault(require("../ModalHeader/ModalHeader"));
|
|
33
|
+
const LinkAccount = ({ partnerId, onLogout, chain, }) => {
|
|
34
|
+
const [unlinkingAccountId, setUnlinkingAccountId] = (0, react_2.useState)(null);
|
|
35
|
+
const { data: profilesRaw = [], isLoading: isLoadingProfiles } = (0, react_3.useProfiles)({ client: thirdweb_1.client });
|
|
36
|
+
const { mutate: unlinkProfile, isPending: isUnlinking } = (0, react_3.useUnlinkProfile)();
|
|
37
|
+
const setB3ModalContentType = (0, react_1.useModalStore)(state => state.setB3ModalContentType);
|
|
38
|
+
const isLinking = (0, react_1.useModalStore)(state => state.isLinking);
|
|
39
|
+
const setB3ModalOpen = (0, react_1.useModalStore)(state => state.setB3ModalOpen);
|
|
40
|
+
const contentType = (0, react_1.useModalStore)(state => state.contentType);
|
|
41
|
+
const { user, setUser } = (0, react_1.useB3)();
|
|
42
|
+
const [isUpdatingCode, setIsUpdatingCode] = (0, react_2.useState)(false);
|
|
43
|
+
const [newReferralCode, setNewReferralCode] = (0, react_2.useState)("");
|
|
44
|
+
const [isEditingCode, setIsEditingCode] = (0, react_2.useState)(false);
|
|
45
|
+
const referallCodeRef = (0, react_2.useRef)(null);
|
|
46
|
+
const { data: referrals, isLoading: isLoadingReferrals } = (0, react_1.useQueryB3)("referrals", "find", { query: { referrerId: user?.userId } }, !!user?.userId);
|
|
47
|
+
const showReferralInfo = contentType?.showReferralInfo ?? false;
|
|
107
48
|
const mutationOptions = {
|
|
108
49
|
onError: (error) => {
|
|
109
|
-
console.error("Error
|
|
50
|
+
console.error("Error Unlinking account:", error);
|
|
110
51
|
sonner_1.toast.error(error.message);
|
|
111
|
-
setLinkingState(false);
|
|
112
|
-
onError?.(error);
|
|
113
52
|
},
|
|
114
53
|
onSuccess: async (data) => {
|
|
115
54
|
console.log("Raw Link Account Data:", data);
|
|
@@ -122,205 +61,100 @@ function LinkAccount({ onSuccess: onSuccessCallback, onError, onClose, chain, pa
|
|
|
122
61
|
}
|
|
123
62
|
},
|
|
124
63
|
};
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
setError("Please enter your email address");
|
|
129
|
-
return false;
|
|
130
|
-
}
|
|
131
|
-
if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) {
|
|
132
|
-
setError("Please enter a valid email address");
|
|
133
|
-
return false;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
else if (selectedMethod === "phone") {
|
|
137
|
-
if (!phone) {
|
|
138
|
-
setError("Please enter your phone number");
|
|
139
|
-
return false;
|
|
140
|
-
}
|
|
141
|
-
if (!/^\+?[\d\s-]{10,}$/.test(phone)) {
|
|
142
|
-
setError("Please enter a valid phone number");
|
|
143
|
-
return false;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
setError(null);
|
|
147
|
-
return true;
|
|
148
|
-
};
|
|
149
|
-
const handleSendOTP = async () => {
|
|
150
|
-
if (!validateInput())
|
|
151
|
-
return;
|
|
64
|
+
// Fetch referred users
|
|
65
|
+
const currentReferralCode = user?.referralCode || user?.userId || "";
|
|
66
|
+
const handleCopyCode = async () => {
|
|
152
67
|
try {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
if (selectedMethod === "email") {
|
|
156
|
-
await (0, wallets_1.preAuthenticate)({
|
|
157
|
-
client: thirdweb_1.client,
|
|
158
|
-
strategy: "email",
|
|
159
|
-
email,
|
|
160
|
-
ecosystem: {
|
|
161
|
-
id: constants_1.ecosystemWalletId,
|
|
162
|
-
partnerId: partnerId,
|
|
163
|
-
},
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
else if (selectedMethod === "phone") {
|
|
167
|
-
await (0, wallets_1.preAuthenticate)({
|
|
168
|
-
client: thirdweb_1.client,
|
|
169
|
-
strategy: "phone",
|
|
170
|
-
phoneNumber: phone,
|
|
171
|
-
ecosystem: {
|
|
172
|
-
id: constants_1.ecosystemWalletId,
|
|
173
|
-
partnerId: partnerId,
|
|
174
|
-
},
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
setOtpSent(true);
|
|
68
|
+
await navigator.clipboard.writeText(currentReferralCode);
|
|
69
|
+
sonner_1.toast.success("Referral code copied to clipboard!");
|
|
178
70
|
}
|
|
179
71
|
catch (error) {
|
|
180
|
-
|
|
181
|
-
setError(error instanceof Error ? error.message : "Failed to send OTP");
|
|
182
|
-
onError?.(error);
|
|
183
|
-
setLinkingState(false);
|
|
72
|
+
sonner_1.toast.error("Failed to copy referral code");
|
|
184
73
|
}
|
|
185
74
|
};
|
|
186
|
-
const
|
|
187
|
-
if (!
|
|
188
|
-
console.error("No OTP entered");
|
|
189
|
-
setError("Please enter the verification code");
|
|
75
|
+
const handleUpdateReferralCode = async () => {
|
|
76
|
+
if (!newReferralCode)
|
|
190
77
|
return;
|
|
191
|
-
|
|
78
|
+
setIsUpdatingCode(true);
|
|
192
79
|
try {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
}, mutationOptions);
|
|
203
|
-
}
|
|
204
|
-
else if (selectedMethod === "phone") {
|
|
205
|
-
await linkProfile({
|
|
206
|
-
client: thirdweb_1.client,
|
|
207
|
-
strategy: "phone",
|
|
208
|
-
phoneNumber: phone,
|
|
209
|
-
verificationCode: otp,
|
|
210
|
-
}, mutationOptions);
|
|
211
|
-
}
|
|
80
|
+
// @ts-expect-error - setReferralCode is not typed for some reason
|
|
81
|
+
const newUser = await app_1.default.service("users").setReferralCode({
|
|
82
|
+
userId: user?.userId,
|
|
83
|
+
referralCode: newReferralCode,
|
|
84
|
+
});
|
|
85
|
+
setUser(newUser);
|
|
86
|
+
sonner_1.toast.success("Referral code updated successfully!");
|
|
87
|
+
setIsEditingCode(false);
|
|
88
|
+
setNewReferralCode("");
|
|
212
89
|
}
|
|
213
90
|
catch (error) {
|
|
214
|
-
|
|
215
|
-
setError(error instanceof Error ? error.message : "Failed to link account");
|
|
216
|
-
onError?.(error);
|
|
217
|
-
}
|
|
218
|
-
};
|
|
219
|
-
const handleLinkWallet = async (walletType) => {
|
|
220
|
-
setLinkingState(true, "wallet");
|
|
221
|
-
console.log("selectedMethod", walletType);
|
|
222
|
-
try {
|
|
223
|
-
if (!walletType) {
|
|
224
|
-
throw new Error("Wallet type not found");
|
|
225
|
-
}
|
|
226
|
-
await linkProfile({
|
|
227
|
-
client: thirdweb_1.client,
|
|
228
|
-
strategy: "wallet",
|
|
229
|
-
wallet: (0, wallets_1.createWallet)(walletType),
|
|
230
|
-
chain: b3Chain_1.thirdwebB3Mainnet,
|
|
231
|
-
}, mutationOptions);
|
|
91
|
+
sonner_1.toast.error("Failed to update referral code");
|
|
232
92
|
}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
setError(error instanceof Error ? error.message : "Failed to link account");
|
|
236
|
-
onError?.(error);
|
|
93
|
+
finally {
|
|
94
|
+
setIsUpdatingCode(false);
|
|
237
95
|
}
|
|
238
96
|
};
|
|
239
|
-
const
|
|
97
|
+
const profiles = profilesRaw
|
|
98
|
+
.filter((profile) => !["custom_auth_endpoint"].includes(profile.type))
|
|
99
|
+
.map((profile) => ({
|
|
100
|
+
...(0, profileDisplay_1.getProfileDisplayInfo)(profile),
|
|
101
|
+
originalProfile: profile,
|
|
102
|
+
}));
|
|
103
|
+
const handleUnlink = async (profile) => {
|
|
104
|
+
setUnlinkingAccountId(profile.title);
|
|
240
105
|
try {
|
|
241
|
-
|
|
242
|
-
setLinkingState(true, strategy);
|
|
243
|
-
setError(null);
|
|
244
|
-
const result = await linkProfile({
|
|
245
|
-
client: thirdweb_1.client,
|
|
246
|
-
strategy,
|
|
247
|
-
}, mutationOptions);
|
|
248
|
-
console.log("result", result);
|
|
249
|
-
// Don't close the modal yet, wait for auth to complete
|
|
250
|
-
onSuccess?.();
|
|
106
|
+
unlinkProfile({ client: thirdweb_1.client, profileToUnlink: profile.originalProfile }, mutationOptions);
|
|
251
107
|
}
|
|
252
108
|
catch (error) {
|
|
253
|
-
console.error("Error
|
|
254
|
-
setError(error instanceof Error ? error.message : "Failed to link social account");
|
|
255
|
-
onError?.(error);
|
|
256
|
-
setLinkingState(false);
|
|
109
|
+
console.error("Error unlinking account:", error);
|
|
257
110
|
}
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
(0, react_1.useEffect)(() => {
|
|
261
|
-
if (isLinking && linkingMethod && !selectedMethod) {
|
|
262
|
-
// This means we're in a social auth flow
|
|
263
|
-
const checkAuthStatus = async () => {
|
|
264
|
-
try {
|
|
265
|
-
// Wait a bit to ensure auth is complete
|
|
266
|
-
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
267
|
-
onClose?.();
|
|
268
|
-
}
|
|
269
|
-
catch (error) {
|
|
270
|
-
console.error("Error checking auth status:", error);
|
|
271
|
-
setLinkingState(false);
|
|
272
|
-
}
|
|
273
|
-
};
|
|
274
|
-
checkAuthStatus();
|
|
275
|
-
}
|
|
276
|
-
}, [isLinking, linkingMethod, selectedMethod, onClose, setLinkingState]);
|
|
277
|
-
const handleBack = (0, react_1.useCallback)(() => {
|
|
278
|
-
if (isLinking)
|
|
279
|
-
return;
|
|
280
|
-
setSelectedMethod(null);
|
|
281
|
-
setEmail("");
|
|
282
|
-
setPhone("");
|
|
283
|
-
setOtp("");
|
|
284
|
-
setOtpSent(false);
|
|
285
|
-
setError(null);
|
|
286
|
-
setLinkingState(false);
|
|
287
|
-
}, [isLinking, setSelectedMethod, setEmail, setPhone, setOtp, setOtpSent, setError, setLinkingState]);
|
|
288
|
-
const handleFinishedLinking = (0, react_1.useCallback)((success) => {
|
|
289
|
-
if (success) {
|
|
290
|
-
onSuccess?.();
|
|
291
|
-
onClose?.();
|
|
111
|
+
finally {
|
|
112
|
+
setUnlinkingAccountId(null);
|
|
292
113
|
}
|
|
293
|
-
|
|
294
|
-
|
|
114
|
+
};
|
|
115
|
+
const handleOpenLinkModal = () => {
|
|
116
|
+
setB3ModalOpen(true);
|
|
295
117
|
setB3ModalContentType({
|
|
296
|
-
type: "
|
|
297
|
-
activeTab: "settings",
|
|
298
|
-
setActiveTab: () => { },
|
|
299
|
-
chain,
|
|
118
|
+
type: "linkNewAccount",
|
|
300
119
|
partnerId,
|
|
120
|
+
chain,
|
|
121
|
+
onSuccess: async () => {
|
|
122
|
+
// Let the LinkAccount component handle modal closing
|
|
123
|
+
},
|
|
124
|
+
onError: () => {
|
|
125
|
+
// Let the LinkAccount component handle errors
|
|
126
|
+
},
|
|
127
|
+
onClose: () => {
|
|
128
|
+
// Let the LinkAccount component handle closing
|
|
129
|
+
},
|
|
301
130
|
});
|
|
302
|
-
}
|
|
303
|
-
(0,
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
131
|
+
};
|
|
132
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "linked-accounts-settings", children: [(0, jsx_runtime_1.jsx)(ModalHeader_1.default, { title: "Linked Accounts" }), (0, jsx_runtime_1.jsxs)("div", { className: "linked-accounts-section space-y-4 p-5", children: [isLoadingProfiles ? ((0, jsx_runtime_1.jsx)("div", { className: "linked-accounts-loading flex justify-center py-8", children: (0, jsx_runtime_1.jsx)(lucide_react_1.Loader2, { className: "text-b3-grey animate-spin" }) })) : profiles.length > 0 ? ((0, jsx_runtime_1.jsx)("div", { className: "linked-accounts-list space-y-4", children: profiles.map(profile => ((0, jsx_runtime_1.jsxs)("div", { className: "linked-account-item hover:bg-b3-line group flex cursor-pointer items-center justify-between rounded-xl p-4 transition-colors", children: [(0, jsx_runtime_1.jsxs)("div", { className: "linked-account-info flex items-center gap-3", children: [profile.imageUrl ? ((0, jsx_runtime_1.jsx)("img", { src: profile.imageUrl, alt: profile.title, className: "linked-account-avatar linked-account-avatar-image size-10 rounded-full" })) : ((0, jsx_runtime_1.jsx)("div", { className: "linked-account-avatar linked-account-avatar-placeholder bg-b3-primary-wash flex h-10 w-10 items-center justify-center rounded-full", children: (0, jsx_runtime_1.jsx)("span", { className: "linked-account-initial text-b3-grey font-neue-montreal-semibold text-sm uppercase", children: profile.initial }) })), (0, jsx_runtime_1.jsxs)("div", { className: "linked-account-details", children: [(0, jsx_runtime_1.jsxs)("div", { className: "linked-account-title-row flex items-center gap-2", children: [(() => {
|
|
133
|
+
const { displayTitle, isAddress } = formatProfileTitle(profile.title);
|
|
134
|
+
const handleCopyAddress = async (e) => {
|
|
135
|
+
e.stopPropagation();
|
|
136
|
+
try {
|
|
137
|
+
await navigator.clipboard.writeText(profile.title);
|
|
138
|
+
sonner_1.toast.success("Address copied to clipboard!");
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
sonner_1.toast.error("Failed to copy address");
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-1", children: [(0, jsx_runtime_1.jsx)("span", { className: `linked-account-title text-b3-grey font-neue-montreal-semibold ${isAddress
|
|
145
|
+
? "font-mono text-sm" // Use monospace font for addresses
|
|
146
|
+
: "break-words" // Use break-words for emails/names (better than break-all)
|
|
147
|
+
}`, title: isAddress ? profile.title : undefined, children: displayTitle }), isAddress && ((0, jsx_runtime_1.jsx)("button", { onClick: handleCopyAddress, className: "linked-account-copy-button ml-1 rounded p-1 opacity-0 transition-opacity hover:bg-gray-100 group-hover:opacity-100", title: "Copy full address", children: (0, jsx_runtime_1.jsx)(lucide_react_1.Copy, { size: 12, className: "text-gray-500 hover:text-gray-700" }) }))] }));
|
|
148
|
+
})(), (0, jsx_runtime_1.jsx)("span", { className: "linked-account-type text-b3-foreground-muted font-neue-montreal-medium bg-b3-primary-wash rounded px-2 py-0.5 text-xs", children: profile.type.toUpperCase() })] }), (0, jsx_runtime_1.jsx)("div", { className: "linked-account-subtitle text-b3-foreground-muted font-neue-montreal-medium text-sm", children: profile.subtitle })] })] }), (0, jsx_runtime_1.jsx)(react_1.Button, { variant: "ghost", size: "icon", className: "linked-account-unlink-button text-b3-grey hover:text-b3-negative", onClick: () => handleUnlink(profile), disabled: unlinkingAccountId === profile.title || isUnlinking, children: unlinkingAccountId === profile.title || isUnlinking ? ((0, jsx_runtime_1.jsx)(lucide_react_1.Loader2, { className: "linked-account-unlink-loading animate-spin" })) : ((0, jsx_runtime_1.jsx)(lucide_react_1.UnlinkIcon, { size: 16, className: "linked-account-unlink-icon" })) })] }, profile.title))) })) : ((0, jsx_runtime_1.jsx)("div", { className: "linked-accounts-empty text-b3-foreground-muted py-8 text-center", children: "No linked accounts found" })), (0, jsx_runtime_1.jsx)(react_1.Button, { onClick: handleOpenLinkModal, disabled: isLinking, className: "bg-b3-primary-blue hover:bg-b3-primary-blue/90 border-white/12 group relative h-12 w-full rounded-xl border-2 px-[18px] text-base font-semibold text-white shadow-[inset_0px_0px_0px_1px_rgba(10,13,18,0.18),inset_0px_-2px_0px_0px_rgba(10,13,18,0.05)] transition-all", children: (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-center gap-1.5", children: [(0, jsx_runtime_1.jsx)("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: "shrink-0", children: (0, jsx_runtime_1.jsx)("path", { d: "M10.0001 13.3333V6.66667M6.66675 10H13.3334M18.3334 10C18.3334 14.6024 14.6025 18.3333 10.0001 18.3333C5.39771 18.3333 1.66675 14.6024 1.66675 10C1.66675 5.39763 5.39771 1.66667 10.0001 1.66667C14.6025 1.66667 18.3334 5.39763 18.3334 10Z", stroke: "currentColor", strokeWidth: "1.67", strokeLinecap: "round", strokeLinejoin: "round" }) }), (0, jsx_runtime_1.jsx)("span", { children: "Link new account" })] }) })] }), showReferralInfo && (
|
|
149
|
+
/* Referral Section */
|
|
150
|
+
(0, jsx_runtime_1.jsxs)("div", { className: "referrals-section space-y-4", children: [(0, jsx_runtime_1.jsx)("h3", { className: "referrals-title text-b3-grey font-neue-montreal-semibold text-xl", children: "Referrals" }), (0, jsx_runtime_1.jsxs)("div", { className: "referral-code-container bg-b3-line rounded-xl p-4", children: [isEditingCode && ((0, jsx_runtime_1.jsxs)("div", { className: "referral-code-header-editing", children: [(0, jsx_runtime_1.jsx)("div", { className: "referral-code-title text-b3-grey font-neue-montreal-semibold", children: "Your Referral Code" }), (0, jsx_runtime_1.jsx)("div", { className: "referral-code-description text-b3-foreground-muted font-neue-montreal-medium text-sm", children: "Share this code with friends to earn rewards" })] })), (0, jsx_runtime_1.jsxs)("div", { className: "referral-code-content flex items-center justify-between", children: [!isEditingCode && ((0, jsx_runtime_1.jsxs)("div", { className: "referral-code-header", children: [(0, jsx_runtime_1.jsx)("div", { className: "referral-code-title text-b3-grey font-neue-montreal-semibold", children: "Your Referral Code" }), (0, jsx_runtime_1.jsx)("div", { className: "referral-code-description text-b3-foreground-muted font-neue-montreal-medium text-sm", children: "Share this code with friends to earn rewards" })] })), (0, jsx_runtime_1.jsx)("div", { className: "referral-code-actions flex items-center gap-2", children: isEditingCode ? ((0, jsx_runtime_1.jsxs)("div", { className: "referral-code-edit-form flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)("input", { type: "text", value: newReferralCode, onChange: e => setNewReferralCode(e.target.value), className: "referral-code-input rounded-lg border border-gray-200 bg-white px-3 py-1.5 text-sm", placeholder: "Enter new code", ref: referallCodeRef }), (0, jsx_runtime_1.jsx)(react_1.Button, { size: "sm", className: "referral-code-save-button", onClick: handleUpdateReferralCode, disabled: isUpdatingCode || !newReferralCode, children: isUpdatingCode ? ((0, jsx_runtime_1.jsx)(lucide_react_1.Loader2, { className: "referral-code-save-loading h-4 w-4 animate-spin" })) : ("Save") }), (0, jsx_runtime_1.jsx)(react_1.Button, { size: "sm", variant: "ghost", className: "referral-code-cancel-button", onClick: () => {
|
|
151
|
+
setIsEditingCode(false);
|
|
152
|
+
setNewReferralCode("");
|
|
153
|
+
}, children: "Cancel" })] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "referral-code-display rounded-lg border border-gray-200 bg-white px-3 py-1.5 text-sm", children: currentReferralCode }), (0, jsx_runtime_1.jsx)(react_1.Button, { size: "icon", variant: "ghost", className: "referral-code-copy-button", onClick: handleCopyCode, children: (0, jsx_runtime_1.jsx)(lucide_react_1.Copy, { className: "referral-code-copy-icon h-4 w-4" }) }), (0, jsx_runtime_1.jsx)(react_1.Button, { size: "icon", variant: "ghost", className: "referral-code-edit-button", onClick: () => {
|
|
154
|
+
setIsEditingCode(true);
|
|
155
|
+
setTimeout(() => {
|
|
156
|
+
referallCodeRef.current?.focus();
|
|
157
|
+
}, 100);
|
|
158
|
+
}, children: (0, jsx_runtime_1.jsx)(lucide_react_1.Pencil, { className: "referral-code-edit-icon h-4 w-4" }) })] })) })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "referred-users-container bg-b3-line rounded-xl p-4", children: [(0, jsx_runtime_1.jsx)("div", { className: "referred-users-title text-b3-grey font-neue-montreal-semibold mb-4", children: "Referred Users" }), isLoadingReferrals ? ((0, jsx_runtime_1.jsx)("div", { className: "referred-users-loading flex justify-center py-4", children: (0, jsx_runtime_1.jsx)(lucide_react_1.Loader2, { className: "h-6 w-6 animate-spin text-gray-400" }) })) : referrals?.data?.length ? ((0, jsx_runtime_1.jsx)("div", { className: "referred-users-list space-y-3", children: referrals.data.map((referral) => ((0, jsx_runtime_1.jsxs)("div", { className: "referred-user-item flex items-center justify-between rounded-lg bg-white p-3", children: [(0, jsx_runtime_1.jsx)("div", { className: "referred-user-id text-sm font-medium", children: referral.referreeId }), (0, jsx_runtime_1.jsx)("div", { className: "referred-user-date text-sm text-gray-500", children: new Date(referral.createdAt).toLocaleDateString() })] }, String(referral._id)))) })) : ((0, jsx_runtime_1.jsx)("div", { className: "referred-users-empty py-4 text-center text-gray-500", children: "No referred users yet" }))] })] }))] }));
|
|
159
|
+
};
|
|
160
|
+
exports.LinkAccount = LinkAccount;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { LinkNewAccountModalProps } from "../../stores/useModalStore";
|
|
2
|
+
export declare function LinkNewAccount({ onSuccess: onSuccessCallback, onError, onClose, chain, partnerId, className, }: LinkNewAccountModalProps & {
|
|
3
|
+
className?: string;
|
|
4
|
+
}): import("react/jsx-runtime").JSX.Element;
|