@b3dotfun/sdk 0.0.65-test.1 → 0.0.65

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 (229) hide show
  1. package/dist/cjs/anyspend/react/components/AnySpend.js +33 -73
  2. package/dist/cjs/anyspend/react/components/AnySpendCustom.js +1 -1
  3. package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.js +1 -1
  4. package/dist/cjs/anyspend/react/components/common/FeeDetailPanel.js +1 -1
  5. package/dist/cjs/anyspend/react/components/common/FiatPaymentMethod.js +2 -2
  6. package/dist/cjs/anyspend/react/components/common/OrderHistory.d.ts +1 -1
  7. package/dist/cjs/anyspend/react/components/common/OrderHistory.js +3 -7
  8. package/dist/cjs/anyspend/react/components/common/PanelOnrampPayment.js +1 -1
  9. package/dist/cjs/anyspend/react/components/common/PointsDetailPanel.js +1 -1
  10. package/dist/cjs/anyspend/react/components/common/RecipientSelection.js +1 -1
  11. package/dist/cjs/global-account/react/components/AccountAssets/AccountAssets.js +2 -38
  12. package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.js +33 -139
  13. package/dist/cjs/global-account/react/components/B3DynamicModal.js +6 -25
  14. package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.d.ts +4 -6
  15. package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.js +279 -113
  16. package/dist/cjs/global-account/react/components/ManageAccount/BalanceContent.js +2 -2
  17. package/dist/cjs/global-account/react/components/ManageAccount/ManageAccount.js +193 -24
  18. package/dist/cjs/global-account/react/components/index.d.ts +2 -4
  19. package/dist/cjs/global-account/react/components/index.js +4 -11
  20. package/dist/cjs/global-account/react/components/ui/Tabs.js +2 -2
  21. package/dist/cjs/global-account/react/components/ui/dialog.js +2 -2
  22. package/dist/cjs/global-account/react/hooks/index.d.ts +1 -1
  23. package/dist/cjs/global-account/react/hooks/index.js +1 -3
  24. package/dist/cjs/global-account/react/hooks/useB3BalanceFromAddresses.js +0 -1
  25. package/dist/cjs/global-account/react/stores/index.d.ts +0 -1
  26. package/dist/cjs/global-account/react/stores/index.js +1 -3
  27. package/dist/cjs/global-account/react/stores/useModalStore.d.ts +3 -34
  28. package/dist/cjs/global-account/react/utils/profileDisplay.d.ts +0 -2
  29. package/dist/cjs/global-account/react/utils/profileDisplay.js +2 -2
  30. package/dist/cjs/shared/constants/chains/supported.d.ts +2 -2
  31. package/dist/cjs/shared/utils/ipfs.js +1 -1
  32. package/dist/esm/anyspend/react/components/AnySpend.js +34 -74
  33. package/dist/esm/anyspend/react/components/AnySpendCustom.js +1 -1
  34. package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.js +1 -1
  35. package/dist/esm/anyspend/react/components/common/FeeDetailPanel.js +1 -1
  36. package/dist/esm/anyspend/react/components/common/FiatPaymentMethod.js +2 -2
  37. package/dist/esm/anyspend/react/components/common/OrderHistory.d.ts +1 -1
  38. package/dist/esm/anyspend/react/components/common/OrderHistory.js +5 -6
  39. package/dist/esm/anyspend/react/components/common/PanelOnrampPayment.js +1 -1
  40. package/dist/esm/anyspend/react/components/common/PointsDetailPanel.js +1 -1
  41. package/dist/esm/anyspend/react/components/common/RecipientSelection.js +1 -1
  42. package/dist/esm/global-account/react/components/AccountAssets/AccountAssets.js +2 -38
  43. package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.js +34 -140
  44. package/dist/esm/global-account/react/components/B3DynamicModal.js +6 -25
  45. package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.d.ts +4 -6
  46. package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.js +280 -113
  47. package/dist/esm/global-account/react/components/ManageAccount/BalanceContent.js +2 -2
  48. package/dist/esm/global-account/react/components/ManageAccount/ManageAccount.js +195 -26
  49. package/dist/esm/global-account/react/components/index.d.ts +2 -4
  50. package/dist/esm/global-account/react/components/index.js +2 -7
  51. package/dist/esm/global-account/react/components/ui/Tabs.js +2 -2
  52. package/dist/esm/global-account/react/components/ui/dialog.js +2 -2
  53. package/dist/esm/global-account/react/hooks/index.d.ts +1 -1
  54. package/dist/esm/global-account/react/hooks/index.js +1 -1
  55. package/dist/esm/global-account/react/hooks/useB3BalanceFromAddresses.js +0 -1
  56. package/dist/esm/global-account/react/stores/index.d.ts +0 -1
  57. package/dist/esm/global-account/react/stores/index.js +0 -1
  58. package/dist/esm/global-account/react/stores/useModalStore.d.ts +3 -34
  59. package/dist/esm/global-account/react/utils/profileDisplay.d.ts +0 -2
  60. package/dist/esm/global-account/react/utils/profileDisplay.js +2 -2
  61. package/dist/esm/shared/constants/chains/supported.d.ts +2 -2
  62. package/dist/esm/shared/utils/ipfs.js +1 -1
  63. package/dist/styles/index.css +1 -1
  64. package/dist/types/anyspend/react/components/common/OrderHistory.d.ts +1 -1
  65. package/dist/types/global-account/react/components/LinkAccount/LinkAccount.d.ts +4 -6
  66. package/dist/types/global-account/react/components/index.d.ts +2 -4
  67. package/dist/types/global-account/react/hooks/index.d.ts +1 -1
  68. package/dist/types/global-account/react/stores/index.d.ts +0 -1
  69. package/dist/types/global-account/react/stores/useModalStore.d.ts +3 -34
  70. package/dist/types/global-account/react/utils/profileDisplay.d.ts +0 -2
  71. package/dist/types/shared/constants/chains/supported.d.ts +2 -2
  72. package/package.json +1 -1
  73. package/src/anyspend/react/components/AnySpend.tsx +167 -225
  74. package/src/anyspend/react/components/AnySpendCustom.tsx +1 -1
  75. package/src/anyspend/react/components/common/CryptoPaymentMethod.tsx +1 -1
  76. package/src/anyspend/react/components/common/FeeDetailPanel.tsx +1 -1
  77. package/src/anyspend/react/components/common/FiatPaymentMethod.tsx +2 -2
  78. package/src/anyspend/react/components/common/OrderHistory.tsx +13 -8
  79. package/src/anyspend/react/components/common/PanelOnrampPayment.tsx +1 -1
  80. package/src/anyspend/react/components/common/PointsDetailPanel.tsx +1 -1
  81. package/src/anyspend/react/components/common/RecipientSelection.tsx +1 -1
  82. package/src/global-account/react/components/AccountAssets/AccountAssets.tsx +25 -115
  83. package/src/global-account/react/components/AvatarEditor/AvatarEditor.tsx +126 -303
  84. package/src/global-account/react/components/B3DynamicModal.tsx +6 -28
  85. package/src/global-account/react/components/LinkAccount/LinkAccount.tsx +433 -332
  86. package/src/global-account/react/components/ManageAccount/BalanceContent.tsx +3 -2
  87. package/src/global-account/react/components/ManageAccount/ManageAccount.tsx +589 -73
  88. package/src/global-account/react/components/index.ts +2 -9
  89. package/src/global-account/react/components/ui/Tabs.tsx +13 -5
  90. package/src/global-account/react/components/ui/dialog.tsx +14 -32
  91. package/src/global-account/react/hooks/index.ts +0 -3
  92. package/src/global-account/react/hooks/useB3BalanceFromAddresses.ts +0 -1
  93. package/src/global-account/react/stores/index.ts +0 -1
  94. package/src/global-account/react/stores/useModalStore.ts +2 -39
  95. package/src/global-account/react/utils/profileDisplay.ts +2 -4
  96. package/src/shared/utils/ipfs.ts +1 -1
  97. package/src/styles/index.css +1 -6
  98. package/dist/cjs/global-account/react/components/Deposit/Deposit.d.ts +0 -1
  99. package/dist/cjs/global-account/react/components/Deposit/Deposit.js +0 -65
  100. package/dist/cjs/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +0 -4
  101. package/dist/cjs/global-account/react/components/LinkAccount/LinkNewAccount.js +0 -331
  102. package/dist/cjs/global-account/react/components/ManageAccount/AppsContent.d.ts +0 -6
  103. package/dist/cjs/global-account/react/components/ManageAccount/AppsContent.js +0 -34
  104. package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.d.ts +0 -2
  105. package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.js +0 -23
  106. package/dist/cjs/global-account/react/components/ManageAccount/Header.d.ts +0 -3
  107. package/dist/cjs/global-account/react/components/ManageAccount/Header.js +0 -120
  108. package/dist/cjs/global-account/react/components/ManageAccount/HomeActions.d.ts +0 -5
  109. package/dist/cjs/global-account/react/components/ManageAccount/HomeActions.js +0 -43
  110. package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.d.ts +0 -6
  111. package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.js +0 -16
  112. package/dist/cjs/global-account/react/components/ManageAccount/NFTContent.d.ts +0 -2
  113. package/dist/cjs/global-account/react/components/ManageAccount/NFTContent.js +0 -15
  114. package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.d.ts +0 -2
  115. package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.js +0 -44
  116. package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.d.ts +0 -7
  117. package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.js +0 -50
  118. package/dist/cjs/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +0 -9
  119. package/dist/cjs/global-account/react/components/ManageAccount/SettingsMenuItem.js +0 -8
  120. package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +0 -2
  121. package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.js +0 -38
  122. package/dist/cjs/global-account/react/components/ManageAccount/TokenContent.d.ts +0 -2
  123. package/dist/cjs/global-account/react/components/ManageAccount/TokenContent.js +0 -22
  124. package/dist/cjs/global-account/react/components/ModalHeader/ModalHeader.d.ts +0 -10
  125. package/dist/cjs/global-account/react/components/ModalHeader/ModalHeader.js +0 -12
  126. package/dist/cjs/global-account/react/components/Send/Send.d.ts +0 -5
  127. package/dist/cjs/global-account/react/components/Send/Send.js +0 -187
  128. package/dist/cjs/global-account/react/components/icons/BellIcon.d.ts +0 -3
  129. package/dist/cjs/global-account/react/components/icons/BellIcon.js +0 -5
  130. package/dist/cjs/global-account/react/components/icons/ChevronDownIcon.d.ts +0 -2
  131. package/dist/cjs/global-account/react/components/icons/ChevronDownIcon.js +0 -7
  132. package/dist/cjs/global-account/react/components/icons/CopyIcon.d.ts +0 -2
  133. package/dist/cjs/global-account/react/components/icons/CopyIcon.js +0 -7
  134. package/dist/cjs/global-account/react/components/icons/LinkIcon.d.ts +0 -3
  135. package/dist/cjs/global-account/react/components/icons/LinkIcon.js +0 -5
  136. package/dist/cjs/global-account/react/components/icons/LockIcon.d.ts +0 -3
  137. package/dist/cjs/global-account/react/components/icons/LockIcon.js +0 -5
  138. package/dist/cjs/global-account/react/components/icons/WalletIcon.d.ts +0 -2
  139. package/dist/cjs/global-account/react/components/icons/WalletIcon.js +0 -7
  140. package/dist/cjs/global-account/react/stores/useRecentAddressesStore.d.ts +0 -25
  141. package/dist/cjs/global-account/react/stores/useRecentAddressesStore.js +0 -36
  142. package/dist/esm/global-account/react/components/Deposit/Deposit.d.ts +0 -1
  143. package/dist/esm/global-account/react/components/Deposit/Deposit.js +0 -59
  144. package/dist/esm/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +0 -4
  145. package/dist/esm/global-account/react/components/LinkAccount/LinkNewAccount.js +0 -325
  146. package/dist/esm/global-account/react/components/ManageAccount/AppsContent.d.ts +0 -6
  147. package/dist/esm/global-account/react/components/ManageAccount/AppsContent.js +0 -32
  148. package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.d.ts +0 -2
  149. package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.js +0 -21
  150. package/dist/esm/global-account/react/components/ManageAccount/Header.d.ts +0 -3
  151. package/dist/esm/global-account/react/components/ManageAccount/Header.js +0 -81
  152. package/dist/esm/global-account/react/components/ManageAccount/HomeActions.d.ts +0 -5
  153. package/dist/esm/global-account/react/components/ManageAccount/HomeActions.js +0 -41
  154. package/dist/esm/global-account/react/components/ManageAccount/HomeContent.d.ts +0 -6
  155. package/dist/esm/global-account/react/components/ManageAccount/HomeContent.js +0 -10
  156. package/dist/esm/global-account/react/components/ManageAccount/NFTContent.d.ts +0 -2
  157. package/dist/esm/global-account/react/components/ManageAccount/NFTContent.js +0 -13
  158. package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.d.ts +0 -2
  159. package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.js +0 -42
  160. package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.d.ts +0 -7
  161. package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.js +0 -45
  162. package/dist/esm/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +0 -9
  163. package/dist/esm/global-account/react/components/ManageAccount/SettingsMenuItem.js +0 -6
  164. package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +0 -2
  165. package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.js +0 -36
  166. package/dist/esm/global-account/react/components/ManageAccount/TokenContent.d.ts +0 -2
  167. package/dist/esm/global-account/react/components/ManageAccount/TokenContent.js +0 -20
  168. package/dist/esm/global-account/react/components/ModalHeader/ModalHeader.d.ts +0 -10
  169. package/dist/esm/global-account/react/components/ModalHeader/ModalHeader.js +0 -10
  170. package/dist/esm/global-account/react/components/Send/Send.d.ts +0 -5
  171. package/dist/esm/global-account/react/components/Send/Send.js +0 -181
  172. package/dist/esm/global-account/react/components/icons/BellIcon.d.ts +0 -3
  173. package/dist/esm/global-account/react/components/icons/BellIcon.js +0 -3
  174. package/dist/esm/global-account/react/components/icons/ChevronDownIcon.d.ts +0 -2
  175. package/dist/esm/global-account/react/components/icons/ChevronDownIcon.js +0 -4
  176. package/dist/esm/global-account/react/components/icons/CopyIcon.d.ts +0 -2
  177. package/dist/esm/global-account/react/components/icons/CopyIcon.js +0 -4
  178. package/dist/esm/global-account/react/components/icons/LinkIcon.d.ts +0 -3
  179. package/dist/esm/global-account/react/components/icons/LinkIcon.js +0 -3
  180. package/dist/esm/global-account/react/components/icons/LockIcon.d.ts +0 -3
  181. package/dist/esm/global-account/react/components/icons/LockIcon.js +0 -3
  182. package/dist/esm/global-account/react/components/icons/WalletIcon.d.ts +0 -2
  183. package/dist/esm/global-account/react/components/icons/WalletIcon.js +0 -4
  184. package/dist/esm/global-account/react/stores/useRecentAddressesStore.d.ts +0 -25
  185. package/dist/esm/global-account/react/stores/useRecentAddressesStore.js +0 -33
  186. package/dist/types/global-account/react/components/Deposit/Deposit.d.ts +0 -1
  187. package/dist/types/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +0 -4
  188. package/dist/types/global-account/react/components/ManageAccount/AppsContent.d.ts +0 -6
  189. package/dist/types/global-account/react/components/ManageAccount/BottomNavigation.d.ts +0 -2
  190. package/dist/types/global-account/react/components/ManageAccount/Header.d.ts +0 -3
  191. package/dist/types/global-account/react/components/ManageAccount/HomeActions.d.ts +0 -5
  192. package/dist/types/global-account/react/components/ManageAccount/HomeContent.d.ts +0 -6
  193. package/dist/types/global-account/react/components/ManageAccount/NFTContent.d.ts +0 -2
  194. package/dist/types/global-account/react/components/ManageAccount/ProfileSection.d.ts +0 -2
  195. package/dist/types/global-account/react/components/ManageAccount/SettingsContent.d.ts +0 -7
  196. package/dist/types/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +0 -9
  197. package/dist/types/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +0 -2
  198. package/dist/types/global-account/react/components/ManageAccount/TokenContent.d.ts +0 -2
  199. package/dist/types/global-account/react/components/ModalHeader/ModalHeader.d.ts +0 -10
  200. package/dist/types/global-account/react/components/Send/Send.d.ts +0 -5
  201. package/dist/types/global-account/react/components/icons/BellIcon.d.ts +0 -3
  202. package/dist/types/global-account/react/components/icons/ChevronDownIcon.d.ts +0 -2
  203. package/dist/types/global-account/react/components/icons/CopyIcon.d.ts +0 -2
  204. package/dist/types/global-account/react/components/icons/LinkIcon.d.ts +0 -3
  205. package/dist/types/global-account/react/components/icons/LockIcon.d.ts +0 -3
  206. package/dist/types/global-account/react/components/icons/WalletIcon.d.ts +0 -2
  207. package/dist/types/global-account/react/stores/useRecentAddressesStore.d.ts +0 -25
  208. package/src/global-account/react/components/Deposit/Deposit.tsx +0 -211
  209. package/src/global-account/react/components/LinkAccount/LinkNewAccount.tsx +0 -490
  210. package/src/global-account/react/components/ManageAccount/AppsContent.tsx +0 -79
  211. package/src/global-account/react/components/ManageAccount/BottomNavigation.tsx +0 -83
  212. package/src/global-account/react/components/ManageAccount/Header.tsx +0 -230
  213. package/src/global-account/react/components/ManageAccount/HomeActions.tsx +0 -118
  214. package/src/global-account/react/components/ManageAccount/HomeContent.tsx +0 -42
  215. package/src/global-account/react/components/ManageAccount/NFTContent.tsx +0 -24
  216. package/src/global-account/react/components/ManageAccount/ProfileSection.tsx +0 -74
  217. package/src/global-account/react/components/ManageAccount/SettingsContent.tsx +0 -87
  218. package/src/global-account/react/components/ManageAccount/SettingsMenuItem.tsx +0 -31
  219. package/src/global-account/react/components/ManageAccount/SettingsProfileCard.tsx +0 -74
  220. package/src/global-account/react/components/ManageAccount/TokenContent.tsx +0 -41
  221. package/src/global-account/react/components/ModalHeader/ModalHeader.tsx +0 -50
  222. package/src/global-account/react/components/Send/Send.tsx +0 -585
  223. package/src/global-account/react/components/icons/BellIcon.tsx +0 -15
  224. package/src/global-account/react/components/icons/ChevronDownIcon.tsx +0 -17
  225. package/src/global-account/react/components/icons/CopyIcon.tsx +0 -22
  226. package/src/global-account/react/components/icons/LinkIcon.tsx +0 -15
  227. package/src/global-account/react/components/icons/LockIcon.tsx +0 -15
  228. package/src/global-account/react/components/icons/WalletIcon.tsx +0 -21
  229. package/src/global-account/react/stores/useRecentAddressesStore.ts +0 -55
