'use client'; import { CreateBondForm } from '@/app/(private)/admin/bonds/_components/create-form/form'; import { CreateCryptocurrencyForm } from '@/app/(private)/admin/cryptocurrencies/_components/create-form/form'; import { CreateEquityForm } from '@/app/(private)/admin/equities/_components/create-form/form'; import { CreateFundForm } from '@/app/(private)/admin/funds/_components/create-form/form'; import { CreateStablecoinForm } from '@/app/(private)/admin/stablecoins/_components/create-form/form'; import { Button } from '@/components/ui/button'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from '@/components/ui/sheet'; import { SidebarGroup, useSidebar } from '@/components/ui/sidebar'; import { assetConfig } from '@/lib/config/assets'; import { useState } from 'react'; import { FrameIcon } from '../ui/animated-icons/frame'; export function TokenDesignerButton() { const { state, isMobile } = useSidebar(); const [tokenType, setTokenType] = useState(null); return ( {state === 'expanded' ? ( ) : ( )} {Object.entries(assetConfig).map(([type, config]) => ( setTokenType(type as keyof typeof assetConfig)} className="dropdown-menu-item" > {config.name} ))} !open && setTokenType(null)}> {tokenType && ( <> Design a {assetConfig[tokenType].name} {assetConfig[tokenType].description} {(() => { switch (tokenType) { case 'cryptocurrency': return setTokenType(null)} />; case 'stablecoin': return setTokenType(null)} />; case 'equity': return setTokenType(null)} />; case 'bond': return setTokenType(null)} />; case 'fund': return setTokenType(null)} />; default: return null; } })()} )} ); }