@b3dotfun/sdk 0.0.64 → 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.
Files changed (256) hide show
  1. package/dist/cjs/anyspend/react/components/AnySpend.js +73 -33
  2. package/dist/cjs/anyspend/react/components/AnySpendCustom.js +1 -1
  3. package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.js +1 -5
  4. package/dist/cjs/anyspend/react/components/AnyspendDepositHype.js +1 -5
  5. package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.js +1 -5
  6. package/dist/cjs/anyspend/react/components/common/FeeDetailPanel.js +1 -1
  7. package/dist/cjs/anyspend/react/components/common/FiatPaymentMethod.js +2 -2
  8. package/dist/cjs/anyspend/react/components/common/OrderHistory.d.ts +1 -1
  9. package/dist/cjs/anyspend/react/components/common/OrderHistory.js +7 -3
  10. package/dist/cjs/anyspend/react/components/common/PanelOnrampPayment.js +1 -1
  11. package/dist/cjs/anyspend/react/components/common/PointsDetailPanel.js +1 -1
  12. package/dist/cjs/anyspend/react/components/common/RecipientSelection.js +1 -1
  13. package/dist/cjs/anyspend/utils/index.d.ts +0 -1
  14. package/dist/cjs/anyspend/utils/index.js +0 -1
  15. package/dist/cjs/global-account/react/components/AccountAssets/AccountAssets.js +38 -2
  16. package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.js +139 -33
  17. package/dist/cjs/global-account/react/components/B3DynamicModal.js +29 -13
  18. package/dist/cjs/global-account/react/components/Deposit/Deposit.d.ts +1 -0
  19. package/dist/cjs/global-account/react/components/Deposit/Deposit.js +65 -0
  20. package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.d.ts +6 -4
  21. package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.js +113 -279
  22. package/dist/cjs/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +4 -0
  23. package/dist/cjs/global-account/react/components/LinkAccount/LinkNewAccount.js +331 -0
  24. package/dist/cjs/global-account/react/components/ManageAccount/AppsContent.d.ts +6 -0
  25. package/dist/cjs/global-account/react/components/ManageAccount/AppsContent.js +34 -0
  26. package/dist/cjs/global-account/react/components/ManageAccount/BalanceContent.js +2 -2
  27. package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.d.ts +2 -0
  28. package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.js +23 -0
  29. package/dist/cjs/global-account/react/components/ManageAccount/Header.d.ts +3 -0
  30. package/dist/cjs/global-account/react/components/ManageAccount/Header.js +120 -0
  31. package/dist/cjs/global-account/react/components/ManageAccount/HomeActions.d.ts +5 -0
  32. package/dist/cjs/global-account/react/components/ManageAccount/HomeActions.js +43 -0
  33. package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.d.ts +6 -0
  34. package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.js +16 -0
  35. package/dist/cjs/global-account/react/components/ManageAccount/ManageAccount.js +24 -193
  36. package/dist/cjs/global-account/react/components/ManageAccount/NFTContent.d.ts +2 -0
  37. package/dist/cjs/global-account/react/components/ManageAccount/NFTContent.js +15 -0
  38. package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.d.ts +2 -0
  39. package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.js +44 -0
  40. package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.d.ts +7 -0
  41. package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.js +50 -0
  42. package/dist/cjs/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +9 -0
  43. package/dist/cjs/global-account/react/components/ManageAccount/SettingsMenuItem.js +8 -0
  44. package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +2 -0
  45. package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.js +38 -0
  46. package/dist/cjs/global-account/react/components/ManageAccount/TokenContent.d.ts +2 -0
  47. package/dist/cjs/global-account/react/components/ManageAccount/TokenContent.js +22 -0
  48. package/dist/cjs/global-account/react/components/ModalHeader/ModalHeader.d.ts +10 -0
  49. package/dist/cjs/global-account/react/components/ModalHeader/ModalHeader.js +12 -0
  50. package/dist/cjs/global-account/react/components/Send/Send.d.ts +5 -0
  51. package/dist/cjs/global-account/react/components/Send/Send.js +187 -0
  52. package/dist/cjs/global-account/react/components/icons/BellIcon.d.ts +3 -0
  53. package/dist/cjs/global-account/react/components/icons/BellIcon.js +5 -0
  54. package/dist/cjs/global-account/react/components/icons/ChevronDownIcon.d.ts +2 -0
  55. package/dist/cjs/global-account/react/components/icons/ChevronDownIcon.js +7 -0
  56. package/dist/cjs/global-account/react/components/icons/CopyIcon.d.ts +2 -0
  57. package/dist/cjs/global-account/react/components/icons/CopyIcon.js +7 -0
  58. package/dist/cjs/global-account/react/components/icons/LinkIcon.d.ts +3 -0
  59. package/dist/cjs/global-account/react/components/icons/LinkIcon.js +5 -0
  60. package/dist/cjs/global-account/react/components/icons/LockIcon.d.ts +3 -0
  61. package/dist/cjs/global-account/react/components/icons/LockIcon.js +5 -0
  62. package/dist/cjs/global-account/react/components/icons/WalletIcon.d.ts +2 -0
  63. package/dist/cjs/global-account/react/components/icons/WalletIcon.js +7 -0
  64. package/dist/cjs/global-account/react/components/index.d.ts +4 -2
  65. package/dist/cjs/global-account/react/components/index.js +11 -4
  66. package/dist/cjs/global-account/react/components/ui/Tabs.js +2 -2
  67. package/dist/cjs/global-account/react/components/ui/dialog.js +2 -2
  68. package/dist/cjs/global-account/react/hooks/index.d.ts +1 -1
  69. package/dist/cjs/global-account/react/hooks/index.js +3 -1
  70. package/dist/cjs/global-account/react/hooks/useAuthentication.js +0 -11
  71. package/dist/cjs/global-account/react/hooks/useB3BalanceFromAddresses.js +1 -0
  72. package/dist/cjs/global-account/react/hooks/useGlobalAccount.d.ts +1 -0
  73. package/dist/cjs/global-account/react/hooks/useGlobalAccount.js +3 -0
  74. package/dist/cjs/global-account/react/stores/index.d.ts +1 -0
  75. package/dist/cjs/global-account/react/stores/index.js +3 -1
  76. package/dist/cjs/global-account/react/stores/useModalStore.d.ts +34 -3
  77. package/dist/cjs/global-account/react/stores/useRecentAddressesStore.d.ts +25 -0
  78. package/dist/cjs/global-account/react/stores/useRecentAddressesStore.js +36 -0
  79. package/dist/cjs/global-account/react/utils/profileDisplay.d.ts +2 -0
  80. package/dist/cjs/global-account/react/utils/profileDisplay.js +2 -2
  81. package/dist/cjs/shared/constants/chains/supported.d.ts +2 -2
  82. package/dist/cjs/shared/utils/ipfs.js +1 -1
  83. package/dist/esm/anyspend/react/components/AnySpend.js +74 -34
  84. package/dist/esm/anyspend/react/components/AnySpendCustom.js +1 -1
  85. package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.js +2 -6
  86. package/dist/esm/anyspend/react/components/AnyspendDepositHype.js +2 -6
  87. package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.js +2 -6
  88. package/dist/esm/anyspend/react/components/common/FeeDetailPanel.js +1 -1
  89. package/dist/esm/anyspend/react/components/common/FiatPaymentMethod.js +2 -2
  90. package/dist/esm/anyspend/react/components/common/OrderHistory.d.ts +1 -1
  91. package/dist/esm/anyspend/react/components/common/OrderHistory.js +6 -5
  92. package/dist/esm/anyspend/react/components/common/PanelOnrampPayment.js +1 -1
  93. package/dist/esm/anyspend/react/components/common/PointsDetailPanel.js +1 -1
  94. package/dist/esm/anyspend/react/components/common/RecipientSelection.js +1 -1
  95. package/dist/esm/anyspend/utils/index.d.ts +0 -1
  96. package/dist/esm/anyspend/utils/index.js +0 -1
  97. package/dist/esm/global-account/react/components/AccountAssets/AccountAssets.js +38 -2
  98. package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.js +140 -34
  99. package/dist/esm/global-account/react/components/B3DynamicModal.js +30 -14
  100. package/dist/esm/global-account/react/components/Deposit/Deposit.d.ts +1 -0
  101. package/dist/esm/global-account/react/components/Deposit/Deposit.js +59 -0
  102. package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.d.ts +6 -4
  103. package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.js +113 -280
  104. package/dist/esm/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +4 -0
  105. package/dist/esm/global-account/react/components/LinkAccount/LinkNewAccount.js +325 -0
  106. package/dist/esm/global-account/react/components/ManageAccount/AppsContent.d.ts +6 -0
  107. package/dist/esm/global-account/react/components/ManageAccount/AppsContent.js +32 -0
  108. package/dist/esm/global-account/react/components/ManageAccount/BalanceContent.js +2 -2
  109. package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.d.ts +2 -0
  110. package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.js +21 -0
  111. package/dist/esm/global-account/react/components/ManageAccount/Header.d.ts +3 -0
  112. package/dist/esm/global-account/react/components/ManageAccount/Header.js +81 -0
  113. package/dist/esm/global-account/react/components/ManageAccount/HomeActions.d.ts +5 -0
  114. package/dist/esm/global-account/react/components/ManageAccount/HomeActions.js +41 -0
  115. package/dist/esm/global-account/react/components/ManageAccount/HomeContent.d.ts +6 -0
  116. package/dist/esm/global-account/react/components/ManageAccount/HomeContent.js +10 -0
  117. package/dist/esm/global-account/react/components/ManageAccount/ManageAccount.js +26 -195
  118. package/dist/esm/global-account/react/components/ManageAccount/NFTContent.d.ts +2 -0
  119. package/dist/esm/global-account/react/components/ManageAccount/NFTContent.js +13 -0
  120. package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.d.ts +2 -0
  121. package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.js +42 -0
  122. package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.d.ts +7 -0
  123. package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.js +45 -0
  124. package/dist/esm/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +9 -0
  125. package/dist/esm/global-account/react/components/ManageAccount/SettingsMenuItem.js +6 -0
  126. package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +2 -0
  127. package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.js +36 -0
  128. package/dist/esm/global-account/react/components/ManageAccount/TokenContent.d.ts +2 -0
  129. package/dist/esm/global-account/react/components/ManageAccount/TokenContent.js +20 -0
  130. package/dist/esm/global-account/react/components/ModalHeader/ModalHeader.d.ts +10 -0
  131. package/dist/esm/global-account/react/components/ModalHeader/ModalHeader.js +10 -0
  132. package/dist/esm/global-account/react/components/Send/Send.d.ts +5 -0
  133. package/dist/esm/global-account/react/components/Send/Send.js +181 -0
  134. package/dist/esm/global-account/react/components/icons/BellIcon.d.ts +3 -0
  135. package/dist/esm/global-account/react/components/icons/BellIcon.js +3 -0
  136. package/dist/esm/global-account/react/components/icons/ChevronDownIcon.d.ts +2 -0
  137. package/dist/esm/global-account/react/components/icons/ChevronDownIcon.js +4 -0
  138. package/dist/esm/global-account/react/components/icons/CopyIcon.d.ts +2 -0
  139. package/dist/esm/global-account/react/components/icons/CopyIcon.js +4 -0
  140. package/dist/esm/global-account/react/components/icons/LinkIcon.d.ts +3 -0
  141. package/dist/esm/global-account/react/components/icons/LinkIcon.js +3 -0
  142. package/dist/esm/global-account/react/components/icons/LockIcon.d.ts +3 -0
  143. package/dist/esm/global-account/react/components/icons/LockIcon.js +3 -0
  144. package/dist/esm/global-account/react/components/icons/WalletIcon.d.ts +2 -0
  145. package/dist/esm/global-account/react/components/icons/WalletIcon.js +4 -0
  146. package/dist/esm/global-account/react/components/index.d.ts +4 -2
  147. package/dist/esm/global-account/react/components/index.js +7 -2
  148. package/dist/esm/global-account/react/components/ui/Tabs.js +2 -2
  149. package/dist/esm/global-account/react/components/ui/dialog.js +2 -2
  150. package/dist/esm/global-account/react/hooks/index.d.ts +1 -1
  151. package/dist/esm/global-account/react/hooks/index.js +1 -1
  152. package/dist/esm/global-account/react/hooks/useAuthentication.js +0 -11
  153. package/dist/esm/global-account/react/hooks/useB3BalanceFromAddresses.js +1 -0
  154. package/dist/esm/global-account/react/hooks/useGlobalAccount.d.ts +1 -0
  155. package/dist/esm/global-account/react/hooks/useGlobalAccount.js +3 -0
  156. package/dist/esm/global-account/react/stores/index.d.ts +1 -0
  157. package/dist/esm/global-account/react/stores/index.js +1 -0
  158. package/dist/esm/global-account/react/stores/useModalStore.d.ts +34 -3
  159. package/dist/esm/global-account/react/stores/useRecentAddressesStore.d.ts +25 -0
  160. package/dist/esm/global-account/react/stores/useRecentAddressesStore.js +33 -0
  161. package/dist/esm/global-account/react/utils/profileDisplay.d.ts +2 -0
  162. package/dist/esm/global-account/react/utils/profileDisplay.js +2 -2
  163. package/dist/esm/shared/constants/chains/supported.d.ts +2 -2
  164. package/dist/esm/shared/utils/ipfs.js +1 -1
  165. package/dist/styles/index.css +1 -1
  166. package/dist/types/anyspend/react/components/common/OrderHistory.d.ts +1 -1
  167. package/dist/types/anyspend/utils/index.d.ts +0 -1
  168. package/dist/types/global-account/react/components/Deposit/Deposit.d.ts +1 -0
  169. package/dist/types/global-account/react/components/LinkAccount/LinkAccount.d.ts +6 -4
  170. package/dist/types/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +4 -0
  171. package/dist/types/global-account/react/components/ManageAccount/AppsContent.d.ts +6 -0
  172. package/dist/types/global-account/react/components/ManageAccount/BottomNavigation.d.ts +2 -0
  173. package/dist/types/global-account/react/components/ManageAccount/Header.d.ts +3 -0
  174. package/dist/types/global-account/react/components/ManageAccount/HomeActions.d.ts +5 -0
  175. package/dist/types/global-account/react/components/ManageAccount/HomeContent.d.ts +6 -0
  176. package/dist/types/global-account/react/components/ManageAccount/NFTContent.d.ts +2 -0
  177. package/dist/types/global-account/react/components/ManageAccount/ProfileSection.d.ts +2 -0
  178. package/dist/types/global-account/react/components/ManageAccount/SettingsContent.d.ts +7 -0
  179. package/dist/types/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +9 -0
  180. package/dist/types/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +2 -0
  181. package/dist/types/global-account/react/components/ManageAccount/TokenContent.d.ts +2 -0
  182. package/dist/types/global-account/react/components/ModalHeader/ModalHeader.d.ts +10 -0
  183. package/dist/types/global-account/react/components/Send/Send.d.ts +5 -0
  184. package/dist/types/global-account/react/components/icons/BellIcon.d.ts +3 -0
  185. package/dist/types/global-account/react/components/icons/ChevronDownIcon.d.ts +2 -0
  186. package/dist/types/global-account/react/components/icons/CopyIcon.d.ts +2 -0
  187. package/dist/types/global-account/react/components/icons/LinkIcon.d.ts +3 -0
  188. package/dist/types/global-account/react/components/icons/LockIcon.d.ts +3 -0
  189. package/dist/types/global-account/react/components/icons/WalletIcon.d.ts +2 -0
  190. package/dist/types/global-account/react/components/index.d.ts +4 -2
  191. package/dist/types/global-account/react/hooks/index.d.ts +1 -1
  192. package/dist/types/global-account/react/hooks/useGlobalAccount.d.ts +1 -0
  193. package/dist/types/global-account/react/stores/index.d.ts +1 -0
  194. package/dist/types/global-account/react/stores/useModalStore.d.ts +34 -3
  195. package/dist/types/global-account/react/stores/useRecentAddressesStore.d.ts +25 -0
  196. package/dist/types/global-account/react/utils/profileDisplay.d.ts +2 -0
  197. package/dist/types/shared/constants/chains/supported.d.ts +2 -2
  198. package/package.json +1 -1
  199. package/src/anyspend/react/components/AnySpend.tsx +225 -167
  200. package/src/anyspend/react/components/AnySpendCustom.tsx +1 -1
  201. package/src/anyspend/react/components/AnySpendCustomExactIn.tsx +2 -6
  202. package/src/anyspend/react/components/AnyspendDepositHype.tsx +2 -6
  203. package/src/anyspend/react/components/common/CryptoPaymentMethod.tsx +2 -7
  204. package/src/anyspend/react/components/common/FeeDetailPanel.tsx +1 -1
  205. package/src/anyspend/react/components/common/FiatPaymentMethod.tsx +2 -2
  206. package/src/anyspend/react/components/common/OrderHistory.tsx +8 -13
  207. package/src/anyspend/react/components/common/PanelOnrampPayment.tsx +1 -1
  208. package/src/anyspend/react/components/common/PointsDetailPanel.tsx +1 -1
  209. package/src/anyspend/react/components/common/RecipientSelection.tsx +1 -1
  210. package/src/anyspend/utils/index.ts +0 -1
  211. package/src/global-account/react/components/AccountAssets/AccountAssets.tsx +115 -25
  212. package/src/global-account/react/components/AvatarEditor/AvatarEditor.tsx +303 -126
  213. package/src/global-account/react/components/B3DynamicModal.tsx +33 -15
  214. package/src/global-account/react/components/Deposit/Deposit.tsx +211 -0
  215. package/src/global-account/react/components/LinkAccount/LinkAccount.tsx +332 -433
  216. package/src/global-account/react/components/LinkAccount/LinkNewAccount.tsx +490 -0
  217. package/src/global-account/react/components/ManageAccount/AppsContent.tsx +79 -0
  218. package/src/global-account/react/components/ManageAccount/BalanceContent.tsx +2 -3
  219. package/src/global-account/react/components/ManageAccount/BottomNavigation.tsx +83 -0
  220. package/src/global-account/react/components/ManageAccount/Header.tsx +230 -0
  221. package/src/global-account/react/components/ManageAccount/HomeActions.tsx +118 -0
  222. package/src/global-account/react/components/ManageAccount/HomeContent.tsx +42 -0
  223. package/src/global-account/react/components/ManageAccount/ManageAccount.tsx +73 -589
  224. package/src/global-account/react/components/ManageAccount/NFTContent.tsx +24 -0
  225. package/src/global-account/react/components/ManageAccount/ProfileSection.tsx +74 -0
  226. package/src/global-account/react/components/ManageAccount/SettingsContent.tsx +87 -0
  227. package/src/global-account/react/components/ManageAccount/SettingsMenuItem.tsx +31 -0
  228. package/src/global-account/react/components/ManageAccount/SettingsProfileCard.tsx +74 -0
  229. package/src/global-account/react/components/ManageAccount/TokenContent.tsx +41 -0
  230. package/src/global-account/react/components/ModalHeader/ModalHeader.tsx +50 -0
  231. package/src/global-account/react/components/Send/Send.tsx +585 -0
  232. package/src/global-account/react/components/icons/BellIcon.tsx +15 -0
  233. package/src/global-account/react/components/icons/ChevronDownIcon.tsx +17 -0
  234. package/src/global-account/react/components/icons/CopyIcon.tsx +22 -0
  235. package/src/global-account/react/components/icons/LinkIcon.tsx +15 -0
  236. package/src/global-account/react/components/icons/LockIcon.tsx +15 -0
  237. package/src/global-account/react/components/icons/WalletIcon.tsx +21 -0
  238. package/src/global-account/react/components/index.ts +9 -2
  239. package/src/global-account/react/components/ui/Tabs.tsx +5 -13
  240. package/src/global-account/react/components/ui/dialog.tsx +32 -14
  241. package/src/global-account/react/hooks/index.ts +3 -0
  242. package/src/global-account/react/hooks/useAuthentication.ts +0 -12
  243. package/src/global-account/react/hooks/useB3BalanceFromAddresses.ts +1 -0
  244. package/src/global-account/react/hooks/useGlobalAccount.tsx +3 -1
  245. package/src/global-account/react/stores/index.ts +1 -0
  246. package/src/global-account/react/stores/useModalStore.ts +39 -2
  247. package/src/global-account/react/stores/useRecentAddressesStore.ts +55 -0
  248. package/src/global-account/react/utils/profileDisplay.ts +4 -2
  249. package/src/shared/utils/ipfs.ts +1 -1
  250. package/src/styles/index.css +6 -1
  251. package/dist/cjs/anyspend/utils/accountStore.d.ts +0 -7
  252. package/dist/cjs/anyspend/utils/accountStore.js +0 -8
  253. package/dist/esm/anyspend/utils/accountStore.d.ts +0 -7
  254. package/dist/esm/anyspend/utils/accountStore.js +0 -5
  255. package/dist/types/anyspend/utils/accountStore.d.ts +0 -7
  256. package/src/anyspend/utils/accountStore.ts +0 -12
