import { Heading } from "grommet"; import React, { useEffect, useState } from "react"; import { useParams } from "react-router-dom"; import { getTokenERC1155Assets, getTokenERC721Assets } from "src/api/client"; import { IUserERC721Assets } from "src/api/client.interface"; import { BasePage } from "src/components/ui"; import { useERC1155Pool } from "src/hooks/ERC1155_Pool"; import { useERC721Pool } from "src/hooks/ERC721_Pool"; export function InventoryDetailsPage() { const erc721Map = useERC721Pool(); const erc1155Map = useERC1155Pool(); const [inventory, setInventory] = useState({} as any); // @ts-ignore const { address, tokenID, type } = useParams(); const item = erc721Map[address] || erc1155Map[address] || {}; const name = item.name || ""; useEffect(() => { const getInventory = async () => { try { if (type === "erc721" || type === "erc1155") { let inventory = type === "erc721" ? await getTokenERC721Assets([address]) : await getTokenERC1155Assets([address]); setInventory(inventory.filter((item) => item.tokenID === tokenID)[0]); } else { setInventory({} as any); } } catch (err) { setInventory({} as any); } }; getInventory(); }, [address]); let meta = ""; try { meta = JSON.stringify(inventory.meta, null, 4); } catch { meta = ""; } return ( <> {name} {tokenID} {inventory.meta?.name || ""}
{meta}
); }