@b3dotfun/sdk 0.0.65-test.5 → 0.0.66-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/anyspend/react/components/AnySpend.js +69 -97
- package/dist/cjs/anyspend/react/components/AnySpendCustom.js +23 -10
- package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.d.ts +3 -1
- package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.js +45 -14
- package/dist/cjs/anyspend/react/components/AnySpendDepositUpside.d.ts +11 -0
- package/dist/cjs/anyspend/react/components/AnySpendDepositUpside.js +41 -0
- package/dist/cjs/anyspend/react/components/AnyspendDepositHype.d.ts +1 -1
- package/dist/cjs/anyspend/react/components/AnyspendDepositHype.js +14 -251
- package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.d.ts +6 -0
- package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.js +3 -5
- 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 +3 -7
- package/dist/cjs/anyspend/react/components/common/OrderTokenAmount.js +2 -10
- 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/anyspend/react/components/index.d.ts +1 -0
- package/dist/cjs/anyspend/react/components/index.js +4 -1
- package/dist/cjs/anyspend/react/hooks/useAnyspendFlow.d.ts +5 -1
- package/dist/cjs/anyspend/react/hooks/useAnyspendFlow.js +16 -10
- package/dist/cjs/anyspend/react/hooks/useAutoSelectCryptoPaymentMethod.d.ts +7 -5
- package/dist/cjs/anyspend/react/hooks/useAutoSelectCryptoPaymentMethod.js +13 -9
- package/dist/cjs/anyspend/react/hooks/useCryptoPaymentMethodState.d.ts +42 -0
- package/dist/cjs/anyspend/react/hooks/useCryptoPaymentMethodState.js +51 -0
- package/dist/cjs/anyspend/react/hooks/useSigMint.d.ts +1 -1
- package/dist/cjs/global-account/react/components/AccountAssets/AccountAssets.js +2 -38
- package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.d.ts +0 -1
- package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.js +35 -251
- package/dist/cjs/global-account/react/components/B3DynamicModal.js +15 -23
- package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.d.ts +4 -6
- package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.js +279 -113
- package/dist/cjs/global-account/react/components/ManageAccount/BalanceContent.js +5 -6
- package/dist/cjs/global-account/react/components/ManageAccount/ManageAccount.js +193 -24
- package/dist/cjs/global-account/react/components/ProfileEditor/ProfileEditor.d.ts +6 -0
- package/dist/cjs/global-account/react/components/ProfileEditor/ProfileEditor.js +141 -0
- package/dist/cjs/global-account/react/components/SignInWithB3/SignIn.js +1 -3
- package/dist/cjs/global-account/react/components/index.d.ts +4 -5
- package/dist/cjs/global-account/react/components/index.js +9 -14
- 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/components/ui/drawer.js +1 -1
- package/dist/cjs/global-account/react/hooks/index.d.ts +1 -1
- package/dist/cjs/global-account/react/hooks/index.js +1 -3
- package/dist/cjs/global-account/react/hooks/useAccountWallet.d.ts +0 -1
- package/dist/cjs/global-account/react/hooks/useAccountWallet.js +0 -18
- package/dist/cjs/global-account/react/hooks/useAuthentication.d.ts +2 -2
- package/dist/cjs/global-account/react/hooks/useB3BalanceFromAddresses.js +0 -1
- package/dist/cjs/global-account/react/hooks/useUnifiedChainSwitchAndExecute.js +6 -14
- package/dist/cjs/global-account/react/hooks/useUserQuery.d.ts +2 -2
- package/dist/cjs/global-account/react/stores/index.d.ts +0 -1
- package/dist/cjs/global-account/react/stores/index.js +1 -3
- package/dist/cjs/global-account/react/stores/useModalStore.d.ts +26 -31
- package/dist/cjs/global-account/react/utils/profileDisplay.d.ts +0 -2
- package/dist/cjs/global-account/react/utils/profileDisplay.js +2 -2
- package/dist/cjs/shared/constants/chains/supported.d.ts +3 -3
- package/dist/cjs/shared/utils/ipfs.js +3 -10
- package/dist/esm/anyspend/react/components/AnySpend.js +70 -98
- package/dist/esm/anyspend/react/components/AnySpendCustom.js +23 -10
- package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.d.ts +3 -1
- package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.js +45 -14
- package/dist/esm/anyspend/react/components/AnySpendDepositUpside.d.ts +11 -0
- package/dist/esm/anyspend/react/components/AnySpendDepositUpside.js +38 -0
- package/dist/esm/anyspend/react/components/AnyspendDepositHype.d.ts +1 -1
- package/dist/esm/anyspend/react/components/AnyspendDepositHype.js +15 -249
- package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.d.ts +6 -0
- package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.js +3 -5
- 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 +5 -6
- package/dist/esm/anyspend/react/components/common/OrderTokenAmount.js +2 -10
- 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/anyspend/react/components/index.d.ts +1 -0
- package/dist/esm/anyspend/react/components/index.js +1 -0
- package/dist/esm/anyspend/react/hooks/useAnyspendFlow.d.ts +5 -1
- package/dist/esm/anyspend/react/hooks/useAnyspendFlow.js +16 -10
- package/dist/esm/anyspend/react/hooks/useAutoSelectCryptoPaymentMethod.d.ts +7 -5
- package/dist/esm/anyspend/react/hooks/useAutoSelectCryptoPaymentMethod.js +13 -9
- package/dist/esm/anyspend/react/hooks/useCryptoPaymentMethodState.d.ts +42 -0
- package/dist/esm/anyspend/react/hooks/useCryptoPaymentMethodState.js +48 -0
- package/dist/esm/anyspend/react/hooks/useSigMint.d.ts +1 -1
- package/dist/esm/global-account/react/components/AccountAssets/AccountAssets.js +2 -38
- package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.d.ts +0 -1
- package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.js +38 -254
- package/dist/esm/global-account/react/components/B3DynamicModal.js +15 -23
- package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.d.ts +4 -6
- package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.js +280 -113
- package/dist/esm/global-account/react/components/ManageAccount/BalanceContent.js +5 -6
- package/dist/esm/global-account/react/components/ManageAccount/ManageAccount.js +195 -26
- package/dist/esm/global-account/react/components/ProfileEditor/ProfileEditor.d.ts +6 -0
- package/dist/esm/global-account/react/components/ProfileEditor/ProfileEditor.js +135 -0
- package/dist/esm/global-account/react/components/SignInWithB3/SignIn.js +2 -4
- package/dist/esm/global-account/react/components/index.d.ts +4 -5
- package/dist/esm/global-account/react/components/index.js +5 -9
- 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/components/ui/drawer.js +1 -1
- 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/useAccountWallet.d.ts +0 -1
- package/dist/esm/global-account/react/hooks/useAccountWallet.js +0 -17
- package/dist/esm/global-account/react/hooks/useAuthentication.d.ts +2 -2
- package/dist/esm/global-account/react/hooks/useB3BalanceFromAddresses.js +0 -1
- package/dist/esm/global-account/react/hooks/useUnifiedChainSwitchAndExecute.js +6 -14
- package/dist/esm/global-account/react/hooks/useUserQuery.d.ts +2 -2
- package/dist/esm/global-account/react/stores/index.d.ts +0 -1
- package/dist/esm/global-account/react/stores/index.js +0 -1
- package/dist/esm/global-account/react/stores/useModalStore.d.ts +26 -31
- package/dist/esm/global-account/react/utils/profileDisplay.d.ts +0 -2
- package/dist/esm/global-account/react/utils/profileDisplay.js +2 -2
- package/dist/esm/shared/constants/chains/supported.d.ts +3 -3
- package/dist/esm/shared/utils/ipfs.js +3 -10
- package/dist/styles/index.css +1 -1
- package/dist/types/anyspend/react/components/AnySpendCustomExactIn.d.ts +3 -1
- package/dist/types/anyspend/react/components/AnySpendDepositUpside.d.ts +11 -0
- package/dist/types/anyspend/react/components/AnyspendDepositHype.d.ts +1 -1
- package/dist/types/anyspend/react/components/common/CryptoPaymentMethod.d.ts +6 -0
- package/dist/types/anyspend/react/components/common/OrderHistory.d.ts +1 -1
- package/dist/types/anyspend/react/components/index.d.ts +1 -0
- package/dist/types/anyspend/react/hooks/useAnyspendFlow.d.ts +5 -1
- package/dist/types/anyspend/react/hooks/useAutoSelectCryptoPaymentMethod.d.ts +7 -5
- package/dist/types/anyspend/react/hooks/useCryptoPaymentMethodState.d.ts +42 -0
- package/dist/types/anyspend/react/hooks/useSigMint.d.ts +1 -1
- package/dist/types/global-account/react/components/AvatarEditor/AvatarEditor.d.ts +0 -1
- package/dist/types/global-account/react/components/LinkAccount/LinkAccount.d.ts +4 -6
- package/dist/types/global-account/react/components/ProfileEditor/ProfileEditor.d.ts +6 -0
- package/dist/types/global-account/react/components/index.d.ts +4 -5
- package/dist/types/global-account/react/hooks/index.d.ts +1 -1
- package/dist/types/global-account/react/hooks/useAccountWallet.d.ts +0 -1
- package/dist/types/global-account/react/hooks/useAuthentication.d.ts +2 -2
- package/dist/types/global-account/react/hooks/useUserQuery.d.ts +2 -2
- package/dist/types/global-account/react/stores/index.d.ts +0 -1
- package/dist/types/global-account/react/stores/useModalStore.d.ts +26 -31
- package/dist/types/global-account/react/utils/profileDisplay.d.ts +0 -2
- package/dist/types/shared/constants/chains/supported.d.ts +3 -3
- package/package.json +1 -2
- package/src/anyspend/react/components/AnySpend.tsx +218 -256
- package/src/anyspend/react/components/AnySpendCustom.tsx +31 -16
- package/src/anyspend/react/components/AnySpendCustomExactIn.tsx +56 -13
- package/src/anyspend/react/components/AnySpendDepositUpside.tsx +81 -0
- package/src/anyspend/react/components/AnyspendDepositHype.tsx +36 -524
- package/src/anyspend/react/components/common/CryptoPaymentMethod.tsx +14 -7
- 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 +13 -8
- package/src/anyspend/react/components/common/OrderTokenAmount.tsx +2 -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/anyspend/react/components/index.ts +1 -0
- package/src/anyspend/react/hooks/useAnyspendFlow.ts +24 -12
- package/src/anyspend/react/hooks/useAutoSelectCryptoPaymentMethod.ts +20 -12
- package/src/anyspend/react/hooks/useCryptoPaymentMethodState.ts +71 -0
- package/src/global-account/react/components/AccountAssets/AccountAssets.tsx +25 -115
- package/src/global-account/react/components/AvatarEditor/AvatarEditor.tsx +128 -477
- package/src/global-account/react/components/B3DynamicModal.tsx +17 -28
- package/src/global-account/react/components/LinkAccount/LinkAccount.tsx +433 -332
- package/src/global-account/react/components/ManageAccount/BalanceContent.tsx +10 -6
- package/src/global-account/react/components/ManageAccount/ManageAccount.tsx +589 -73
- package/src/global-account/react/components/ProfileEditor/ProfileEditor.tsx +265 -0
- package/src/global-account/react/components/SignInWithB3/SignIn.tsx +7 -11
- package/src/global-account/react/components/index.ts +5 -11
- package/src/global-account/react/components/ui/Tabs.tsx +13 -5
- package/src/global-account/react/components/ui/dialog.tsx +14 -32
- package/src/global-account/react/components/ui/drawer.tsx +1 -1
- package/src/global-account/react/hooks/index.ts +0 -3
- package/src/global-account/react/hooks/useAccountWallet.tsx +0 -26
- package/src/global-account/react/hooks/useB3BalanceFromAddresses.ts +0 -1
- package/src/global-account/react/hooks/useUnifiedChainSwitchAndExecute.ts +6 -12
- package/src/global-account/react/stores/index.ts +0 -1
- package/src/global-account/react/stores/useModalStore.ts +28 -35
- package/src/global-account/react/utils/profileDisplay.ts +2 -4
- package/src/shared/utils/ipfs.ts +3 -10
- package/src/styles/index.css +9 -6
- package/dist/cjs/global-account/react/components/Deposit/Deposit.d.ts +0 -1
- package/dist/cjs/global-account/react/components/Deposit/Deposit.js +0 -65
- package/dist/cjs/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +0 -39
- package/dist/cjs/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.js +0 -37
- package/dist/cjs/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +0 -4
- package/dist/cjs/global-account/react/components/LinkAccount/LinkNewAccount.js +0 -331
- package/dist/cjs/global-account/react/components/ManageAccount/AppsContent.d.ts +0 -6
- package/dist/cjs/global-account/react/components/ManageAccount/AppsContent.js +0 -34
- package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.d.ts +0 -2
- package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.js +0 -23
- package/dist/cjs/global-account/react/components/ManageAccount/Header.d.ts +0 -3
- package/dist/cjs/global-account/react/components/ManageAccount/Header.js +0 -120
- package/dist/cjs/global-account/react/components/ManageAccount/HomeActions.d.ts +0 -5
- package/dist/cjs/global-account/react/components/ManageAccount/HomeActions.js +0 -43
- package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.d.ts +0 -6
- package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.js +0 -16
- package/dist/cjs/global-account/react/components/ManageAccount/NFTContent.d.ts +0 -2
- package/dist/cjs/global-account/react/components/ManageAccount/NFTContent.js +0 -15
- package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.d.ts +0 -2
- package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.js +0 -47
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.d.ts +0 -7
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.js +0 -50
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +0 -9
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsMenuItem.js +0 -8
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +0 -2
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.js +0 -106
- package/dist/cjs/global-account/react/components/ManageAccount/TokenContent.d.ts +0 -2
- package/dist/cjs/global-account/react/components/ManageAccount/TokenContent.js +0 -22
- package/dist/cjs/global-account/react/components/ModalHeader/ModalHeader.d.ts +0 -11
- package/dist/cjs/global-account/react/components/ModalHeader/ModalHeader.js +0 -12
- package/dist/cjs/global-account/react/components/Send/Send.d.ts +0 -5
- package/dist/cjs/global-account/react/components/Send/Send.js +0 -187
- package/dist/cjs/global-account/react/components/icons/BellIcon.d.ts +0 -3
- package/dist/cjs/global-account/react/components/icons/BellIcon.js +0 -5
- package/dist/cjs/global-account/react/components/icons/ChevronDownIcon.d.ts +0 -2
- package/dist/cjs/global-account/react/components/icons/ChevronDownIcon.js +0 -7
- package/dist/cjs/global-account/react/components/icons/CopyIcon.d.ts +0 -2
- package/dist/cjs/global-account/react/components/icons/CopyIcon.js +0 -7
- package/dist/cjs/global-account/react/components/icons/LinkIcon.d.ts +0 -3
- package/dist/cjs/global-account/react/components/icons/LinkIcon.js +0 -5
- package/dist/cjs/global-account/react/components/icons/LockIcon.d.ts +0 -3
- package/dist/cjs/global-account/react/components/icons/LockIcon.js +0 -5
- package/dist/cjs/global-account/react/components/icons/WalletIcon.d.ts +0 -2
- package/dist/cjs/global-account/react/components/icons/WalletIcon.js +0 -7
- package/dist/cjs/global-account/react/stores/useRecentAddressesStore.d.ts +0 -25
- package/dist/cjs/global-account/react/stores/useRecentAddressesStore.js +0 -36
- package/dist/esm/global-account/react/components/Deposit/Deposit.d.ts +0 -1
- package/dist/esm/global-account/react/components/Deposit/Deposit.js +0 -59
- package/dist/esm/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +0 -39
- package/dist/esm/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.js +0 -34
- package/dist/esm/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +0 -4
- package/dist/esm/global-account/react/components/LinkAccount/LinkNewAccount.js +0 -325
- package/dist/esm/global-account/react/components/ManageAccount/AppsContent.d.ts +0 -6
- package/dist/esm/global-account/react/components/ManageAccount/AppsContent.js +0 -32
- package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.d.ts +0 -2
- package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.js +0 -21
- package/dist/esm/global-account/react/components/ManageAccount/Header.d.ts +0 -3
- package/dist/esm/global-account/react/components/ManageAccount/Header.js +0 -81
- package/dist/esm/global-account/react/components/ManageAccount/HomeActions.d.ts +0 -5
- package/dist/esm/global-account/react/components/ManageAccount/HomeActions.js +0 -41
- package/dist/esm/global-account/react/components/ManageAccount/HomeContent.d.ts +0 -6
- package/dist/esm/global-account/react/components/ManageAccount/HomeContent.js +0 -10
- package/dist/esm/global-account/react/components/ManageAccount/NFTContent.d.ts +0 -2
- package/dist/esm/global-account/react/components/ManageAccount/NFTContent.js +0 -13
- package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.d.ts +0 -2
- package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.js +0 -45
- package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.d.ts +0 -7
- package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.js +0 -45
- package/dist/esm/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +0 -9
- package/dist/esm/global-account/react/components/ManageAccount/SettingsMenuItem.js +0 -6
- package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +0 -2
- package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.js +0 -101
- package/dist/esm/global-account/react/components/ManageAccount/TokenContent.d.ts +0 -2
- package/dist/esm/global-account/react/components/ManageAccount/TokenContent.js +0 -20
- package/dist/esm/global-account/react/components/ModalHeader/ModalHeader.d.ts +0 -11
- package/dist/esm/global-account/react/components/ModalHeader/ModalHeader.js +0 -10
- package/dist/esm/global-account/react/components/Send/Send.d.ts +0 -5
- package/dist/esm/global-account/react/components/Send/Send.js +0 -181
- package/dist/esm/global-account/react/components/icons/BellIcon.d.ts +0 -3
- package/dist/esm/global-account/react/components/icons/BellIcon.js +0 -3
- package/dist/esm/global-account/react/components/icons/ChevronDownIcon.d.ts +0 -2
- package/dist/esm/global-account/react/components/icons/ChevronDownIcon.js +0 -4
- package/dist/esm/global-account/react/components/icons/CopyIcon.d.ts +0 -2
- package/dist/esm/global-account/react/components/icons/CopyIcon.js +0 -4
- package/dist/esm/global-account/react/components/icons/LinkIcon.d.ts +0 -3
- package/dist/esm/global-account/react/components/icons/LinkIcon.js +0 -3
- package/dist/esm/global-account/react/components/icons/LockIcon.d.ts +0 -3
- package/dist/esm/global-account/react/components/icons/LockIcon.js +0 -3
- package/dist/esm/global-account/react/components/icons/WalletIcon.d.ts +0 -2
- package/dist/esm/global-account/react/components/icons/WalletIcon.js +0 -4
- package/dist/esm/global-account/react/stores/useRecentAddressesStore.d.ts +0 -25
- package/dist/esm/global-account/react/stores/useRecentAddressesStore.js +0 -33
- package/dist/types/global-account/react/components/Deposit/Deposit.d.ts +0 -1
- package/dist/types/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +0 -39
- package/dist/types/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +0 -4
- package/dist/types/global-account/react/components/ManageAccount/AppsContent.d.ts +0 -6
- package/dist/types/global-account/react/components/ManageAccount/BottomNavigation.d.ts +0 -2
- package/dist/types/global-account/react/components/ManageAccount/Header.d.ts +0 -3
- package/dist/types/global-account/react/components/ManageAccount/HomeActions.d.ts +0 -5
- package/dist/types/global-account/react/components/ManageAccount/HomeContent.d.ts +0 -6
- package/dist/types/global-account/react/components/ManageAccount/NFTContent.d.ts +0 -2
- package/dist/types/global-account/react/components/ManageAccount/ProfileSection.d.ts +0 -2
- package/dist/types/global-account/react/components/ManageAccount/SettingsContent.d.ts +0 -7
- package/dist/types/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +0 -9
- package/dist/types/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +0 -2
- package/dist/types/global-account/react/components/ManageAccount/TokenContent.d.ts +0 -2
- package/dist/types/global-account/react/components/ModalHeader/ModalHeader.d.ts +0 -11
- package/dist/types/global-account/react/components/Send/Send.d.ts +0 -5
- package/dist/types/global-account/react/components/icons/BellIcon.d.ts +0 -3
- package/dist/types/global-account/react/components/icons/ChevronDownIcon.d.ts +0 -2
- package/dist/types/global-account/react/components/icons/CopyIcon.d.ts +0 -2
- package/dist/types/global-account/react/components/icons/LinkIcon.d.ts +0 -3
- package/dist/types/global-account/react/components/icons/LockIcon.d.ts +0 -3
- package/dist/types/global-account/react/components/icons/WalletIcon.d.ts +0 -2
- package/dist/types/global-account/react/stores/useRecentAddressesStore.d.ts +0 -25
- package/src/global-account/react/components/Deposit/Deposit.tsx +0 -211
- package/src/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.tsx +0 -84
- package/src/global-account/react/components/LinkAccount/LinkNewAccount.tsx +0 -490
- package/src/global-account/react/components/ManageAccount/AppsContent.tsx +0 -79
- package/src/global-account/react/components/ManageAccount/BottomNavigation.tsx +0 -83
- package/src/global-account/react/components/ManageAccount/Header.tsx +0 -230
- package/src/global-account/react/components/ManageAccount/HomeActions.tsx +0 -118
- package/src/global-account/react/components/ManageAccount/HomeContent.tsx +0 -42
- package/src/global-account/react/components/ManageAccount/NFTContent.tsx +0 -24
- package/src/global-account/react/components/ManageAccount/ProfileSection.tsx +0 -79
- package/src/global-account/react/components/ManageAccount/SettingsContent.tsx +0 -87
- package/src/global-account/react/components/ManageAccount/SettingsMenuItem.tsx +0 -31
- package/src/global-account/react/components/ManageAccount/SettingsProfileCard.tsx +0 -182
- package/src/global-account/react/components/ManageAccount/TokenContent.tsx +0 -41
- package/src/global-account/react/components/ModalHeader/ModalHeader.tsx +0 -61
- package/src/global-account/react/components/Send/Send.tsx +0 -585
- package/src/global-account/react/components/icons/BellIcon.tsx +0 -15
- package/src/global-account/react/components/icons/ChevronDownIcon.tsx +0 -17
- package/src/global-account/react/components/icons/CopyIcon.tsx +0 -22
- package/src/global-account/react/components/icons/LinkIcon.tsx +0 -15
- package/src/global-account/react/components/icons/LockIcon.tsx +0 -15
- package/src/global-account/react/components/icons/WalletIcon.tsx +0 -21
- package/src/global-account/react/stores/useRecentAddressesStore.ts +0 -55
|
@@ -12,11 +12,8 @@ import {
|
|
|
12
12
|
Button,
|
|
13
13
|
ShinyButton,
|
|
14
14
|
StyleRoot,
|
|
15
|
-
TabsPrimitive,
|
|
16
15
|
TransitionPanel,
|
|
17
16
|
useAccountWallet,
|
|
18
|
-
useB3,
|
|
19
|
-
useModalStore,
|
|
20
17
|
useProfile,
|
|
21
18
|
useRouter,
|
|
22
19
|
useSearchParamsSSR,
|
|
@@ -24,8 +21,6 @@ import {
|
|
|
24
21
|
useTokenData,
|
|
25
22
|
useTokenFromUrl,
|
|
26
23
|
} from "@b3dotfun/sdk/global-account/react";
|
|
27
|
-
import BottomNavigation from "@b3dotfun/sdk/global-account/react/components/ManageAccount/BottomNavigation";
|
|
28
|
-
import { useAccountWalletImage } from "@b3dotfun/sdk/global-account/react/hooks/useAccountWallet";
|
|
29
24
|
import { cn } from "@b3dotfun/sdk/shared/utils/cn";
|
|
30
25
|
import { formatTokenAmount } from "@b3dotfun/sdk/shared/utils/number";
|
|
31
26
|
import invariant from "invariant";
|
|
@@ -33,12 +28,12 @@ import { ArrowDown, HistoryIcon, Loader2 } from "lucide-react";
|
|
|
33
28
|
import { motion } from "motion/react";
|
|
34
29
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
35
30
|
import { toast } from "sonner";
|
|
36
|
-
import { defineChain } from "thirdweb";
|
|
37
31
|
import { parseUnits } from "viem";
|
|
38
32
|
import { base, mainnet } from "viem/chains";
|
|
39
33
|
import { components } from "../../types/api";
|
|
40
34
|
import { useAutoSelectCryptoPaymentMethod } from "../hooks/useAutoSelectCryptoPaymentMethod";
|
|
41
35
|
import { useAutoSetActiveWalletFromWagmi } from "../hooks/useAutoSetActiveWalletFromWagmi";
|
|
36
|
+
import { useCryptoPaymentMethodState } from "../hooks/useCryptoPaymentMethodState";
|
|
42
37
|
import { AnySpendFingerprintWrapper, getFingerprintConfig } from "./AnySpendFingerprintWrapper";
|
|
43
38
|
import { CryptoPaymentMethod, CryptoPaymentMethodType } from "./common/CryptoPaymentMethod";
|
|
44
39
|
import { CryptoPaySection } from "./common/CryptoPaySection";
|
|
@@ -126,31 +121,6 @@ function AnySpendInner({
|
|
|
126
121
|
const searchParams = useSearchParamsSSR();
|
|
127
122
|
const router = useRouter();
|
|
128
123
|
|
|
129
|
-
const { partnerId } = useB3();
|
|
130
|
-
const setB3ModalContentType = useModalStore(state => state.setB3ModalContentType);
|
|
131
|
-
|
|
132
|
-
// Define base chain with RPC for modal props
|
|
133
|
-
const baseChain = useMemo(
|
|
134
|
-
() =>
|
|
135
|
-
defineChain({
|
|
136
|
-
id: 8453,
|
|
137
|
-
name: "Base",
|
|
138
|
-
nativeCurrency: {
|
|
139
|
-
name: "Ether",
|
|
140
|
-
symbol: "ETH",
|
|
141
|
-
decimals: 18,
|
|
142
|
-
},
|
|
143
|
-
rpc: "https://mainnet.base.org",
|
|
144
|
-
blockExplorers: [
|
|
145
|
-
{
|
|
146
|
-
name: "Basescan",
|
|
147
|
-
url: "https://basescan.org",
|
|
148
|
-
},
|
|
149
|
-
],
|
|
150
|
-
}),
|
|
151
|
-
[],
|
|
152
|
-
);
|
|
153
|
-
|
|
154
124
|
// Determine if we're in "buy mode" based on whether destination token props are provided
|
|
155
125
|
const isBuyMode = !!(destinationTokenAddress && destinationTokenChainId);
|
|
156
126
|
|
|
@@ -205,11 +175,17 @@ function AnySpendInner({
|
|
|
205
175
|
setActivePanel(targetPanel);
|
|
206
176
|
}, [activePanel]);
|
|
207
177
|
const [customRecipients, setCustomRecipients] = useState<RecipientOption[]>([]);
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
178
|
+
|
|
179
|
+
// Payment method state with dual-state system (auto + explicit user selection)
|
|
180
|
+
const {
|
|
181
|
+
cryptoPaymentMethod,
|
|
182
|
+
setCryptoPaymentMethod,
|
|
183
|
+
selectedCryptoPaymentMethod,
|
|
184
|
+
setSelectedCryptoPaymentMethod,
|
|
185
|
+
effectiveCryptoPaymentMethod,
|
|
186
|
+
resetPaymentMethods,
|
|
187
|
+
} = useCryptoPaymentMethodState();
|
|
188
|
+
|
|
213
189
|
const [selectedFiatPaymentMethod, setSelectedFiatPaymentMethod] = useState<FiatPaymentMethod>(FiatPaymentMethod.NONE);
|
|
214
190
|
// const [newRecipientAddress, setNewRecipientAddress] = useState("");
|
|
215
191
|
// const recipientInputRef = useRef<HTMLInputElement>(null);
|
|
@@ -228,7 +204,7 @@ function AnySpendInner({
|
|
|
228
204
|
});
|
|
229
205
|
const [selectedSrcToken, setSelectedSrcToken] = useState<components["schemas"]["Token"]>(srcTokenFromUrl);
|
|
230
206
|
const { data: srcTokenMetadata } = useTokenData(selectedSrcToken?.chainId, selectedSrcToken?.address);
|
|
231
|
-
const [srcAmount, setSrcAmount] = useState<string>(searchParams.get("fromAmount") || "0
|
|
207
|
+
const [srcAmount, setSrcAmount] = useState<string>(searchParams.get("fromAmount") || "0");
|
|
232
208
|
|
|
233
209
|
// State for onramp amount
|
|
234
210
|
const [srcAmountOnRamp, setSrcAmountOnRamp] = useState<string>(searchParams.get("fromAmount") || "5");
|
|
@@ -475,8 +451,6 @@ function AnySpendInner({
|
|
|
475
451
|
const recipientProfile = useProfile({ address: recipientAddress, fresh: true });
|
|
476
452
|
const recipientName = recipientProfile.data?.name;
|
|
477
453
|
|
|
478
|
-
const globalWalletImage = useAccountWalletImage();
|
|
479
|
-
|
|
480
454
|
// Auto-set active wallet from wagmi
|
|
481
455
|
useAutoSetActiveWalletFromWagmi();
|
|
482
456
|
|
|
@@ -500,8 +474,9 @@ function AnySpendInner({
|
|
|
500
474
|
// Auto-select crypto payment method based on available wallets and balance
|
|
501
475
|
useAutoSelectCryptoPaymentMethod({
|
|
502
476
|
paymentType: activeTab,
|
|
477
|
+
cryptoPaymentMethod,
|
|
478
|
+
setCryptoPaymentMethod,
|
|
503
479
|
selectedCryptoPaymentMethod,
|
|
504
|
-
setSelectedCryptoPaymentMethod,
|
|
505
480
|
hasEnoughBalance,
|
|
506
481
|
isBalanceLoading,
|
|
507
482
|
});
|
|
@@ -635,9 +610,9 @@ function AnySpendInner({
|
|
|
635
610
|
// Add orderId and payment method to URL for persistence
|
|
636
611
|
const params = new URLSearchParams(searchParams.toString()); // Preserve existing params
|
|
637
612
|
params.set("orderId", orderId);
|
|
638
|
-
if (
|
|
639
|
-
console.log("Setting cryptoPaymentMethod in URL:",
|
|
640
|
-
params.set("cryptoPaymentMethod",
|
|
613
|
+
if (effectiveCryptoPaymentMethod !== CryptoPaymentMethodType.NONE) {
|
|
614
|
+
console.log("Setting cryptoPaymentMethod in URL:", effectiveCryptoPaymentMethod);
|
|
615
|
+
params.set("cryptoPaymentMethod", effectiveCryptoPaymentMethod);
|
|
641
616
|
} else {
|
|
642
617
|
console.log("Payment method is NONE, not setting in URL");
|
|
643
618
|
}
|
|
@@ -705,7 +680,7 @@ function AnySpendInner({
|
|
|
705
680
|
// For crypto: check payment method first, then recipient
|
|
706
681
|
|
|
707
682
|
// If no payment method selected, show "Choose payment method"
|
|
708
|
-
if (
|
|
683
|
+
if (effectiveCryptoPaymentMethod === CryptoPaymentMethodType.NONE) {
|
|
709
684
|
return { text: "Choose payment method", disable: false, error: false, loading: false };
|
|
710
685
|
}
|
|
711
686
|
|
|
@@ -714,12 +689,12 @@ function AnySpendInner({
|
|
|
714
689
|
|
|
715
690
|
// If payment method selected, show appropriate action
|
|
716
691
|
if (
|
|
717
|
-
|
|
718
|
-
|
|
692
|
+
effectiveCryptoPaymentMethod === CryptoPaymentMethodType.CONNECT_WALLET ||
|
|
693
|
+
effectiveCryptoPaymentMethod === CryptoPaymentMethodType.GLOBAL_WALLET
|
|
719
694
|
) {
|
|
720
695
|
return { text: "Swap", disable: false, error: false, loading: false };
|
|
721
696
|
}
|
|
722
|
-
if (
|
|
697
|
+
if (effectiveCryptoPaymentMethod === CryptoPaymentMethodType.TRANSFER_CRYPTO) {
|
|
723
698
|
return { text: "Continue to payment", disable: false, error: false, loading: false };
|
|
724
699
|
}
|
|
725
700
|
}
|
|
@@ -734,7 +709,7 @@ function AnySpendInner({
|
|
|
734
709
|
isCreatingOnrampOrder,
|
|
735
710
|
anyspendQuote,
|
|
736
711
|
activeTab,
|
|
737
|
-
|
|
712
|
+
effectiveCryptoPaymentMethod,
|
|
738
713
|
selectedFiatPaymentMethod,
|
|
739
714
|
]);
|
|
740
715
|
|
|
@@ -768,7 +743,7 @@ function AnySpendInner({
|
|
|
768
743
|
// For crypto: check payment method first, then recipient
|
|
769
744
|
|
|
770
745
|
// If no payment method selected, show payment method selection
|
|
771
|
-
if (
|
|
746
|
+
if (effectiveCryptoPaymentMethod === CryptoPaymentMethodType.NONE) {
|
|
772
747
|
console.log("No payment method selected, showing selection panel");
|
|
773
748
|
navigateToPanel(PanelView.CRYPTO_PAYMENT_METHOD, "forward");
|
|
774
749
|
return;
|
|
@@ -784,12 +759,12 @@ function AnySpendInner({
|
|
|
784
759
|
|
|
785
760
|
// If payment method is selected, create order with payment method info
|
|
786
761
|
if (
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
762
|
+
effectiveCryptoPaymentMethod === CryptoPaymentMethodType.CONNECT_WALLET ||
|
|
763
|
+
effectiveCryptoPaymentMethod === CryptoPaymentMethodType.GLOBAL_WALLET ||
|
|
764
|
+
effectiveCryptoPaymentMethod === CryptoPaymentMethodType.TRANSFER_CRYPTO
|
|
790
765
|
) {
|
|
791
|
-
console.log("Creating crypto order with payment method:",
|
|
792
|
-
await handleCryptoSwap(
|
|
766
|
+
console.log("Creating crypto order with payment method:", effectiveCryptoPaymentMethod);
|
|
767
|
+
await handleCryptoSwap(effectiveCryptoPaymentMethod);
|
|
793
768
|
return;
|
|
794
769
|
}
|
|
795
770
|
}
|
|
@@ -802,10 +777,6 @@ function AnySpendInner({
|
|
|
802
777
|
const onClickHistory = () => {
|
|
803
778
|
setOrderId(undefined);
|
|
804
779
|
navigateToPanel(PanelView.HISTORY, "forward");
|
|
805
|
-
setB3ModalContentType({
|
|
806
|
-
type: "anySpendOrderHistory",
|
|
807
|
-
showBackButton: false,
|
|
808
|
-
});
|
|
809
780
|
// Remove orderId and paymentMethod from URL when going back to history
|
|
810
781
|
const params = new URLSearchParams(searchParams.toString());
|
|
811
782
|
params.delete("orderId");
|
|
@@ -989,7 +960,7 @@ function AnySpendInner({
|
|
|
989
960
|
);
|
|
990
961
|
|
|
991
962
|
const orderDetailsView = (
|
|
992
|
-
<div className={"mx-auto w-[460px] max-w-full
|
|
963
|
+
<div className={"mx-auto w-[460px] max-w-full"}>
|
|
993
964
|
<div className="relative flex flex-col gap-4">
|
|
994
965
|
{oat && (
|
|
995
966
|
<OrderDetails
|
|
@@ -999,13 +970,17 @@ function AnySpendInner({
|
|
|
999
970
|
relayTxs={oat.data.relayTxs}
|
|
1000
971
|
executeTx={oat.data.executeTx}
|
|
1001
972
|
refundTxs={oat.data.refundTxs}
|
|
1002
|
-
selectedCryptoPaymentMethod={
|
|
1003
|
-
onPaymentMethodChange={
|
|
973
|
+
selectedCryptoPaymentMethod={effectiveCryptoPaymentMethod}
|
|
974
|
+
onPaymentMethodChange={method => {
|
|
975
|
+
// When user explicitly changes payment method, set it as selected
|
|
976
|
+
setSelectedCryptoPaymentMethod(method);
|
|
977
|
+
}}
|
|
1004
978
|
points={oat.data.points || undefined}
|
|
1005
979
|
onBack={() => {
|
|
1006
980
|
setOrderId(undefined);
|
|
1007
981
|
navigateBack();
|
|
1008
|
-
|
|
982
|
+
// Reset payment methods when going back
|
|
983
|
+
resetPaymentMethods();
|
|
1009
984
|
}}
|
|
1010
985
|
/>
|
|
1011
986
|
)}
|
|
@@ -1015,210 +990,191 @@ function AnySpendInner({
|
|
|
1015
990
|
);
|
|
1016
991
|
|
|
1017
992
|
const mainView = (
|
|
1018
|
-
<div className={"mx-auto flex w-[460px] max-w-full flex-col items-center gap-2
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
<
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
className="border-as-stroke h-12 w-12 rounded-full border-2 shadow-md"
|
|
1029
|
-
/>
|
|
1030
|
-
</div>
|
|
1031
|
-
)}
|
|
1032
|
-
<div>
|
|
1033
|
-
<h1 className="text-as-primary text-xl font-bold">Buy {selectedDstToken.symbol}</h1>
|
|
1034
|
-
</div>
|
|
1035
|
-
</div>
|
|
1036
|
-
)}
|
|
1037
|
-
|
|
1038
|
-
{/* Tab section */}
|
|
1039
|
-
<TabSection
|
|
1040
|
-
activeTab={activeTab}
|
|
1041
|
-
setActiveTab={setActiveTab}
|
|
1042
|
-
setSelectedCryptoPaymentMethod={setSelectedCryptoPaymentMethod}
|
|
1043
|
-
setSelectedFiatPaymentMethod={setSelectedFiatPaymentMethod}
|
|
1044
|
-
/>
|
|
1045
|
-
|
|
1046
|
-
<div className="relative flex w-full max-w-[calc(100vw-32px)] flex-col gap-2">
|
|
1047
|
-
{/* Send section */}
|
|
1048
|
-
{activeTab === "crypto" ? (
|
|
1049
|
-
<CryptoPaySection
|
|
1050
|
-
selectedSrcChainId={selectedSrcChainId}
|
|
1051
|
-
setSelectedSrcChainId={setSelectedSrcChainId}
|
|
1052
|
-
selectedSrcToken={selectedSrcToken}
|
|
1053
|
-
setSelectedSrcToken={setSelectedSrcToken}
|
|
1054
|
-
srcAmount={srcAmount}
|
|
1055
|
-
setSrcAmount={setSrcAmount}
|
|
1056
|
-
isSrcInputDirty={isSrcInputDirty}
|
|
1057
|
-
setIsSrcInputDirty={setIsSrcInputDirty}
|
|
1058
|
-
selectedCryptoPaymentMethod={selectedCryptoPaymentMethod}
|
|
1059
|
-
onSelectCryptoPaymentMethod={() => navigateToPanel(PanelView.CRYPTO_PAYMENT_METHOD, "forward")}
|
|
1060
|
-
anyspendQuote={anyspendQuote}
|
|
1061
|
-
onTokenSelect={onTokenSelect}
|
|
1062
|
-
onShowFeeDetail={() => navigateToPanel(PanelView.FEE_DETAIL, "forward")}
|
|
1063
|
-
/>
|
|
1064
|
-
) : (
|
|
1065
|
-
<motion.div
|
|
1066
|
-
initial={{ opacity: 0, y: 20, filter: "blur(10px)" }}
|
|
1067
|
-
animate={{ opacity: 1, y: 0, filter: "blur(0px)" }}
|
|
1068
|
-
transition={{ duration: 0.3, delay: 0, ease: "easeInOut" }}
|
|
1069
|
-
>
|
|
1070
|
-
<PanelOnramp
|
|
1071
|
-
srcAmountOnRamp={srcAmountOnRamp}
|
|
1072
|
-
setSrcAmountOnRamp={setSrcAmountOnRamp}
|
|
1073
|
-
selectedPaymentMethod={selectedFiatPaymentMethod}
|
|
1074
|
-
setActivePanel={(panelIndex: number) => {
|
|
1075
|
-
// Map panel index to navigation with direction
|
|
1076
|
-
const panelsWithForwardNav = [PanelView.FIAT_PAYMENT_METHOD, PanelView.RECIPIENT_SELECTION];
|
|
1077
|
-
if (panelsWithForwardNav.includes(panelIndex)) {
|
|
1078
|
-
navigateToPanel(panelIndex, "forward");
|
|
1079
|
-
} else {
|
|
1080
|
-
setActivePanel(panelIndex);
|
|
1081
|
-
}
|
|
1082
|
-
}}
|
|
1083
|
-
_recipientAddress={recipientAddress}
|
|
1084
|
-
destinationToken={selectedDstToken}
|
|
1085
|
-
destinationChainId={selectedDstChainId}
|
|
1086
|
-
destinationAmount={dstAmount}
|
|
1087
|
-
onDestinationTokenChange={setSelectedDstToken}
|
|
1088
|
-
onDestinationChainChange={setSelectedDstChainId}
|
|
1089
|
-
fiatPaymentMethodIndex={PanelView.FIAT_PAYMENT_METHOD}
|
|
1090
|
-
recipientSelectionPanelIndex={PanelView.RECIPIENT_SELECTION}
|
|
1091
|
-
hideDstToken={isBuyMode}
|
|
1092
|
-
anyspendQuote={anyspendQuote}
|
|
1093
|
-
onShowPointsDetail={() => navigateToPanel(PanelView.POINTS_DETAIL, "forward")}
|
|
1094
|
-
onShowFeeDetail={() => navigateToPanel(PanelView.FEE_DETAIL, "forward")}
|
|
1095
|
-
customUsdInputValues={customUsdInputValues}
|
|
993
|
+
<div className={"mx-auto flex w-[460px] max-w-full flex-col items-center gap-2"}>
|
|
994
|
+
{/* Token Header - Show when in buy mode */}
|
|
995
|
+
{isBuyMode && (
|
|
996
|
+
<div className="mb-4 flex flex-col items-center gap-3 text-center">
|
|
997
|
+
{selectedDstToken.metadata?.logoURI && (
|
|
998
|
+
<div className="relative">
|
|
999
|
+
<img
|
|
1000
|
+
src={selectedDstToken.metadata.logoURI}
|
|
1001
|
+
alt={selectedDstToken.symbol}
|
|
1002
|
+
className="border-as-stroke h-12 w-12 rounded-full border-2 shadow-md"
|
|
1096
1003
|
/>
|
|
1097
|
-
</
|
|
1004
|
+
</div>
|
|
1098
1005
|
)}
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
}
|
|
1006
|
+
<div>
|
|
1007
|
+
<h1 className="text-as-primary text-xl font-bold">Buy {selectedDstToken.symbol}</h1>
|
|
1008
|
+
</div>
|
|
1009
|
+
</div>
|
|
1010
|
+
)}
|
|
1011
|
+
|
|
1012
|
+
{/* Tab section */}
|
|
1013
|
+
<TabSection
|
|
1014
|
+
activeTab={activeTab}
|
|
1015
|
+
setActiveTab={tab => {
|
|
1016
|
+
setActiveTab(tab);
|
|
1017
|
+
// Reset payment methods when switching tabs
|
|
1018
|
+
resetPaymentMethods();
|
|
1019
|
+
setSelectedFiatPaymentMethod(FiatPaymentMethod.NONE);
|
|
1020
|
+
}}
|
|
1021
|
+
setSelectedCryptoPaymentMethod={setSelectedCryptoPaymentMethod}
|
|
1022
|
+
setSelectedFiatPaymentMethod={setSelectedFiatPaymentMethod}
|
|
1023
|
+
/>
|
|
1024
|
+
|
|
1025
|
+
<div className="relative flex w-full max-w-[calc(100vw-32px)] flex-col gap-2">
|
|
1026
|
+
{/* Send section */}
|
|
1027
|
+
{activeTab === "crypto" ? (
|
|
1028
|
+
<CryptoPaySection
|
|
1029
|
+
selectedSrcChainId={selectedSrcChainId}
|
|
1030
|
+
setSelectedSrcChainId={setSelectedSrcChainId}
|
|
1031
|
+
selectedSrcToken={selectedSrcToken}
|
|
1032
|
+
setSelectedSrcToken={setSelectedSrcToken}
|
|
1033
|
+
srcAmount={srcAmount}
|
|
1034
|
+
setSrcAmount={setSrcAmount}
|
|
1035
|
+
isSrcInputDirty={isSrcInputDirty}
|
|
1036
|
+
setIsSrcInputDirty={setIsSrcInputDirty}
|
|
1037
|
+
selectedCryptoPaymentMethod={effectiveCryptoPaymentMethod}
|
|
1038
|
+
onSelectCryptoPaymentMethod={() => navigateToPanel(PanelView.CRYPTO_PAYMENT_METHOD, "forward")}
|
|
1039
|
+
anyspendQuote={anyspendQuote}
|
|
1040
|
+
onTokenSelect={onTokenSelect}
|
|
1041
|
+
onShowFeeDetail={() => navigateToPanel(PanelView.FEE_DETAIL, "forward")}
|
|
1042
|
+
/>
|
|
1043
|
+
) : (
|
|
1044
|
+
<motion.div
|
|
1045
|
+
initial={{ opacity: 0, y: 20, filter: "blur(10px)" }}
|
|
1046
|
+
animate={{ opacity: 1, y: 0, filter: "blur(0px)" }}
|
|
1047
|
+
transition={{ duration: 0.3, delay: 0, ease: "easeInOut" }}
|
|
1131
1048
|
>
|
|
1132
|
-
<
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
onSelectRecipient={() => navigateToPanel(PanelView.RECIPIENT_SELECTION, "forward")}
|
|
1145
|
-
setRecipientAddress={setRecipientAddress}
|
|
1146
|
-
recipientAddressFromProps={recipientAddressFromProps}
|
|
1147
|
-
globalAddress={globalAddress}
|
|
1148
|
-
dstAmount={dstAmount}
|
|
1149
|
-
dstToken={selectedDstToken}
|
|
1150
|
-
selectedDstChainId={selectedDstChainId}
|
|
1151
|
-
setSelectedDstChainId={setSelectedDstChainId}
|
|
1152
|
-
setSelectedDstToken={setSelectedDstToken}
|
|
1153
|
-
isSrcInputDirty={isSrcInputDirty}
|
|
1154
|
-
onChangeDstAmount={value => {
|
|
1155
|
-
setIsSrcInputDirty(false);
|
|
1156
|
-
setDstAmount(value);
|
|
1049
|
+
<PanelOnramp
|
|
1050
|
+
srcAmountOnRamp={srcAmountOnRamp}
|
|
1051
|
+
setSrcAmountOnRamp={setSrcAmountOnRamp}
|
|
1052
|
+
selectedPaymentMethod={selectedFiatPaymentMethod}
|
|
1053
|
+
setActivePanel={(panelIndex: number) => {
|
|
1054
|
+
// Map panel index to navigation with direction
|
|
1055
|
+
const panelsWithForwardNav = [PanelView.FIAT_PAYMENT_METHOD, PanelView.RECIPIENT_SELECTION];
|
|
1056
|
+
if (panelsWithForwardNav.includes(panelIndex)) {
|
|
1057
|
+
navigateToPanel(panelIndex, "forward");
|
|
1058
|
+
} else {
|
|
1059
|
+
setActivePanel(panelIndex);
|
|
1060
|
+
}
|
|
1157
1061
|
}}
|
|
1062
|
+
_recipientAddress={recipientAddress}
|
|
1063
|
+
destinationToken={selectedDstToken}
|
|
1064
|
+
destinationChainId={selectedDstChainId}
|
|
1065
|
+
destinationAmount={dstAmount}
|
|
1066
|
+
onDestinationTokenChange={setSelectedDstToken}
|
|
1067
|
+
onDestinationChainChange={setSelectedDstChainId}
|
|
1068
|
+
fiatPaymentMethodIndex={PanelView.FIAT_PAYMENT_METHOD}
|
|
1069
|
+
recipientSelectionPanelIndex={PanelView.RECIPIENT_SELECTION}
|
|
1070
|
+
hideDstToken={isBuyMode}
|
|
1158
1071
|
anyspendQuote={anyspendQuote}
|
|
1159
1072
|
onShowPointsDetail={() => navigateToPanel(PanelView.POINTS_DETAIL, "forward")}
|
|
1160
1073
|
onShowFeeDetail={() => navigateToPanel(PanelView.FEE_DETAIL, "forward")}
|
|
1161
|
-
|
|
1074
|
+
customUsdInputValues={customUsdInputValues}
|
|
1162
1075
|
/>
|
|
1163
|
-
|
|
1164
|
-
|
|
1076
|
+
</motion.div>
|
|
1077
|
+
)}
|
|
1165
1078
|
|
|
1166
|
-
{/*
|
|
1167
|
-
<
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
className={cn(
|
|
1178
|
-
"as-main-button relative w-full",
|
|
1179
|
-
btnInfo.error ? "!bg-as-red" : btnInfo.disable ? "!bg-as-on-surface-2" : "!bg-as-brand",
|
|
1180
|
-
)}
|
|
1181
|
-
textClassName={cn(btnInfo.error ? "text-white" : btnInfo.disable ? "text-as-secondary" : "text-white")}
|
|
1182
|
-
>
|
|
1183
|
-
<div className="flex items-center justify-center gap-2">
|
|
1184
|
-
{btnInfo.loading && <Loader2 className="h-4 w-4 animate-spin" />}
|
|
1185
|
-
{btnInfo.text}
|
|
1186
|
-
</div>
|
|
1187
|
-
</ShinyButton>
|
|
1188
|
-
|
|
1189
|
-
{!hideTransactionHistoryButton && (globalAddress || recipientAddress) ? (
|
|
1190
|
-
<Button
|
|
1191
|
-
variant="link"
|
|
1192
|
-
onClick={onClickHistory}
|
|
1193
|
-
className="text-as-primary/50 hover:text-as-primary flex items-center gap-1 transition-colors"
|
|
1194
|
-
>
|
|
1195
|
-
<HistoryIcon className="h-4 w-4" /> <span className="pr-4">Transaction History</span>
|
|
1196
|
-
</Button>
|
|
1197
|
-
) : null}
|
|
1198
|
-
</motion.div>
|
|
1199
|
-
</div>
|
|
1200
|
-
<div className="w-full">
|
|
1201
|
-
<TabsPrimitive
|
|
1202
|
-
defaultValue="swap"
|
|
1203
|
-
onValueChange={value => {
|
|
1204
|
-
if (value === "settings" || value === "home") {
|
|
1205
|
-
setB3ModalContentType({
|
|
1206
|
-
type: "manageAccount",
|
|
1207
|
-
activeTab: value,
|
|
1208
|
-
setActiveTab: () => {},
|
|
1209
|
-
chain: baseChain,
|
|
1210
|
-
partnerId,
|
|
1211
|
-
});
|
|
1212
|
-
} else if (value === "swap") {
|
|
1213
|
-
setB3ModalContentType({
|
|
1214
|
-
type: "anySpend",
|
|
1215
|
-
});
|
|
1079
|
+
{/* Reverse swap direction section */}
|
|
1080
|
+
<Button
|
|
1081
|
+
variant="ghost"
|
|
1082
|
+
className={cn(
|
|
1083
|
+
"border-as-stroke bg-as-surface-primary absolute left-1/2 top-1/2 z-10 h-10 w-10 -translate-x-1/2 -translate-y-1/2 rounded-xl border-2 sm:h-8 sm:w-8 sm:rounded-xl",
|
|
1084
|
+
isBuyMode && "top-[calc(50%+56px)] cursor-default",
|
|
1085
|
+
activeTab === "fiat" && "hidden",
|
|
1086
|
+
)}
|
|
1087
|
+
onClick={() => {
|
|
1088
|
+
if (activeTab === "fiat" || isBuyMode) {
|
|
1089
|
+
return;
|
|
1216
1090
|
}
|
|
1091
|
+
|
|
1092
|
+
// Swap chain selections
|
|
1093
|
+
const tempSrcChainId = selectedSrcChainId;
|
|
1094
|
+
const tempDstChainId = selectedDstChainId;
|
|
1095
|
+
setSelectedSrcChainId(tempDstChainId);
|
|
1096
|
+
setSelectedDstChainId(tempSrcChainId);
|
|
1097
|
+
|
|
1098
|
+
// Swap token selections
|
|
1099
|
+
const tempSrcToken = selectedSrcToken;
|
|
1100
|
+
const tempDstToken = selectedDstToken;
|
|
1101
|
+
setSelectedSrcToken(tempDstToken);
|
|
1102
|
+
setSelectedDstToken(tempSrcToken);
|
|
1103
|
+
|
|
1104
|
+
// Swap amounts
|
|
1105
|
+
const tempSrcAmount = srcAmount;
|
|
1106
|
+
const tempDstAmount = dstAmount;
|
|
1107
|
+
setSrcAmount(tempDstAmount);
|
|
1108
|
+
setDstAmount(tempSrcAmount);
|
|
1217
1109
|
}}
|
|
1218
1110
|
>
|
|
1219
|
-
<
|
|
1220
|
-
|
|
1111
|
+
<div className="relative flex items-center justify-center transition-opacity">
|
|
1112
|
+
<ArrowDown className="text-as-primary/50 h-5 w-5" />
|
|
1113
|
+
</div>
|
|
1114
|
+
</Button>
|
|
1115
|
+
|
|
1116
|
+
{/* Receive section - Hidden when fiat tab is active */}
|
|
1117
|
+
{activeTab === "crypto" && (
|
|
1118
|
+
<CryptoReceiveSection
|
|
1119
|
+
isDepositMode={false}
|
|
1120
|
+
isBuyMode={isBuyMode}
|
|
1121
|
+
selectedRecipientAddress={recipientAddress}
|
|
1122
|
+
recipientName={recipientName || undefined}
|
|
1123
|
+
onSelectRecipient={() => navigateToPanel(PanelView.RECIPIENT_SELECTION, "forward")}
|
|
1124
|
+
setRecipientAddress={setRecipientAddress}
|
|
1125
|
+
recipientAddressFromProps={recipientAddressFromProps}
|
|
1126
|
+
globalAddress={globalAddress}
|
|
1127
|
+
dstAmount={dstAmount}
|
|
1128
|
+
dstToken={selectedDstToken}
|
|
1129
|
+
selectedDstChainId={selectedDstChainId}
|
|
1130
|
+
setSelectedDstChainId={setSelectedDstChainId}
|
|
1131
|
+
setSelectedDstToken={setSelectedDstToken}
|
|
1132
|
+
isSrcInputDirty={isSrcInputDirty}
|
|
1133
|
+
onChangeDstAmount={value => {
|
|
1134
|
+
setIsSrcInputDirty(false);
|
|
1135
|
+
setDstAmount(value);
|
|
1136
|
+
}}
|
|
1137
|
+
anyspendQuote={anyspendQuote}
|
|
1138
|
+
onShowPointsDetail={() => navigateToPanel(PanelView.POINTS_DETAIL, "forward")}
|
|
1139
|
+
onShowFeeDetail={() => navigateToPanel(PanelView.FEE_DETAIL, "forward")}
|
|
1140
|
+
selectedCryptoPaymentMethod={effectiveCryptoPaymentMethod}
|
|
1141
|
+
/>
|
|
1142
|
+
)}
|
|
1221
1143
|
</div>
|
|
1144
|
+
|
|
1145
|
+
{/* Main button section */}
|
|
1146
|
+
<motion.div
|
|
1147
|
+
initial={{ opacity: 0, y: 20, filter: "blur(10px)" }}
|
|
1148
|
+
animate={{ opacity: 1, y: 0, filter: "blur(0px)" }}
|
|
1149
|
+
transition={{ duration: 0.3, delay: 0.2, ease: "easeInOut" }}
|
|
1150
|
+
className={cn("mt-4 flex w-full max-w-[460px] flex-col gap-2")}
|
|
1151
|
+
>
|
|
1152
|
+
<ShinyButton
|
|
1153
|
+
accentColor={"hsl(var(--as-brand))"}
|
|
1154
|
+
disabled={btnInfo.disable}
|
|
1155
|
+
onClick={onMainButtonClick}
|
|
1156
|
+
className={cn(
|
|
1157
|
+
"as-main-button relative w-full",
|
|
1158
|
+
btnInfo.error ? "!bg-as-red" : btnInfo.disable ? "!bg-as-on-surface-2" : "!bg-as-brand",
|
|
1159
|
+
)}
|
|
1160
|
+
textClassName={cn(btnInfo.error ? "text-white" : btnInfo.disable ? "text-as-secondary" : "text-white")}
|
|
1161
|
+
>
|
|
1162
|
+
<div className="flex items-center justify-center gap-2">
|
|
1163
|
+
{btnInfo.loading && <Loader2 className="h-4 w-4 animate-spin" />}
|
|
1164
|
+
{btnInfo.text}
|
|
1165
|
+
</div>
|
|
1166
|
+
</ShinyButton>
|
|
1167
|
+
|
|
1168
|
+
{!hideTransactionHistoryButton && (globalAddress || recipientAddress) ? (
|
|
1169
|
+
<Button
|
|
1170
|
+
variant="link"
|
|
1171
|
+
onClick={onClickHistory}
|
|
1172
|
+
className="text-as-primary/50 hover:text-as-primary flex items-center gap-1 transition-colors"
|
|
1173
|
+
>
|
|
1174
|
+
<HistoryIcon className="h-4 w-4" /> <span className="pr-4">Transaction History</span>
|
|
1175
|
+
</Button>
|
|
1176
|
+
) : null}
|
|
1177
|
+
</motion.div>
|
|
1222
1178
|
</div>
|
|
1223
1179
|
);
|
|
1224
1180
|
|
|
@@ -1251,7 +1207,7 @@ function AnySpendInner({
|
|
|
1251
1207
|
}}
|
|
1252
1208
|
onBack={navigateBack}
|
|
1253
1209
|
recipientEnsName={globalWallet?.ensName}
|
|
1254
|
-
recipientImageUrl={
|
|
1210
|
+
recipientImageUrl={globalWallet?.meta?.icon}
|
|
1255
1211
|
/>
|
|
1256
1212
|
);
|
|
1257
1213
|
|
|
@@ -1268,11 +1224,17 @@ function AnySpendInner({
|
|
|
1268
1224
|
|
|
1269
1225
|
const cryptoPaymentMethodView = (
|
|
1270
1226
|
<CryptoPaymentMethod
|
|
1271
|
-
|
|
1272
|
-
|
|
1227
|
+
globalAddress={globalAddress}
|
|
1228
|
+
globalWallet={globalWallet}
|
|
1229
|
+
selectedPaymentMethod={effectiveCryptoPaymentMethod}
|
|
1230
|
+
setSelectedPaymentMethod={method => {
|
|
1231
|
+
// When user explicitly selects a payment method, save it
|
|
1232
|
+
setSelectedCryptoPaymentMethod(method);
|
|
1233
|
+
}}
|
|
1273
1234
|
isCreatingOrder={isCreatingOrder}
|
|
1274
1235
|
onBack={navigateBack}
|
|
1275
1236
|
onSelectPaymentMethod={(method: CryptoPaymentMethodType) => {
|
|
1237
|
+
// When user explicitly selects a payment method, save it and go back
|
|
1276
1238
|
setSelectedCryptoPaymentMethod(method);
|
|
1277
1239
|
navigateBack();
|
|
1278
1240
|
}}
|