Inventory page
Now that we have our two dialogs, we can include them in our ./pages/inventory.tsx page, followed by the owned token list.
We'll fetch the token list using inventory from the TzombiesContext.
Here's the breakdown of our component:
import { Alert, Button, Chip, Paper, Snackbar, Typography } from "@mui/material"
import React, { useCallback, useState } from "react"
import SellOutlinedIcon from "@mui/icons-material/SellOutlined"
import SendIcon from "@mui/icons-material/Send"
import { useWalletContext } from "../components/providers/WalletProvider"
import { TokenList } from "../components/Token"
import { useTzombiesContext } from "../components/providers/TzombiesProvider"
import ListingDialog from "../components/ListingDialog"
import { useMarketProviderContext } from "../components/providers/MarketProvider"
import Link from "next/link"
import TransferDialog from "../components/TransferDialog"The states:
const Inventory = () => {
const { balance, getBalance } = useWalletContext()
const { inventory, fetchInventory } = useTzombiesContext()
const { isApproved } = useMarketProviderContext()
const [listingFormOpen, setListingFormOpen] = useState<number>()
const [transferFormOpen, setTransferFormOpen] = useState<number>()
const [error, setError] = useState<string>()
...Refresh button:
Custom actions:
Let's add the token count as an extra chip:
And the page implementation:
Export the component:
Last updated