@@ -8,8 +8,7 @@ import { ArrowDown, Loader2 } from "lucide-react";
8
8
  import { motion } from "motion/react";
9
9
  import { useEffect, useMemo, useRef } from "react";
10
10
  import { toast } from "sonner";
11
- import { useActiveWallet, useSetActiveWallet } from "thirdweb/react";
12
- import { useGlobalWalletState } from "../../utils";
11
+ import { useSetActiveWallet } from "thirdweb/react";
13
12
  import { PanelView, useAnyspendFlow } from "../hooks/useAnyspendFlow";
14
13
  import { AnySpendFingerprintWrapper, getFingerprintConfig } from "./AnySpendFingerprintWrapper";
15
14
  import { CryptoPaySection } from "./common/CryptoPaySection";
@@ -145,19 +144,16 @@ function AnySpendCustomExactInInner({
145
144
 
146
145
  const { connectedEOAWallet } = useAccountWallet();
147
146
  const setActiveWallet = useSetActiveWallet();
148
- const activeWallet = useActiveWallet();
149
- const setGlobalAccountWallet = useGlobalWalletState(state => state.setGlobalAccountWallet);
150
147
  const appliedPreferEoa = useRef(false);
151
148
 
152
149
  useEffect(() => {
153
150
  if (preferEoa && !appliedPreferEoa.current) {
154
151
  if (connectedEOAWallet) {
155
152
  appliedPreferEoa.current = true;
156
- setGlobalAccountWallet(activeWallet);
157
153
  setActiveWallet(connectedEOAWallet);
158
154
  }
159
155
  }
160
- }, [preferEoa, connectedEOAWallet, setActiveWallet, activeWallet, setGlobalAccountWallet]);
156
+ }, [preferEoa, connectedEOAWallet, setActiveWallet]);
161
157
 
