Our Mint Layout 
Let's start by creating a layout for our minting page. This will include a preview of the NFT the user will mint, the price of the NFT, and the user's balance.
Updating HelloPYUSD layout 
Let's update our main HelloPyusd component. Nothing fancy here, just some basic layout and a Mint component that we'll build next.
tsx
import { ConnectButton } from "@rainbow-me/rainbowkit";
import Mint from "./Mint";
export default function HelloPyusd() {
return (
    <div className='container max-w-4xl p-4 md:p-8 mx-auto flex flex-col min-h-screen gap-8'>
      <nav className='flex flex-row gap-4 items-center justify-between'>
        <div>
          <h1 className='text-xl font-black'>Hello PYUSD!</h1>
          <p className='text-sm text-gray-500'>Open edition PYUSD NFT</p>
        </div>
        <ConnectButton />
      </nav>
      <div className='flex-1'>
        <Mint /> {/* We'll build this next */}
      </div>
    </div>
  );
}The Mint component 
We'll start by creating a new component, src/components/Mint.tsx. This component will allow the user to preview the NFT they'll mint, then mint it.
tsx
import MintPreview from "./MintPreview";
import MintInfo from "./MintInfo";
import MintButton from "./MintButton";
export default function Mint() {
  return (
    <div className='flex flex-col md:flex-row gap-16 items-center'>
      <div className='w-full md:w-3/5'>
        <MintPreview />
      </div>
      <div className='w-full md:w-2/5 space-y-4'>
        <MintButton />
        <MintInfo />
      </div>
    </div>
  );
}We have three components to build here:
MintPreviewwill show a preview of the NFT the user will mint.MintButtonwill allow the user to mint the NFT.MintInfowill show the price of the NFT and the user's balance.
You can comment out the unfinished components to avoid errors for now.