@@ -1,35 +1,16 @@
1
- import { NFT, SimpleHashNFTResponse } from "@b3dotfun/sdk/global-account/types/simplehash.types";
2
- import { useState } from "react";
1
+ import { SimpleHashNFTResponse } from "@b3dotfun/sdk/global-account/types/simplehash.types";
3
2
 
4
3
  interface AccountAssetsProps {
5
4
  nfts: SimpleHashNFTResponse;
6
5
  isLoading?: boolean;
7
6
  }
8
7
 
9
- interface GroupedNFTs {
10
- collection_id: string;
11
- collection_name: string;
12
- collection_image: string;
13
- nfts: NFT[];
14
- }
15
-
16
8
  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
-
22
9
  if (isLoading) {
23
10
  return (
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>
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" />
33
14
  ))}
34
15
  </div>
35
16
  );
@@ -39,100 +20,29 @@ export function AccountAssets({ nfts, isLoading }: AccountAssetsProps) {
39
20
  return <div className="text-b3-react-muted-foreground py-8 text-center">No NFTs found</div>;
40
21
  }
41
22
 
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
-
74
23
  return (
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
- )}
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>
133
43
  </div>
134
- );
135
- })}
44
+ </div>
45
+ ))}
136
46
  </div>
137
47
  );
138
48
  }