162
158
  const selectedRecipientOrDefault = selectedRecipientAddress ?? recipientAddress;
163
159
 
@@ -6,7 +6,7 @@ import invariant from "invariant";
6
6
  import { motion } from "motion/react";
7
7
  import { useEffect, useMemo, useRef } from "react";
8
8
  import { toast } from "sonner";
9
- import { useActiveWallet, useSetActiveWallet } from "thirdweb/react";
9
+ import { useSetActiveWallet } from "thirdweb/react";
10
10
  import { base } from "viem/chains";
11
11
  import { PanelView, useAnyspendFlow } from "../hooks/useAnyspendFlow";
12
12
  import { AnySpendFingerprintWrapper, getFingerprintConfig } from "./AnySpendFingerprintWrapper";
@@ -20,7 +20,6 @@ import { PointsDetailPanel } from "./common/PointsDetailPanel";
20
20
  import { RecipientSelection } from "./common/RecipientSelection";
21
21
 
22
22
  import { ArrowDown, Loader2 } from "lucide-react";
23
- import { useGlobalWalletState } from "../../utils";
24
23
  import { PanelOnramp } from "./common/PanelOnramp";
25
24
 
26
25
  const SLIPPAGE_PERCENT = 3;
@@ -119,19 +118,16 @@ function AnySpendDepositHypeInner({
119
118
 
120
119
  const { connectedEOAWallet: connectedEOAWallet } = useAccountWallet();
121
120
  const setActiveWallet = useSetActiveWallet();
122
- const activeWallet = useActiveWallet();
123
- const setGlobalAccountWallet = useGlobalWalletState(state => state.setGlobalAccountWallet);
124
121
  const appliedPreferEoa = useRef(false);
125
122
 
126
123
  useEffect(() => {
127
124
  if (preferEoa && !appliedPreferEoa.current) {
128
125
  if (connectedEOAWallet) {
129
126
  appliedPreferEoa.current = true;
130
- setGlobalAccountWallet(activeWallet);
131
127
  setActiveWallet(connectedEOAWallet);
132
128
  }
133
129
  }
134
- }, [preferEoa, connectedEOAWallet, setActiveWallet, activeWallet, setGlobalAccountWallet]);
130
+ }, [preferEoa, connectedEOAWallet, setActiveWallet]);
135
131
 
