From 24bb18c77c58b7f47c9e493c1704be2a92baef74 Mon Sep 17 00:00:00 2001 From: Daniel Gonzalez Date: Wed, 25 Jun 2025 18:58:24 -0400 Subject: [PATCH] fix(user-data): Reconfigured user data page --- src/components/app-body/index.js | 2 +- .../app-body/nfts-for-sale/info-button.js | 2 +- src/components/app-body/user-data-review.js | 139 ++++++++++-------- 3 files changed, 79 insertions(+), 64 deletions(-) diff --git a/src/components/app-body/index.js b/src/components/app-body/index.js index 8a19a0a..2f14413 100644 --- a/src/components/app-body/index.js +++ b/src/components/app-body/index.js @@ -50,7 +50,7 @@ function AppBody (props) { } /> } /> } /> - } /> + } /> } /> {/** Show in all paths except the servers view */} diff --git a/src/components/app-body/nfts-for-sale/info-button.js b/src/components/app-body/nfts-for-sale/info-button.js index 6369754..99341af 100644 --- a/src/components/app-body/nfts-for-sale/info-button.js +++ b/src/components/app-body/nfts-for-sale/info-button.js @@ -102,7 +102,7 @@ function InfoButton (props) { User Data: { - const loadMedia = async () => { - setLoading(true) + const loadData = async () => { try { + const tokenData = await appData.wallet.getTokenData(tokenId) + + setTokenData(tokenData) + setLoading(true) + + if (!tokenData.mutableData) throw new Error('Mutable data not found') + + const cid = parseCid(tokenData.mutableData) + const { json } = await appData.wallet.cid2json({ cid }) const userDataString = json.userData + if (userDataString) { const userData = JSON.parse(userDataString) setMedia(userData.media) @@ -34,74 +43,80 @@ function UserDataReview (props) { } setLoading(false) } - loadMedia() - }, [cid, appData.wallet]) + loadData() + }, [tokenId, appData.wallet]) + + // Get Cid from url + const parseCid = (url) => { + // get the cid from the url format 'ipfs://bafybeicem27xbzs65uvbcgykcmscsgln3lmhbfrcoec3gdttkdgtxv5acq + if (url && url.includes('ipfs://')) { + const cid = url.split('ipfs://')[1] + return cid + } + return url + } return ( + {/** Error message */} {error &&

{error}

} - {loading - ? ( + + {/** Loading spinner */} + {loading && + (
Loading...
- ) - : ( - setActiveTab(k)} - className='mb-4' - > - - {media && media.length > 0 - ? ( -
- - {media.map((item, index) => ( - - {`Review - -

Image {index + 1} of {media.length}

-
-
- ))} -
- -
- ) - : ( -

No media content available

- )} -
- - {markdown - ? ( -
- {markdown} -
- ) - : ( -

No content available

- )} -
-
- )} + )} + {/** User data */} + {!loading && !error && ( +
+ {/** Name */} +

{tokenData.genesisData.name}

+ + {/** Media Content Carousel */} + {media && media.length > 0 + ? ( +
+ + {media.map((item, index) => ( + + {`Review + +

Image {index + 1} of {media.length}

+
+
+ ))} +
+ +
+ ) + : ( +

No media content available

+ )} + + {/** Markdown Content */} + {markdown + ? ( +
+ {markdown} +
+ ) + : ( +

No content available

+ )} +
+ )}