11"use client" ;
2-
2+ import {
3+ Sheet ,
4+ SheetContent ,
5+ SheetHeader ,
6+ SheetTitle ,
7+ SheetTrigger ,
8+ } from "@/components/ui/sheet" ;
39import { MinterOnly } from "@3rdweb-sdk/react/components/roles/minter-only" ;
4- import { useDisclosure } from "@chakra-ui/react" ;
510import { PlusIcon } from "lucide-react" ;
11+ import { useState } from "react" ;
612import type { ThirdwebContract } from "thirdweb" ;
7- import { Button , Drawer } from "tw-components" ;
13+ import { Button } from "tw-components" ;
814import { SharedMetadataForm } from "./shared-metadata-form" ;
915
1016interface NFTSharedMetadataButtonProps {
@@ -14,26 +20,26 @@ interface NFTSharedMetadataButtonProps {
1420export const NFTSharedMetadataButton : React . FC <
1521 NFTSharedMetadataButtonProps
1622> = ( { contract, ...restButtonProps } ) => {
17- const { isOpen , onOpen , onClose } = useDisclosure ( ) ;
23+ const [ open , setOpen ] = useState ( false ) ;
1824 return (
1925 < MinterOnly contract = { contract } >
20- < Drawer
21- allowPinchZoom
22- preserveScrollBarGap
23- size = "lg "
24- onClose = { onClose }
25- isOpen = { isOpen }
26- >
27- < SharedMetadataForm contract = { contract } />
28- </ Drawer >
29- < Button
30- colorScheme = "primary"
31- leftIcon = { < PlusIcon className = "size-5" /> }
32- { ... restButtonProps }
33- onClick = { onOpen }
34- >
35- Set NFT Metadata
36- </ Button >
26+ < Sheet open = { open } onOpenChange = { setOpen } >
27+ < SheetTrigger asChild >
28+ < Button
29+ colorScheme = "primary "
30+ leftIcon = { < PlusIcon className = "size-5" /> }
31+ { ... restButtonProps }
32+ >
33+ Set NFT Metadata
34+ </ Button >
35+ </ SheetTrigger >
36+ < SheetContent className = "w-full overflow-y-auto sm:min-w-[540px] lg:min-w-[700px]" >
37+ < SheetHeader >
38+ < SheetTitle className = "text-left" > Set NFT Metadata </ SheetTitle >
39+ </ SheetHeader >
40+ < SharedMetadataForm contract = { contract } setOpen = { setOpen } / >
41+ </ SheetContent >
42+ </ Sheet >
3743 </ MinterOnly >
3844 ) ;
3945} ;
0 commit comments