136
132
  // Button state logic
137
133
  const btnInfo: { text: string; disable: boolean; error: boolean; loading: boolean } = useMemo(() => {
@@ -1,6 +1,5 @@
1
1
  "use client";
2
2
 
3
- import { useGlobalWalletState } from "@b3dotfun/sdk/anyspend/utils";
4
3
  import { useAccountWallet } from "@b3dotfun/sdk/global-account/react";
5
4
  import { cn } from "@b3dotfun/sdk/shared/utils/cn";
6
5
  import { shortenAddress } from "@b3dotfun/sdk/shared/utils/formatAddress";
@@ -10,7 +9,7 @@ import { ChevronLeft, ChevronRightCircle, Wallet, X, ZapIcon } from "lucide-reac
10
9
  import { useState } from "react";
11
10
  import { createPortal } from "react-dom";
12
11
  import { toast } from "sonner";
13
- import { useActiveWallet, useSetActiveWallet, useWalletInfo } from "thirdweb/react";
12
+ import { useSetActiveWallet, useWalletInfo } from "thirdweb/react";
14
13
  import { WalletId, createWallet } from "thirdweb/wallets";
15
14
  import { useAccount, useConnect, useDisconnect, useWalletClient } from "wagmi";
16
15
  import { useConnectedWalletDisplay } from "../../hooks/useConnectedWalletDisplay";
@@ -56,9 +55,6 @@ export function CryptoPaymentMethod({
56
55
  const setActiveWallet = useSetActiveWallet();
57
56
  const { data: eoaWalletInfo } = useWalletInfo(connectedEOAWallet?.id);
58
57
 
59
- const activeWallet = useActiveWallet();
60
- const setGlobalAccountWallet = useGlobalWalletState(state => state.setGlobalAccountWallet);
61
-
62
58
  const isConnected = !!connectedEOAWallet;
63
59
  const globalAddress = connectedSmartWallet?.getAccount()?.address;
64
60
 
@@ -196,7 +192,7 @@ export function CryptoPaymentMethod({
196
192
  };
197
193
 
198
194
  return (
199
- <div className="crypto-payment-method mx-auto h-fit w-[460px] max-w-full">
195
+ <div className="crypto-payment-method mx-auto h-fit w-[460px] max-w-full px-5 pb-5">
200
196
  <div className={cn("relative flex flex-col gap-10")}>
201
197
  {/* Header */}
202
198
  <button
@@ -225,7 +221,6 @@ export function CryptoPaymentMethod({
225
221
  onClick={() => {
226
222
  setSelectedPaymentMethod(CryptoPaymentMethodType.CONNECT_WALLET);
227
223
  onSelectPaymentMethod(CryptoPaymentMethodType.CONNECT_WALLET);
228
- setGlobalAccountWallet(activeWallet);
229
224
  if (connectedEOAWallet) {
230
225
  setActiveWallet(connectedEOAWallet);
231
226
  }
@@ -83,7 +83,7 @@ export function FeeDetailPanel({ fee, transactionAmountUsd, onBack }: FeeDetailP
83
83
  const [showAllDiscountTiers, setShowAllDiscountTiers] = useState(false);
84
84
 
85
85
  return (
86
- <div className="mx-auto flex w-[460px] max-w-full flex-col items-center gap-3">
86
+ <div className="mx-auto flex w-[460px] max-w-full flex-col items-center gap-3 px-5">
87
87
  <div className="flex w-full flex-col gap-3">
88
88
  <div className="text-center">
89
89
  <h3 className="text-as-primary text-lg font-bold">Fee Breakdown</h3>
@@ -81,7 +81,7 @@ export function FiatPaymentMethodComponent({
81
81
  // Show loading state while checking geo availability
82
82
  if (isLoadingGeoOnramp) {
83
83
  return (
84
- <div className="fiat-payment-method mx-auto w-[460px] max-w-full">
84
+ <div className="fiat-payment-method mx-auto w-[460px] max-w-full px-5">
85
85
  <div className="flex flex-col gap-6">
86
86
  <div className="flex items-center gap-4">
87
87
  <button
@@ -104,7 +104,7 @@ export function FiatPaymentMethodComponent({
104
104
  }
105
105
 
106
106
  return (
107
- <div className="fiat-payment-method mx-auto w-[460px] max-w-full">
107
+ <div className="fiat-payment-method mx-auto w-[460px] max-w-full px-5">
108
108
  <div className="flex flex-col gap-6">
109
109
  {/* Header */}
110
110
  <div className="flex items-center gap-4">
@@ -2,12 +2,13 @@
2
2
 
3
3
  import { useAnyspendOrderHistory } from "@b3dotfun/sdk/anyspend/react";
4
4
  import { Button, Skeleton, useAccountWallet } from "@b3dotfun/sdk/global-account/react";
5
- import { ArrowLeft, RefreshCcw } from "lucide-react";
5
+ import ModalHeader from "@b3dotfun/sdk/global-account/react/components/ModalHeader/ModalHeader";
6
+ import { RefreshCcw } from "lucide-react";
6
7
  import { OrderHistoryItem } from "./OrderHistoryItem";
7
8
 
8
9
  interface OrderHistoryProps {
9
10
  mode: "modal" | "page";
10
- onBack: () => void;
11
+ onBack?: () => void;
11
12
  onSelectOrder?: (orderId: string) => void;
12
13
  }
13
14
 
@@ -17,13 +18,7 @@ export function OrderHistory({ mode, onBack, onSelectOrder }: OrderHistoryProps)
17
18
 
18
19
  return (
19
20
  <>
20
- <div className="mb-8 flex w-full items-center gap-3">
21
- <Button onClick={onBack} variant="ghost" size="icon" className="hover:bg-as-surface-secondary">
22
- <ArrowLeft className="h-5 w-5" />
23
- </Button>
24
- <div className="flex-1">
25
- <h3 className="text-as-primary text-2xl font-bold">Order History</h3>
26
- </div>
21
+ <ModalHeader title="Order History" showCloseButton={false} handleBack={onBack} className="w-full">
27
22
  <Button
28
23
  variant="ghost"
29
24
  size="icon"
@@ -34,20 +29,20 @@ export function OrderHistory({ mode, onBack, onSelectOrder }: OrderHistoryProps)
34
29
  >
35
30
  <RefreshCcw className="text-as-secondary hover:text-as-primary h-5 w-5 cursor-pointer transition-all hover:rotate-180" />
36
31
  </Button>
37
- </div>
32
+ </ModalHeader>
38
33
 
39
34
  {isLoadingOrderHistory ? (
40
- <div className="w-full space-y-3">
35
+ <div className="w-full space-y-3 px-5">
41
36
  {[1, 2, 3].map(i => (
42
37
  <Skeleton key={i} className="h-[180px] w-full rounded-2xl" />
43
38
  ))}
44
39
  </div>
45
40
  ) : !orderHistory?.length ? (
46
- <div className="bg-as-surface-secondary w-full rounded-2xl p-12 text-center">
41
+ <div className="bg-as-surface-secondary w-full rounded-2xl p-12 px-5 text-center">
47
42
  <p className="text-as-secondary text-sm">No order history found</p>
48
43
  </div>
49
44
  ) : (
50
- <div className="mb-12 w-full space-y-3">
45
+ <div className="mb-12 w-full space-y-3 px-5 pt-5">
51
46
  {[...orderHistory]
52
47
  .sort((a, b) => b.createdAt - a.createdAt)
53
48
  .map(order => (
@@ -150,7 +150,7 @@ function PanelOnrampPaymentInner(props: PanelOnrampPaymentProps) {
150
150
  };
151
151
 
152
152
  return (
153
- <div className="mx-auto flex w-full max-w-[460px] flex-col gap-6">
153
+ <div className="mx-auto flex w-full max-w-[460px] flex-col gap-6 px-5">
154
154
  {/* Order Summary Section */}
155
155
  <>
156
156
  <h2 className="-mb-3 text-lg font-semibold">Order summary</h2>
@@ -9,7 +9,7 @@ interface PointsDetailPanelProps {
9
9
 
10
10
  export function PointsDetailPanel({ pointsAmount = 0, onBack }: PointsDetailPanelProps) {
11
11
  return (
12
- <div className="mx-auto flex w-[460px] max-w-full flex-col items-center gap-4">
12
+ <div className="mx-auto flex w-[460px] max-w-full flex-col items-center gap-4 px-5">
13
13
  <div className="flex flex-col items-center gap-4 text-center">
14
14
  <h3 className="text-as-primary text-xl font-bold">Earn Points with Every Swap</h3>
15
15
  <p className="text-as-primary/70 text-balance text-sm leading-relaxed">
@@ -88,7 +88,7 @@ export function RecipientSelection({
88
88
  const canConfirm = recipientAddress && isAddressValid;
89
89
 
90
90
  return (
91
- <div className="recipient-selection mx-auto w-[460px] max-w-full">
91
+ <div className="recipient-selection mx-auto w-[460px] max-w-full px-5">
92
92
  <div className="flex flex-col gap-6">
93
93
  {/* Header */}
94
94
  <div className="flex justify-around">
@@ -1,4 +1,3 @@
1
- export * from "./accountStore";
2
1
  export * from "./address";
3
2
  export * from "./chain";
4
3
  export * from "./format";
@@ -1,16 +1,35 @@
1
- import { SimpleHashNFTResponse } from "@b3dotfun/sdk/global-account/types/simplehash.types";
1
+ import { NFT, SimpleHashNFTResponse } from "@b3dotfun/sdk/global-account/types/simplehash.types";
2
+ import { useState } from "react";
2
3
 
3
4
  interface AccountAssetsProps {
4
5
  nfts: SimpleHashNFTResponse;
5
6
  isLoading?: boolean;
6
7
  }
7
8
 
9
+ interface GroupedNFTs {
10
+ collection_id: string;
11
+ collection_name: string;
12
+ collection_image: string;
13
+ nfts: NFT[];
14
+ }
15
+
8
16
  export function AccountAssets({ nfts, isLoading }: AccountAssetsProps) {
17
+ // Initialize with all collections expanded
18
+ const [expandedCollections, setExpandedCollections] = useState<Set<string>>(
19
+ () => new Set(collections.map(c => c.collection_id)),
20
+ );
21
+
9
22
  if (isLoading) {
10
23
  return (
11
- <div className="grid animate-pulse grid-cols-2 gap-4">
12
- {[...Array(4)].map((_, i) => (
13
- <div key={i} className="bg-b3-react-muted aspect-square rounded-lg" />
24
+ <div className="flex flex-col gap-3">
25
+ {[...Array(2)].map((_, i) => (
26
+ <div key={i} className="animate-pulse">
27
+ <div className="bg-b3-react-muted mb-3 h-6 w-48 rounded" />
28
+ <div className="flex gap-3">
29
+ <div className="bg-b3-react-muted h-[98px] w-[98px] shrink-0 rounded-lg" />
30
+ <div className="bg-b3-react-muted h-[98px] w-[98px] shrink-0 rounded-lg" />
31
+ </div>
32
+ </div>
14
33
  ))}
15
34
  </div>
16
35
  );
@@ -20,29 +39,100 @@ export function AccountAssets({ nfts, isLoading }: AccountAssetsProps) {
20
39
  return <div className="text-b3-react-muted-foreground py-8 text-center">No NFTs found</div>;
21
40
  }
22
41
 
42
+ // Group NFTs by collection
43
+ const groupedNFTs = nfts.nfts.reduce(
44
+ (acc, nft) => {
45
+ const collectionId = nft.collection?.collection_id || "unknown";
46
+ if (!acc[collectionId]) {
47
+ acc[collectionId] = {
48
+ collection_id: collectionId,
49
+ collection_name: nft.collection?.name || "Unknown Collection",
50
+ collection_image: nft.collection?.image_url || nft.previews?.image_small_url || "",
51
+ nfts: [],
52
+ };
53
+ }
54
+ acc[collectionId].nfts.push(nft);
55
+ return acc;
56
+ },
57
+ {} as Record<string, GroupedNFTs>,
58
+ );
59
+
60
+ const collections = Object.values(groupedNFTs);
61
+
62
+ const toggleCollection = (collectionId: string) => {
63
+ setExpandedCollections(prev => {
64
+ const next = new Set(prev);
65
+ if (next.has(collectionId)) {
66
+ next.delete(collectionId);
67
+ } else {
68
+ next.add(collectionId);
69
+ }
70
+ return next;
71
+ });
72
+ };
73
+
23
74
  return (
24
- <div className="grid grid-cols-2 gap-4">
25
- {nfts.nfts.map(nft => (
26
- <div key={nft.nft_id} className="group relative aspect-square overflow-hidden">
27
- <div className="relative h-full w-full overflow-hidden rounded-xl">
28
- <img
29
- src={
30
- nft.previews?.image_medium_url || nft.extra_metadata?.image_original_url || nft.collection?.image_url
31
- }
32
- alt={nft.name || "NFT"}
33
- className="h-full w-full rounded-xl object-cover"
34
- />
35
- <div className="absolute inset-0 flex flex-col justify-end bg-gradient-to-t from-black from-35% via-black/70 to-transparent p-3 opacity-0 transition-all duration-200 ease-in-out group-hover:opacity-100">
36
- <p className="font-neue-montreal-bold text-[16px] text-white drop-shadow-[0_1px_2px_rgba(0,0,0,1)]">
37
- {nft.name || `#${nft.token_id}`}
38
- </p>
39
- <p className="font-neue-montreal-bold text-sm text-white/95 drop-shadow-[0_1px_2px_rgba(0,0,0,1)]">
40
- {nft.collection?.name}
41
- </p>
42
- </div>
75
+ <div className="flex flex-col gap-3 px-4">
76
+ {collections.map(collection => {
77
+ const isExpanded = expandedCollections.has(collection.collection_id);
78
+
79
+ return (
80
+ <div key={collection.collection_id} className="flex flex-col gap-3">
81
+ {/* Collection Header */}
82
+ <button
83
+ onClick={() => toggleCollection(collection.collection_id)}
84
+ className="flex w-full items-center justify-between"
85
+ >
86
+ <div className="flex items-center gap-1">
87
+ {collection.collection_image && (
88
+ <img
89
+ src={collection.collection_image}
90
+ alt={collection.collection_name}
91
+ className="h-5 w-5 shrink-0 rounded object-cover"
92
+ />
93
+ )}
94
+ <p className="font-neue-montreal-medium text-[14px] text-[#3f3f46]">
95
+ {collection.collection_name} ({collection.nfts.length})
96
+ </p>
97
+ </div>
98
+ <svg
99
+ className={`h-[18px] w-[18px] shrink-0 transition-transform ${isExpanded ? "rotate-180" : ""}`}
100
+ viewBox="0 0 18 18"
101
+ fill="none"
102
+ xmlns="http://www.w3.org/2000/svg"
103
+ >
104
+ <path
105
+ d="M4.5 6.75L9 11.25L13.5 6.75"
106
+ stroke="#51525C"
107
+ strokeWidth="1.5"
108
+ strokeLinecap="round"
109
+ strokeLinejoin="round"
110
+ />
111
+ </svg>
112
+ </button>
113
+
114
+ {/* NFT Grid */}
115
+ {isExpanded && (
116
+ <div className="flex gap-3 overflow-x-auto">
117
+ {collection.nfts.map(nft => (
118
+ <div key={nft.nft_id} className="relative h-[98px] w-[98px] shrink-0 overflow-hidden rounded-lg">
119
+ <img
120
+ src={
121
+ nft.previews?.image_medium_url ||
122
+ nft.extra_metadata?.image_original_url ||
123
+ nft.collection?.image_url ||
124
+ ""
125
+ }
126
+ alt={nft.name || "NFT"}
127
+ className="h-full w-full object-cover"
128
+ />
129
+ </div>
130
+ ))}
131
+ </div>
132
+ )}
43
133
  </div>
44
- </div>
45
- ))}
134
+ );
135
+ })}
46
136
  </div>
47
137
  );
48
138
  }