{"version":3,"sources":["../src/utils/cn.ts","../src/components/UI/button.tsx","../src/components/UI/dialog.tsx","../src/components/connectWallet/modalComponent.tsx","../src/hooks/useWallet.tsx","../src/components/UI/dropdownMenu.tsx","../src/components/connectWallet/walletDropdown.tsx","../src/components/connectWallet/connectWallet.tsx","../src/components/UI/avatar.tsx","../src/components/UI/badge.tsx","../src/components/connectWallet/connectWalletAccount.tsx","../src/components/connectWallet/connectWalletAccountModal.tsx","../src/components/UI/sheet.tsx","../src/components/connectWallet/connectWalletSheet.tsx"],"names":["clsx","cva","React","Slot","jsx","DialogPrimitive","React2","jsxs","X","useChainId","useConnect","useAccount","useState","motion","Loader2","Check","ChevronRight","useDisconnect","DropdownMenuPrimitive","React4","Circle","Wallet","ChevronDown","Copy","ExternalLink","LogOut","useEffect","buttonVariants","Fragment","React5","AvatarPrimitive","useBalance","useCallback","address","ArrowRight","AnimatePresence","_a","CryptoIcon","SheetPrimitive","React6","Cross2Icon","LayoutGroup"],"mappings":"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","file":"index.cjs","sourcesContent":["import clsx from \"clsx\";\r\n\r\nexport function cn(...inputs: string[]) {\r\n  return clsx(inputs);\r\n}\r\n","/* eslint-disable @typescript-eslint/no-unsafe-assignment */\r\nimport * as React from \"react\";\r\nimport { Slot } from \"@radix-ui/react-slot\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\n\r\nimport { cn } from \"../../utils/cn\";\r\nconst buttonVariants = cva(\r\n  \"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\",\r\n  {\r\n    variants: {\r\n      variant: {\r\n        default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\r\n        destructive:\r\n          \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\r\n        outline:\r\n          \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\r\n        secondary:\r\n          \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\r\n        ghost: \"hover:bg-accent hover:text-accent-foreground\",\r\n        link: \"text-primary underline-offset-4 hover:underline\",\r\n      },\r\n      size: {\r\n        default: \"h-10 px-4 py-2\",\r\n        sm: \"h-9 rounded-md px-3\",\r\n        lg: \"h-11 rounded-md px-8\",\r\n        icon: \"h-10 w-10\",\r\n      },\r\n    },\r\n    defaultVariants: {\r\n      variant: \"default\",\r\n      size: \"default\",\r\n    },\r\n  }\r\n);\r\n\r\nexport interface ButtonProps\r\n  extends React.ButtonHTMLAttributes<HTMLButtonElement>,\r\n    VariantProps<typeof buttonVariants> {\r\n  asChild?: boolean;\r\n}\r\n\r\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\r\n  ({ className, variant, size, asChild = false, ...props }, ref) => {\r\n    const Comp = asChild ? Slot : \"button\";\r\n    return (\r\n      <Comp\r\n        className={cn(buttonVariants({ variant, size, className }))}\r\n        ref={ref}\r\n        {...props}\r\n      />\r\n    );\r\n  }\r\n);\r\nButton.displayName = \"Button\";\r\n\r\nexport { Button, buttonVariants };\r\n","\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\r\nimport { X } from \"lucide-react\";\r\nimport { cn } from \"../../utils/cn\";\r\n\r\nconst Dialog = DialogPrimitive.Root;\r\n\r\nconst DialogTrigger = DialogPrimitive.Trigger;\r\n\r\nconst DialogPortal = DialogPrimitive.Portal;\r\n\r\nconst DialogClose = DialogPrimitive.Close;\r\n\r\nconst DialogOverlay = React.forwardRef<\r\n  React.ElementRef<typeof DialogPrimitive.Overlay>,\r\n  React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\r\n>(({ className, ...props }, ref) => (\r\n  <DialogPrimitive.Overlay\r\n    ref={ref}\r\n    className={cn(\r\n      \"fixed inset-0 z-50 bg-black/60 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\r\n      className || \"\"\r\n    )}\r\n    {...props}\r\n  />\r\n));\r\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\r\n\r\nconst DialogContent = React.forwardRef<\r\n  React.ElementRef<typeof DialogPrimitive.Content>,\r\n  React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\r\n>(({ className, children, ...props }, ref) => (\r\n  <DialogPortal>\r\n    <DialogOverlay />\r\n    <DialogPrimitive.Content\r\n      ref={ref}\r\n      className={cn(\r\n        \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\r\n        className || \"\"\r\n      )}\r\n      {...props}\r\n    >\r\n      {children}\r\n      <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\r\n        <X className=\"h-4 w-4\" />\r\n        <span className=\"sr-only\">Close</span>\r\n      </DialogPrimitive.Close>\r\n    </DialogPrimitive.Content>\r\n  </DialogPortal>\r\n));\r\nDialogContent.displayName = DialogPrimitive.Content.displayName;\r\n\r\nconst DialogHeader = ({\r\n  className,\r\n  ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n  <div\r\n    className={cn(\r\n      \"flex flex-col space-y-1.5 text-center sm:text-left\",\r\n      className || \"\"\r\n    )}\r\n    {...props}\r\n  />\r\n);\r\nDialogHeader.displayName = \"DialogHeader\";\r\n\r\nconst DialogFooter = ({\r\n  className,\r\n  ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n  <div\r\n    className={cn(\r\n      \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\r\n      className || \"\"\r\n    )}\r\n    {...props}\r\n  />\r\n);\r\nDialogFooter.displayName = \"DialogFooter\";\r\n\r\nconst DialogTitle = React.forwardRef<\r\n  React.ElementRef<typeof DialogPrimitive.Title>,\r\n  React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\r\n>(({ className, ...props }, ref) => (\r\n  <DialogPrimitive.Title\r\n    ref={ref}\r\n    className={cn(\r\n      \"text-lg font-semibold leading-none tracking-tight\",\r\n      className || \"\"\r\n    )}\r\n    {...props}\r\n  />\r\n));\r\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\r\n\r\nconst DialogDescription = React.forwardRef<\r\n  React.ElementRef<typeof DialogPrimitive.Description>,\r\n  React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\r\n>(({ className, ...props }, ref) => (\r\n  <DialogPrimitive.Description\r\n    ref={ref}\r\n    className={cn(\"text-sm text-muted-foreground\", className || \"\")}\r\n    {...props}\r\n  />\r\n));\r\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\r\n\r\nexport {\r\n  Dialog,\r\n  DialogPortal,\r\n  DialogOverlay,\r\n  DialogClose,\r\n  DialogTrigger,\r\n  DialogContent,\r\n  DialogHeader,\r\n  DialogFooter,\r\n  DialogTitle,\r\n  DialogDescription,\r\n};\r\n","\"use client\";\r\n\r\nimport { motion } from \"framer-motion\";\r\nimport { Check, ChevronRight, Loader2, X } from \"lucide-react\";\r\nimport { useState } from \"react\";\r\nimport React from \"react\";\r\nimport { Button } from \"../UI/button\";\r\nimport {\r\n  Dialog,\r\n  DialogContent,\r\n  DialogDescription,\r\n  DialogHeader,\r\n  DialogTitle,\r\n} from \"../UI/dialog\";\r\nimport { useConnect, useAccount, useChainId } from \"wagmi\";\r\nimport MetaMask from \"../../images/metamask.svg\";\r\nimport Phantom from \"../../images/phantom.png\";\r\n// This is a placeholder component that you can replace with your actual modal component\r\nexport default function ModalComponent({\r\n  isModalOpen,\r\n  setIsModalOpen,\r\n}: {\r\n  isModalOpen: boolean;\r\n  setIsModalOpen: (isOpen: boolean) => void;\r\n}) {\r\n  const chainId = useChainId();\r\n  const { connectors, connect, isPending, isError, isSuccess } = useConnect();\r\n  const { isConnected } = useAccount();\r\n  const [selectedConnector, setSelectedConnector] = useState(\"\");\r\n\r\n  // Wallets soportadas y sus links de instalación\r\n  const supportedWallets = [\r\n    {\r\n      id: \"io.metamask\",\r\n      name: \"MetaMask\",\r\n      installUrl: \"https://metamask.io/download.html\",\r\n      icon: MetaMask as string,\r\n    },\r\n    {\r\n      id: \"app.phantom\",\r\n      name: \"Phantom\",\r\n      installUrl: \"https://phantom.app/download\",\r\n      icon: Phantom as string,\r\n    },\r\n    // Puedes agregar más wallets aquí si lo deseas\r\n  ];\r\n\r\n  // Detectar wallets faltantes\r\n  const availableConnectorIds = connectors.map((c) => c.id);\r\n  const missingWallets = supportedWallets.filter(\r\n    (wallet) => !availableConnectorIds.includes(wallet.id)\r\n  );\r\n\r\n  // Cierra el modal al conectar exitosamente\r\n  React.useEffect(() => {\r\n    if (isConnected && isModalOpen) {\r\n      setIsModalOpen(false);\r\n      setTimeout(() => setSelectedConnector(\"\"), 300);\r\n    }\r\n  }, [isConnected, isModalOpen, setIsModalOpen]);\r\n\r\n  // Animation variants\r\n  const containerVariants = {\r\n    hidden: { opacity: 0 },\r\n    visible: {\r\n      opacity: 1,\r\n      transition: {\r\n        staggerChildren: 0.1,\r\n      },\r\n    },\r\n  };\r\n\r\n  const itemVariants = {\r\n    hidden: { opacity: 0, y: 20 },\r\n    visible: {\r\n      opacity: 1,\r\n      y: 0,\r\n      transition: { type: \"spring\", stiffness: 300, damping: 24 },\r\n    },\r\n  };\r\n\r\n  return (\r\n    <Dialog open={isModalOpen} onOpenChange={setIsModalOpen}>\r\n      <DialogContent className=\"sm:max-w-md\">\r\n        <DialogHeader>\r\n          <motion.div\r\n            initial={{ y: -20, opacity: 0 }}\r\n            animate={{ y: 0, opacity: 1 }}\r\n            transition={{ type: \"spring\", stiffness: 300, damping: 20 }}\r\n          >\r\n            <DialogTitle className=\"text-center text-2xl font-bold\">\r\n              Connect Wallet\r\n            </DialogTitle>\r\n          </motion.div>\r\n          <motion.div\r\n            initial={{ opacity: 0 }}\r\n            animate={{ opacity: 1 }}\r\n            transition={{ delay: 0.2 }}\r\n          >\r\n            <DialogDescription className=\"text-center\">\r\n              Connect your wallet to get started\r\n            </DialogDescription>\r\n          </motion.div>\r\n        </DialogHeader>\r\n\r\n        <motion.div\r\n          variants={containerVariants}\r\n          initial=\"hidden\"\r\n          animate=\"visible\"\r\n          className=\"grid gap-3 py-4\"\r\n        >\r\n          {connectors.map((connector, index) => (\r\n            <motion.div\r\n              key={connector.id}\r\n              variants={itemVariants}\r\n              custom={index}\r\n              whileHover={{ scale: 1.02 }}\r\n              whileTap={{ scale: 0.98 }}\r\n            >\r\n              <Button\r\n                variant=\"outline\"\r\n                className=\"flex h-16 w-full items-center justify-between overflow-hidden rounded-xl border-orange-500/20 bg-white/50 p-0 hover:border-orange-500 hover:bg-orange-50/50 dark:border-orange-900/30 dark:bg-zinc-800/50 dark:hover:border-orange-700 dark:hover:bg-orange-950/20\"\r\n                onClick={() => {\r\n                  setSelectedConnector(connector.id);\r\n                  connect({ connector, chainId });\r\n                }}\r\n                disabled={isPending}\r\n              >\r\n                <div className=\"flex w-full flex-row items-center gap-3 px-4\">\r\n                  <motion.div\r\n                    className=\"relative flex h-10 w-10 items-center justify-center rounded-full p-2\"\r\n                    whileHover={{ rotate: [0, -10, 10, 0] }}\r\n                    transition={{ duration: 0.2 }}\r\n                  >\r\n                    <img\r\n                      src={connector.icon ?? \"/placeholder.svg\"}\r\n                      alt={connector.name}\r\n                      width={30}\r\n                      height={30}\r\n                      className=\"object-contain\"\r\n                    />\r\n                  </motion.div>\r\n                  <div className=\"flex h-full w-full items-center justify-start text-left\">\r\n                    <p className=\"font-mono text-sm font-medium\">\r\n                      {connector.name}\r\n                    </p>\r\n                  </div>\r\n                </div>\r\n                <div className=\"flex h-full items-center pr-4\">\r\n                  {isPending && selectedConnector === connector.id ? (\r\n                    <motion.div\r\n                      animate={{ rotate: 360 }}\r\n                      transition={{\r\n                        duration: 1,\r\n                        repeat: Number.POSITIVE_INFINITY,\r\n                        ease: \"linear\",\r\n                      }}\r\n                    >\r\n                      <Loader2 className=\"h-5 w-5 text-orange-500\" />\r\n                    </motion.div>\r\n                  ) : isSuccess && selectedConnector === connector.id ? (\r\n                    <motion.div\r\n                      initial={{ scale: 0 }}\r\n                      animate={{ scale: 1 }}\r\n                      transition={{\r\n                        type: \"spring\",\r\n                        stiffness: 500,\r\n                        damping: 15,\r\n                      }}\r\n                    >\r\n                      <Check className=\"h-5 w-5 text-green-500\" />\r\n                    </motion.div>\r\n                  ) : (\r\n                    <ChevronRight className=\"h-5 w-5 text-gray-400\" />\r\n                  )}\r\n                </div>\r\n              </Button>\r\n            </motion.div>\r\n          ))}\r\n\r\n          {/* Missing wallets section */}\r\n          {missingWallets.length > 0 && (\r\n            <motion.div variants={itemVariants} className=\"mt-4\">\r\n              <p className=\"text-sm font-light text-gray-600 dark:text-gray-400\">\r\n                Install a missing wallet to continue\r\n              </p>\r\n            </motion.div>\r\n          )}\r\n\r\n          {missingWallets.length > 0 && (\r\n            <motion.div\r\n              variants={containerVariants}\r\n              initial=\"hidden\"\r\n              animate=\"visible\"\r\n              className=\"mt-2 flex flex-col gap-2\"\r\n            >\r\n              {missingWallets.map((wallet, index) => (\r\n                <motion.div\r\n                  key={wallet.id}\r\n                  variants={itemVariants}\r\n                  custom={index}\r\n                  whileHover={{ scale: 1.02 }}\r\n                  whileTap={{ scale: 0.98 }}\r\n                >\r\n                  <Button\r\n                    variant=\"outline\"\r\n                    className=\"flex h-16 w-full items-center justify-between overflow-hidden rounded-xl border-orange-500/20 bg-white/50 p-0 hover:border-orange-500 hover:bg-orange-50/50 dark:border-orange-900/30 dark:bg-zinc-800/50 dark:hover:border-orange-700 dark:hover:bg-orange-950/20\"\r\n                    onClick={() => window.open(wallet.installUrl, \"_blank\")}\r\n                  >\r\n                    <div className=\"flex w-full flex-row items-center gap-3 px-4\">\r\n                      <motion.div\r\n                        className=\"relative flex h-10 w-10 items-center justify-center rounded-full bg-orange-100/50 p-2 dark:bg-orange-900/20\"\r\n                        whileHover={{ rotate: [0, -10, 10, 0] }}\r\n                        transition={{ duration: 0.5 }}\r\n                      >\r\n                        <img\r\n                          src={wallet.icon || \"/placeholder.svg\"}\r\n                          alt={wallet.name}\r\n                          width={30}\r\n                          height={30}\r\n                          className=\"object-contain\"\r\n                        />\r\n                      </motion.div>\r\n                      <div className=\"flex h-full w-full items-center justify-start text-left\">\r\n                        <p className=\"font-mono text-sm font-medium\">\r\n                          Install {wallet.name}\r\n                        </p>\r\n                      </div>\r\n                    </div>\r\n                    <div className=\"flex h-full items-center pr-4\">\r\n                      <ChevronRight className=\"h-5 w-5 text-gray-400\" />\r\n                    </div>\r\n                  </Button>\r\n                </motion.div>\r\n              ))}\r\n            </motion.div>\r\n          )}\r\n        </motion.div>\r\n\r\n        <motion.div\r\n          initial={{ opacity: 0, y: 10 }}\r\n          animate={{ opacity: 1, y: 0 }}\r\n          transition={{ delay: 0.5 }}\r\n          className=\"mt-2 flex justify-center\"\r\n        >\r\n          <Button\r\n            variant=\"ghost\"\r\n            className=\"text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200\"\r\n            onClick={() => setIsModalOpen(false)}\r\n          >\r\n            <X className=\"mr-2 h-4 w-4\" />\r\n            Cancel\r\n          </Button>\r\n        </motion.div>\r\n      </DialogContent>\r\n    </Dialog>\r\n  );\r\n}\r\n","import { useAccount, useConnect, useDisconnect } from \"wagmi\";\r\n\r\nexport function useWallet() {\r\n  const { address, isConnected } = useAccount();\r\n  const { disconnect } = useDisconnect();\r\n  const { connectors, connect, isPending, isError, isSuccess } = useConnect();\r\n\r\n  const truncateAddress = (addr: string) => {\r\n    return addr.slice(0, 6) + \"...\" + addr.slice(-4);\r\n  };\r\n\r\n  return {\r\n    address,\r\n    isConnected,\r\n    disconnect,\r\n    truncateAddress,\r\n    connectors,\r\n    connect,\r\n    isPending,\r\n    isError,\r\n    isSuccess,\r\n  };\r\n}\r\n","\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\r\nimport { Check, ChevronRight, Circle } from \"lucide-react\";\r\n\r\nimport { cn } from \"../../utils/cn\";\r\n\r\nconst DropdownMenu = DropdownMenuPrimitive.Root;\r\n\r\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\r\n\r\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\r\n\r\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\r\n\r\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\r\n\r\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\r\n\r\nconst DropdownMenuSubTrigger = React.forwardRef<\r\n  React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\r\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\r\n    inset?: boolean;\r\n  }\r\n>(({ className, inset, children, ...props }, ref) => (\r\n  <DropdownMenuPrimitive.SubTrigger\r\n    ref={ref}\r\n    className={cn(\r\n      \"focus:bg-accent data-[state=open]:bg-accent flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none\",\r\n      inset ? \"pl-8\" : \"\",\r\n      className || \"\"\r\n    )}\r\n    {...props}\r\n  >\r\n    {children}\r\n    <ChevronRight className=\"ml-auto h-4 w-4\" />\r\n  </DropdownMenuPrimitive.SubTrigger>\r\n));\r\nDropdownMenuSubTrigger.displayName =\r\n  DropdownMenuPrimitive.SubTrigger.displayName;\r\n\r\nconst DropdownMenuSubContent = React.forwardRef<\r\n  React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\r\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\r\n>(({ className, ...props }, ref) => (\r\n  <DropdownMenuPrimitive.SubContent\r\n    ref={ref}\r\n    className={cn(\r\n      \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg\",\r\n      className || \"\"\r\n    )}\r\n    {...props}\r\n  />\r\n));\r\nDropdownMenuSubContent.displayName =\r\n  DropdownMenuPrimitive.SubContent.displayName;\r\n\r\nconst DropdownMenuContent = React.forwardRef<\r\n  React.ElementRef<typeof DropdownMenuPrimitive.Content>,\r\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\r\n>(({ className, sideOffset = 4, ...props }, ref) => (\r\n  <DropdownMenuPrimitive.Portal>\r\n    <DropdownMenuPrimitive.Content\r\n      ref={ref}\r\n      sideOffset={sideOffset}\r\n      className={cn(\r\n        \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md\",\r\n        className || \"\"\r\n      )}\r\n      {...props}\r\n    />\r\n  </DropdownMenuPrimitive.Portal>\r\n));\r\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\r\n\r\nconst DropdownMenuItem = React.forwardRef<\r\n  React.ElementRef<typeof DropdownMenuPrimitive.Item>,\r\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\r\n    inset?: boolean;\r\n  }\r\n>(({ className, inset, ...props }, ref) => (\r\n  <DropdownMenuPrimitive.Item\r\n    ref={ref}\r\n    className={cn(\r\n      \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\r\n      (inset && \"pl-8\") || \"\",\r\n      className || \"\"\r\n    )}\r\n    {...props}\r\n  />\r\n));\r\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\r\n\r\nconst DropdownMenuCheckboxItem = React.forwardRef<\r\n  React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\r\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\r\n>(({ className, children, checked, ...props }, ref) => (\r\n  <DropdownMenuPrimitive.CheckboxItem\r\n    ref={ref}\r\n    className={cn(\r\n      \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\r\n      className || \"\"\r\n    )}\r\n    checked={checked}\r\n    {...props}\r\n  >\r\n    <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\r\n      <DropdownMenuPrimitive.ItemIndicator>\r\n        <Check className=\"h-4 w-4\" />\r\n      </DropdownMenuPrimitive.ItemIndicator>\r\n    </span>\r\n    {children}\r\n  </DropdownMenuPrimitive.CheckboxItem>\r\n));\r\nDropdownMenuCheckboxItem.displayName =\r\n  DropdownMenuPrimitive.CheckboxItem.displayName;\r\n\r\nconst DropdownMenuRadioItem = React.forwardRef<\r\n  React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\r\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\r\n>(({ className, children, ...props }, ref) => (\r\n  <DropdownMenuPrimitive.RadioItem\r\n    ref={ref}\r\n    className={cn(\r\n      \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\r\n      className || \"\"\r\n    )}\r\n    {...props}\r\n  >\r\n    <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\r\n      <DropdownMenuPrimitive.ItemIndicator>\r\n        <Circle className=\"h-2 w-2 fill-current\" />\r\n      </DropdownMenuPrimitive.ItemIndicator>\r\n    </span>\r\n    {children}\r\n  </DropdownMenuPrimitive.RadioItem>\r\n));\r\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\r\n\r\nconst DropdownMenuLabel = React.forwardRef<\r\n  React.ElementRef<typeof DropdownMenuPrimitive.Label>,\r\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\r\n    inset?: boolean;\r\n  }\r\n>(({ className, inset, ...props }, ref) => (\r\n  <DropdownMenuPrimitive.Label\r\n    ref={ref}\r\n    className={cn(\r\n      \"px-2 py-1.5 text-sm font-semibold\",\r\n      (inset && \"pl-8\") || \"\",\r\n      className || \"\"\r\n    )}\r\n    {...props}\r\n  />\r\n));\r\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\r\n\r\nconst DropdownMenuSeparator = React.forwardRef<\r\n  React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\r\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\r\n>(({ className, ...props }, ref) => (\r\n  <DropdownMenuPrimitive.Separator\r\n    ref={ref}\r\n    className={cn(\"bg-muted -mx-1 my-1 h-px\", className || \"\")}\r\n    {...props}\r\n  />\r\n));\r\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\r\n\r\nconst DropdownMenuShortcut = ({\r\n  className,\r\n  ...props\r\n}: React.HTMLAttributes<HTMLSpanElement>) => {\r\n  return (\r\n    <span\r\n      className={cn(\r\n        \"ml-auto text-xs tracking-widest opacity-60\",\r\n        className || \"\"\r\n      )}\r\n      {...props}\r\n    />\r\n  );\r\n};\r\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\r\n\r\nexport {\r\n  DropdownMenu,\r\n  DropdownMenuTrigger,\r\n  DropdownMenuContent,\r\n  DropdownMenuItem,\r\n  DropdownMenuCheckboxItem,\r\n  DropdownMenuRadioItem,\r\n  DropdownMenuLabel,\r\n  DropdownMenuSeparator,\r\n  DropdownMenuShortcut,\r\n  DropdownMenuGroup,\r\n  DropdownMenuPortal,\r\n  DropdownMenuSub,\r\n  DropdownMenuSubContent,\r\n  DropdownMenuSubTrigger,\r\n  DropdownMenuRadioGroup,\r\n};\r\n","import {\r\n  DropdownMenu,\r\n  DropdownMenuContent,\r\n  DropdownMenuItem,\r\n  DropdownMenuTrigger,\r\n} from \"../../components/UI/dropdownMenu\";\r\nimport { ChevronDown, Copy, ExternalLink, LogOut, Wallet } from \"lucide-react\";\r\nimport { Button } from \"../../components/UI/button\";\r\nimport { useWallet } from \"../../hooks/useWallet\";\r\n\r\nexport default function WalletDropdown() {\r\n  const { address, isConnected, disconnect, truncateAddress } = useWallet();\r\n\r\n  if (!isConnected) return null;\r\n\r\n  return (\r\n    <DropdownMenu>\r\n      <DropdownMenuTrigger asChild>\r\n        <Button className=\"h-12 w-[220px] justify-between rounded-xl bg-gradient-to-r from-[#F27405] to-[#FF9F45] font-mono text-base font-bold text-white shadow-lg transition-all duration-300 hover:from-[#D66400] hover:to-[#F27405] hover:shadow-xl\">\r\n          <Wallet className=\"mr-2 h-4 w-4\" />\r\n          {truncateAddress(address as string)}\r\n          <ChevronDown className=\"ml-2 h-4 w-4\" />\r\n        </Button>\r\n      </DropdownMenuTrigger>\r\n      <DropdownMenuContent className=\"w-56 rounded-lg border border-orange-100 bg-white/90 p-1 shadow-lg backdrop-blur-sm dark:border-zinc-800 dark:bg-zinc-900\">\r\n        <DropdownMenuItem\r\n          onClick={() => {\r\n            void navigator.clipboard.writeText(address as string);\r\n            console.log(\"Address copied!\");\r\n          }}\r\n        >\r\n          <Copy className=\"mr-2 h-4 w-4\" /> Copy Address\r\n        </DropdownMenuItem>\r\n        <DropdownMenuItem>\r\n          <ExternalLink className=\"mr-2 h-4 w-4\" /> View on Explorer\r\n        </DropdownMenuItem>\r\n        <DropdownMenuItem onClick={() => disconnect()} className=\"text-red-500\">\r\n          <LogOut className=\"mr-2 h-4 w-4\" /> Disconnect\r\n        </DropdownMenuItem>\r\n      </DropdownMenuContent>\r\n    </DropdownMenu>\r\n  );\r\n}\r\n","\"use client\";\r\n\r\nimport { Wallet } from \"lucide-react\";\r\nimport { useState, useEffect } from \"react\";\r\nimport { motion, AnimatePresence } from \"framer-motion\";\r\nimport ModalComponent from \"./modalComponent\";\r\nimport { useWallet } from \"../../hooks/useWallet\";\r\nimport WalletDropdown from \"./walletDropdown\";\r\n\r\nexport default function ConnectWallet() {\r\n  const [isModalOpen, setIsModalOpen] = useState(false);\r\n  const [hasAnimated, setHasAnimated] = useState(false);\r\n  const { isConnected } = useWallet();\r\n\r\n  useEffect(() => {\r\n    if (!hasAnimated) {\r\n      setHasAnimated(true);\r\n    }\r\n  }, [hasAnimated]);\r\n\r\n  // Animation variants\r\n  const buttonVariants = {\r\n    rest: { scale: 1 },\r\n    hover: {\r\n      scale: 1.05,\r\n      transition: { type: \"spring\", stiffness: 400, damping: 10 },\r\n    },\r\n    tap: { scale: 0.95 },\r\n  };\r\n\r\n  const glowVariants = {\r\n    rest: { opacity: 0 },\r\n    hover: {\r\n      opacity: 0.8,\r\n      transition: { duration: 0.3 },\r\n    },\r\n  };\r\n\r\n  return (\r\n    <>\r\n      <motion.div\r\n        initial={!hasAnimated ? { opacity: 0, y: -20 } : false}\r\n        animate={{ opacity: 1, y: 0 }}\r\n        transition={{ type: \"spring\", stiffness: 300, damping: 20 }}\r\n      >\r\n        {isConnected ? (\r\n          <WalletDropdown />\r\n        ) : (\r\n          <motion.div\r\n            initial=\"rest\"\r\n            whileHover=\"hover\"\r\n            whileTap=\"tap\"\r\n            animate=\"rest\"\r\n          >\r\n            <motion.button\r\n              variants={buttonVariants}\r\n              className=\"relative flex h-12 w-[220px] items-center justify-center overflow-hidden rounded-xl bg-gradient-to-r from-[#F27405] to-[#FF9F45] text-sm font-bold text-white shadow-lg transition-all duration-300 hover:from-[#D66400] hover:to-[#F27405] hover:shadow-xl\"\r\n              onClick={() => setIsModalOpen(true)}\r\n            >\r\n              <motion.div\r\n                className=\"absolute inset-0 rounded-xl bg-gradient-to-r from-orange-400 to-amber-500 opacity-0 blur-md\"\r\n                variants={glowVariants}\r\n              />\r\n              <span className=\"relative z-10 flex items-center\">\r\n                <motion.div\r\n                  initial={{ rotate: 0 }}\r\n                  animate={{ rotate: [0, 15, -15, 0] }}\r\n                  transition={{\r\n                    repeat: Number.POSITIVE_INFINITY,\r\n                    repeatDelay: 5,\r\n                    duration: 0.6,\r\n                  }}\r\n                >\r\n                  <Wallet className=\"mr-3 h-6 w-6\" />\r\n                </motion.div>\r\n                Connect Wallet\r\n              </span>\r\n            </motion.button>\r\n          </motion.div>\r\n        )}\r\n      </motion.div>\r\n\r\n      <ModalComponent\r\n        isModalOpen={isModalOpen}\r\n        setIsModalOpen={setIsModalOpen}\r\n      />\r\n    </>\r\n  );\r\n}\r\n","\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\r\nimport { cn } from \"../../utils/cn\";\r\n\r\nconst Avatar = React.forwardRef<\r\n  React.ElementRef<typeof AvatarPrimitive.Root>,\r\n  React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\r\n>(({ className, ...props }, ref) => (\r\n  <AvatarPrimitive.Root\r\n    ref={ref}\r\n    className={cn(\r\n      \"relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full\",\r\n      className || \"\"\r\n    )}\r\n    {...props}\r\n  />\r\n));\r\nAvatar.displayName = AvatarPrimitive.Root.displayName;\r\n\r\nconst AvatarImage = React.forwardRef<\r\n  React.ElementRef<typeof AvatarPrimitive.Image>,\r\n  React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\r\n>(({ className, ...props }, ref) => (\r\n  <AvatarPrimitive.Image\r\n    ref={ref}\r\n    className={cn(\"aspect-square h-full w-full\", className || \"\")}\r\n    {...props}\r\n  />\r\n));\r\nAvatarImage.displayName = AvatarPrimitive.Image.displayName;\r\n\r\nconst AvatarFallback = React.forwardRef<\r\n  React.ElementRef<typeof AvatarPrimitive.Fallback>,\r\n  React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\r\n>(({ className, ...props }, ref) => (\r\n  <AvatarPrimitive.Fallback\r\n    ref={ref}\r\n    className={cn(\r\n      \"bg-muted flex h-full w-full items-center justify-center rounded-full\",\r\n      className || \"\"\r\n    )}\r\n    {...props}\r\n  />\r\n));\r\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;\r\n\r\nexport { Avatar, AvatarImage, AvatarFallback };\r\n","import * as React from \"react\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\nimport { cn } from \"../../utils/cn\";\r\n\r\nconst badgeVariants = cva(\r\n  \"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\r\n  {\r\n    variants: {\r\n      variant: {\r\n        default:\r\n          \"border-transparent bg-primary text-primary-foreground hover:bg-primary/80\",\r\n        secondary:\r\n          \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\r\n        destructive:\r\n          \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80\",\r\n        outline: \"text-foreground\",\r\n      },\r\n    },\r\n    defaultVariants: {\r\n      variant: \"default\",\r\n    },\r\n  }\r\n);\r\n\r\nexport interface BadgeProps\r\n  extends React.HTMLAttributes<HTMLDivElement>,\r\n    VariantProps<typeof badgeVariants> {\r\n  className?: string;\r\n}\r\n\r\nfunction Badge({ className, variant, ...props }: BadgeProps) {\r\n  return (\r\n    <div\r\n      className={cn(badgeVariants({ variant }), className || \"\")}\r\n      {...props}\r\n    />\r\n  );\r\n}\r\n\r\nexport { Badge, badgeVariants };\r\n","\"use client\";\r\n\r\nimport { useState } from \"react\";\r\nimport { useAccount, useDisconnect } from \"wagmi\";\r\nimport { Avatar, AvatarFallback, AvatarImage } from \"../UI/avatar\";\r\nimport { Badge } from \"../UI/badge\";\r\nimport { Button } from \"../UI/button\";\r\n\r\nimport { Copy, ExternalLink, LogOut, Wallet } from \"lucide-react\";\r\nimport ModalComponent from \"./modalComponent\";\r\nimport { DropdownMenuItem, DropdownMenuSeparator } from \"../UI/dropdownMenu\";\r\nimport { DropdownMenuContent } from \"../UI/dropdownMenu\";\r\nimport { DropdownMenu, DropdownMenuTrigger } from \"../UI/dropdownMenu\";\r\n\r\nexport default function ConnectWalletAccount() {\r\n  const { address, isConnected } = useAccount();\r\n  const { disconnect } = useDisconnect();\r\n  const [isOpen, setIsOpen] = useState(false);\r\n  const [isModalOpen, setIsModalOpen] = useState(false);\r\n\r\n  const truncateAddress = (addr: string) => {\r\n    return addr.slice(0, 6) + \"...\" + addr.slice(-6);\r\n  };\r\n\r\n  const copyAddress = () => {\r\n    if (address) {\r\n      void navigator.clipboard.writeText(address);\r\n      console.log(\"Address Copied\");\r\n    }\r\n  };\r\n\r\n  const openEtherscan = () => {\r\n    if (address) {\r\n      window.open(`https://etherscan.io/address/${address}`, \"_blank\");\r\n    }\r\n  };\r\n\r\n  const handleDisconnect = () => {\r\n    disconnect();\r\n    setIsOpen(false);\r\n  };\r\n\r\n  return (\r\n    <>\r\n      {isConnected && address ? (\r\n        <DropdownMenu open={isOpen} onOpenChange={setIsOpen}>\r\n          <DropdownMenuTrigger asChild>\r\n            <div className=\"flex cursor-pointer items-center space-x-2 rounded-full border p-1\">\r\n              <Avatar>\r\n                <AvatarImage\r\n                  src=\"/placeholder.svg?height=40&width=40\"\r\n                  alt=\"Wallet\"\r\n                />\r\n                <AvatarFallback>W</AvatarFallback>\r\n              </Avatar>\r\n              <div>\r\n                <p className=\"text-sm font-medium\">Connected</p>\r\n                <p className=\"text-xs text-muted-foreground\">\r\n                  {truncateAddress(address)}\r\n                </p>\r\n              </div>\r\n              <Badge className=\"bg-primaryColor hover:bg-primaryColor/80 text-muted-foreground\">\r\n                Connected\r\n              </Badge>\r\n            </div>\r\n          </DropdownMenuTrigger>\r\n          <DropdownMenuContent className=\"w-60 rounded-lg border border-orange-100/20 p-1 shadow-lg backdrop-blur-sm\">\r\n            <DropdownMenuItem\r\n              onClick={() => {\r\n                navigator.clipboard\r\n                  .writeText(address as string)\r\n                  .then(() => {\r\n                    console.log(\"Address copied to clipboard\");\r\n                  })\r\n                  .catch(() => {\r\n                    console.log(\"Failed to copy address\");\r\n                  });\r\n              }}\r\n              className=\"flex cursor-pointer items-center rounded-md px-3 py-2 text-sm text-gray-700 hover:bg-orange-50 dark:text-zinc-300\"\r\n            >\r\n              <Copy className=\"mr-2 h-4 w-4 text-orange-500\" />\r\n              Copy Address\r\n            </DropdownMenuItem>\r\n            <DropdownMenuItem\r\n              onClick={() =>\r\n                window.open(`https://etherscan.io/address/${address}`, \"_blank\")\r\n              }\r\n              className=\"flex cursor-pointer items-center rounded-md px-3 py-2 text-sm text-gray-700 hover:bg-orange-50 dark:text-zinc-300\"\r\n            >\r\n              <ExternalLink className=\"mr-2 h-4 w-4 text-orange-500\" />\r\n              View on Explorer\r\n            </DropdownMenuItem>\r\n            <DropdownMenuSeparator className=\"my-1 border-orange-100\" />\r\n            <DropdownMenuItem\r\n              onClick={() => {\r\n                disconnect();\r\n              }}\r\n              className=\"flex cursor-pointer items-center rounded-md px-3 py-2 text-sm text-red-600 hover:bg-red-50\"\r\n            >\r\n              <LogOut className=\"mr-2 h-4 w-4\" />\r\n              Disconnect\r\n            </DropdownMenuItem>\r\n          </DropdownMenuContent>\r\n        </DropdownMenu>\r\n      ) : (\r\n        <Button\r\n          onClick={() => setIsModalOpen(true)}\r\n          className=\"h-12 w-[220px] rounded-xl border border-white/20 bg-transparent text-sm font-bold text-muted-foreground shadow-lg transition-all duration-300 hover:from-[#D66400] hover:to-[#F27405] hover:text-white hover:shadow-xl\"\r\n        >\r\n          <Wallet className=\"mr-3 h-4 w-4\" /> Connect Wallet\r\n        </Button>\r\n      )}\r\n\r\n      <ModalComponent\r\n        isModalOpen={isModalOpen}\r\n        setIsModalOpen={setIsModalOpen}\r\n      />\r\n    </>\r\n  );\r\n}\r\n","\"use client\";\r\n\r\nimport { useState, useEffect, useCallback } from \"react\";\r\nimport { Button } from \"../UI/button\";\r\nimport {\r\n  Dialog,\r\n  DialogContent,\r\n  DialogHeader,\r\n  DialogTitle,\r\n  DialogTrigger,\r\n} from \"../UI/dialog\";\r\nimport {\r\n  Loader2,\r\n  Copy,\r\n  LogOut,\r\n  ExternalLink,\r\n  ArrowRight,\r\n  Check,\r\n  Wallet,\r\n} from \"lucide-react\";\r\nimport { motion, AnimatePresence } from \"framer-motion\";\r\nimport {\r\n  useAccount,\r\n  useBalance,\r\n  useChainId,\r\n  useConnect,\r\n  useDisconnect,\r\n} from \"wagmi\";\r\nimport { CryptoIcon } from \"@ledgerhq/crypto-icons\";\r\nimport { Badge } from \"../UI/badge\";\r\n\r\nexport default function ConnectWalletAccountModal() {\r\n  const chainId = useChainId();\r\n  const { connectors, connect, isPending, isError, isSuccess } = useConnect();\r\n  const { disconnect } = useDisconnect();\r\n  const { isConnected, address } = useAccount();\r\n  const [isOpen, setIsOpen] = useState(false);\r\n  const [isCopied, setIsCopied] = useState(false);\r\n  const [hasAnimated, setHasAnimated] = useState(false);\r\n\r\n  const balance = useBalance({\r\n    address: address,\r\n  });\r\n\r\n  const [selectedConnector, setSelectedConnector] = useState<string | null>(\r\n    null\r\n  );\r\n\r\n  // Marcar que las animaciones ya se ejecutaron cuando el modal se abre\r\n  useEffect(() => {\r\n    if (isOpen && !hasAnimated) {\r\n      setHasAnimated(true);\r\n    }\r\n  }, [isOpen, hasAnimated]);\r\n\r\n  // Callbacks memoizados para evitar re-renders\r\n  const handleCopyAddress = useCallback(async () => {\r\n    await navigator.clipboard.writeText(address ?? \"\");\r\n    setIsCopied(true);\r\n    setTimeout(() => setIsCopied(false), 2000);\r\n  }, [address]);\r\n\r\n  const handleDisconnect = useCallback(() => {\r\n    disconnect();\r\n    setIsOpen(false);\r\n  }, [disconnect]);\r\n\r\n  const truncateAddress = (address: string) => {\r\n    return address.slice(0, 6) + \"...\" + address.slice(-4);\r\n  };\r\n\r\n  // Animation variants\r\n  const buttonVariants = {\r\n    rest: { scale: 1 },\r\n    hover: {\r\n      scale: 1.03,\r\n      transition: { type: \"spring\", stiffness: 400, damping: 10 },\r\n    },\r\n    tap: { scale: 0.97 },\r\n  };\r\n\r\n  const glowVariants = {\r\n    rest: { opacity: 0 },\r\n    hover: {\r\n      opacity: 0.5,\r\n      transition: { duration: 0.3 },\r\n    },\r\n  };\r\n\r\n  return (\r\n    <Dialog open={isOpen} onOpenChange={setIsOpen}>\r\n      <DialogTrigger asChild>\r\n        <motion.div\r\n          initial=\"rest\"\r\n          whileHover=\"hover\"\r\n          whileTap=\"tap\"\r\n          animate=\"rest\"\r\n        >\r\n          <motion.button\r\n            variants={buttonVariants}\r\n            className=\"group relative h-12 w-[220px] overflow-hidden rounded-xl border-4 border-[#F27405] bg-white text-sm font-bold text-[#F27405] shadow-lg transition-all duration-300 hover:bg-[#F27405] hover:text-white hover:shadow-xl\"\r\n          >\r\n            <motion.div\r\n              className=\"absolute inset-0 rounded-xl bg-gradient-to-r from-orange-400 to-amber-500 opacity-0 blur-md\"\r\n              variants={glowVariants}\r\n            />\r\n            <span className=\"relative z-10 flex w-full items-center justify-center\">\r\n              <motion.div\r\n                initial={{ rotate: 0 }}\r\n                animate={{ rotate: isConnected ? 0 : [0, 15, -15, 0] }}\r\n                transition={{\r\n                  repeat: isConnected ? 0 : Number.POSITIVE_INFINITY,\r\n                  repeatDelay: 5,\r\n                  duration: 0.6,\r\n                }}\r\n                className=\"mr-2\"\r\n              >\r\n                <Wallet className=\"h-5 w-5\" />\r\n              </motion.div>\r\n              {isConnected ? truncateAddress(address ?? \"\") : \"Connect Wallet\"}\r\n              <motion.div\r\n                className=\"ml-2\"\r\n                initial={{ x: 0 }}\r\n                animate={{ x: [0, 5, 0] }}\r\n                transition={{\r\n                  repeat: Number.POSITIVE_INFINITY,\r\n                  repeatDelay: 3,\r\n                  duration: 1,\r\n                }}\r\n              >\r\n                <ArrowRight className=\"h-5 w-5 transform transition-transform duration-300 group-hover:translate-x-1\" />\r\n              </motion.div>\r\n            </span>\r\n          </motion.button>\r\n        </motion.div>\r\n      </DialogTrigger>\r\n      <DialogContent className=\"w-[550px] overflow-hidden border-0 bg-white p-0 shadow-2xl dark:bg-zinc-900\">\r\n        <motion.div\r\n          className=\"absolute inset-0 -z-10 bg-gradient-to-br from-orange-50 via-white to-amber-50 opacity-80 dark:from-zinc-900 dark:via-zinc-900 dark:to-zinc-800\"\r\n          initial={{ opacity: 0 }}\r\n          animate={{ opacity: 0.8 }}\r\n          transition={{ duration: 0.5 }}\r\n        />\r\n\r\n        <motion.div\r\n          className=\"absolute -right-40 -top-40 h-80 w-80 rounded-full bg-orange-200 opacity-20 blur-3xl filter dark:bg-orange-900/20\"\r\n          initial={{ scale: 0 }}\r\n          animate={{ scale: 1 }}\r\n          transition={{ duration: 0.8, type: \"spring\" }}\r\n        />\r\n\r\n        <motion.div\r\n          className=\"absolute -bottom-40 -left-40 h-80 w-80 rounded-full bg-amber-200 opacity-20 blur-3xl filter dark:bg-amber-900/20\"\r\n          initial={{ scale: 0 }}\r\n          animate={{ scale: 1 }}\r\n          transition={{ duration: 0.8, delay: 0.2, type: \"spring\" }}\r\n        />\r\n\r\n        <DialogHeader className=\"relative overflow-hidden px-8 pt-8\">\r\n          {/* <motion.div\r\n            className=\"flex w-full flex-row items-center justify-center gap-2\"\r\n            initial={!hasAnimated ? { y: -20, opacity: 0 } : false}\r\n            animate={{ y: 0, opacity: 1 }}\r\n            transition={{ type: \"spring\", stiffness: 300, damping: 20 }}\r\n          >\r\n            <motion.span\r\n              className=\"bg-gradient-to-r from-orange-500 to-amber-500 bg-clip-text text-xl font-bold text-transparent\"\r\n              initial={!hasAnimated ? { scale: 0.8 } : false}\r\n              animate={{ scale: 1 }}\r\n              transition={{\r\n                type: \"spring\",\r\n                stiffness: 300,\r\n                damping: 20,\r\n                delay: !hasAnimated ? 0.1 : 0,\r\n              }}\r\n            >\r\n              Blockies\r\n            </motion.span>\r\n            <motion.div\r\n              initial={!hasAnimated ? { scale: 0, opacity: 0 } : false}\r\n              animate={{ scale: 1, opacity: 1 }}\r\n              transition={{\r\n                type: \"spring\",\r\n                stiffness: 300,\r\n                damping: 20,\r\n                delay: !hasAnimated ? 0.2 : 0,\r\n              }}\r\n            >\r\n              <Badge\r\n                variant=\"outline\"\r\n                className=\"border-orange-500 text-xs text-[#F27405]\"\r\n              >\r\n                Wallet\r\n              </Badge>\r\n            </motion.div>\r\n          </motion.div> */}\r\n\r\n          <motion.div\r\n            initial={!hasAnimated ? { opacity: 0, y: 10 } : false}\r\n            animate={{ opacity: 1, y: 0 }}\r\n            transition={{ delay: !hasAnimated ? 0.3 : 0, duration: 0.5 }}\r\n          >\r\n            <DialogTitle className=\"mt-4 text-center text-2xl font-light\">\r\n              {isConnected ? (\r\n                <span className=\"bg-gradient-to-r from-orange-500 to-amber-500 bg-clip-text text-transparent\">\r\n                  Your Wallet\r\n                </span>\r\n              ) : (\r\n                <span className=\"bg-gradient-to-r from-orange-500 to-amber-500 bg-clip-text text-transparent\">\r\n                  Connect Your Wallet\r\n                </span>\r\n              )}\r\n            </DialogTitle>\r\n            <p className=\"relative z-10 mt-2 text-center text-sm font-light text-zinc-500 dark:text-gray-400\">\r\n              {isConnected\r\n                ? \"Manage your connected wallet\"\r\n                : \"Choose your preferred wallet provider\"}\r\n            </p>\r\n          </motion.div>\r\n        </DialogHeader>\r\n        <AnimatePresence mode=\"wait\">\r\n          {!isConnected ? (\r\n            <motion.div\r\n              key=\"connect\"\r\n              initial={!hasAnimated ? { opacity: 0 } : false}\r\n              animate={{ opacity: 1 }}\r\n              exit={{ opacity: 0, y: -20 }}\r\n              className=\"grid gap-3 px-8 pb-8 pt-4\"\r\n            >\r\n              {connectors.map((connector, index) => (\r\n                <motion.div\r\n                  key={connector.id}\r\n                  initial={!hasAnimated ? { opacity: 0, y: 20 } : false}\r\n                  animate={{ opacity: 1, y: 0 }}\r\n                  transition={{\r\n                    delay: !hasAnimated ? index * 0.05 : 0,\r\n                    type: \"spring\",\r\n                    stiffness: 300,\r\n                    damping: 24,\r\n                  }}\r\n                  whileHover={{ scale: 1.02 }}\r\n                  whileTap={{ scale: 0.98 }}\r\n                >\r\n                  <Button\r\n                    variant=\"outline\"\r\n                    className=\"flex h-16 w-full items-center justify-between overflow-hidden rounded-xl border-orange-500/20 bg-white/50 p-0 hover:border-orange-500 hover:bg-orange-50/50 dark:border-orange-900/30 dark:bg-zinc-800/50 dark:hover:border-orange-700 dark:hover:bg-orange-950/20\"\r\n                    onClick={() => {\r\n                      setSelectedConnector(connector.id);\r\n                      connect({ connector, chainId });\r\n                    }}\r\n                    disabled={isPending}\r\n                  >\r\n                    <div className=\"flex w-full flex-row items-center gap-3 px-4\">\r\n                      <motion.div\r\n                        className=\"relative flex h-12 w-12 items-center justify-center rounded-full bg-orange-100/50 p-2 dark:bg-orange-900/20\"\r\n                        whileHover={{ rotate: [0, -10, 10, 0] }}\r\n                        transition={{ duration: 0.5 }}\r\n                      >\r\n                        <img\r\n                          src={connector.icon ?? \"/placeholder.svg\"}\r\n                          alt={connector.name}\r\n                          width={30}\r\n                          height={30}\r\n                          className=\"object-contain\"\r\n                        />\r\n                      </motion.div>\r\n                      <div className=\"flex h-full w-full items-center justify-start text-left\">\r\n                        <p className=\"font-mono text-sm font-medium\">\r\n                          {connector.name}\r\n                        </p>\r\n                      </div>\r\n                    </div>\r\n                    <div className=\"flex h-full items-center pr-4\">\r\n                      {isPending && selectedConnector === connector.id ? (\r\n                        <motion.div\r\n                          animate={{ rotate: 360 }}\r\n                          transition={{\r\n                            duration: 1,\r\n                            repeat: Number.POSITIVE_INFINITY,\r\n                            ease: \"linear\",\r\n                          }}\r\n                        >\r\n                          <Loader2 className=\"h-5 w-5 text-orange-500\" />\r\n                        </motion.div>\r\n                      ) : isSuccess && selectedConnector === connector.id ? (\r\n                        <motion.div\r\n                          initial={{ scale: 0 }}\r\n                          animate={{ scale: 1 }}\r\n                          transition={{\r\n                            type: \"spring\",\r\n                            stiffness: 500,\r\n                            damping: 15,\r\n                          }}\r\n                        >\r\n                          <Check className=\"h-5 w-5 text-green-500\" />\r\n                        </motion.div>\r\n                      ) : (\r\n                        <ArrowRight className=\"h-5 w-5 text-gray-400\" />\r\n                      )}\r\n                    </div>\r\n                  </Button>\r\n                </motion.div>\r\n              ))}\r\n\r\n              {/* Missing wallets section - can be added here */}\r\n              {connectors.length === 0 && (\r\n                <motion.div\r\n                  initial={!hasAnimated ? { opacity: 0, y: 20 } : false}\r\n                  animate={{ opacity: 1, y: 0 }}\r\n                  transition={{\r\n                    delay: !hasAnimated ? 0.1 : 0,\r\n                    type: \"spring\",\r\n                    stiffness: 300,\r\n                    damping: 24,\r\n                  }}\r\n                  className=\"mt-4 rounded-xl border border-orange-200 bg-orange-50 p-4 dark:border-orange-900/30 dark:bg-orange-900/10\"\r\n                >\r\n                  <p className=\"text-center text-sm text-orange-800 dark:text-orange-300\">\r\n                    No wallet providers detected. Please install a wallet\r\n                    extension.\r\n                  </p>\r\n                </motion.div>\r\n              )}\r\n            </motion.div>\r\n          ) : (\r\n            <motion.div\r\n              key=\"account\"\r\n              initial={!hasAnimated ? { opacity: 0, y: 20 } : false}\r\n              animate={{ opacity: 1, y: 0 }}\r\n              exit={{ opacity: 0, y: -20 }}\r\n              transition={{ type: \"spring\", stiffness: 300, damping: 20 }}\r\n              className=\"flex flex-col gap-6 px-8 pb-8 pt-4\"\r\n            >\r\n              <motion.div\r\n                className=\"overflow-hidden rounded-xl border border-orange-500/20 bg-gradient-to-br from-white to-orange-50 shadow-lg dark:from-zinc-900 dark:to-zinc-800\"\r\n                initial={!hasAnimated ? { y: 20, opacity: 0 } : false}\r\n                animate={{ y: 0, opacity: 1 }}\r\n                transition={{\r\n                  type: \"spring\",\r\n                  stiffness: 300,\r\n                  damping: 20,\r\n                  delay: !hasAnimated ? 0.1 : 0,\r\n                }}\r\n                whileHover={{\r\n                  boxShadow: \"0 10px 25px -5px rgba(242, 116, 5, 0.2)\",\r\n                  scale: 1.01,\r\n                  transition: { type: \"spring\", stiffness: 300, damping: 20 },\r\n                }}\r\n              >\r\n                <div className=\"mb-4 flex items-center justify-between p-4\">\r\n                  <div>\r\n                    <motion.p\r\n                      className=\"text-sm font-light text-gray-600 dark:text-gray-400\"\r\n                      initial={!hasAnimated ? { opacity: 0, x: -10 } : false}\r\n                      animate={{ opacity: 1, x: 0 }}\r\n                      transition={{ delay: !hasAnimated ? 0.15 : 0 }}\r\n                    >\r\n                      Your Wallet\r\n                    </motion.p>\r\n                    <motion.p\r\n                      className=\"mt-1 font-mono text-sm font-medium text-gray-800 dark:text-gray-200\"\r\n                      initial={!hasAnimated ? { opacity: 0, x: -10 } : false}\r\n                      animate={{ opacity: 1, x: 0 }}\r\n                      transition={{ delay: !hasAnimated ? 0.2 : 0 }}\r\n                    >\r\n                      {truncateAddress(address ?? \"\")}\r\n                    </motion.p>\r\n                  </div>\r\n                  <motion.div\r\n                    initial={!hasAnimated ? { opacity: 0, scale: 0.8 } : false}\r\n                    animate={{ opacity: 1, scale: 1 }}\r\n                    transition={{\r\n                      delay: !hasAnimated ? 0.25 : 0,\r\n                      type: \"spring\",\r\n                    }}\r\n                    whileHover={{ scale: 1.05 }}\r\n                    whileTap={{ scale: 0.95 }}\r\n                  >\r\n                    <Button\r\n                      variant=\"outline\"\r\n                      size=\"sm\"\r\n                      className=\"ml-4 overflow-hidden border-orange-500/20 text-xs text-gray-600 hover:bg-orange-50 dark:text-gray-400 dark:hover:bg-orange-950/20\"\r\n                      onClick={handleCopyAddress}\r\n                    >\r\n                      <AnimatePresence mode=\"wait\">\r\n                        {isCopied ? (\r\n                          <motion.div\r\n                            key=\"copied\"\r\n                            initial={{ opacity: 0, y: 10 }}\r\n                            animate={{ opacity: 1, y: 0 }}\r\n                            exit={{ opacity: 0, y: -10 }}\r\n                            className=\"flex items-center\"\r\n                          >\r\n                            <Check className=\"mr-1 h-3 w-3 text-green-500\" />\r\n                            Copied!\r\n                          </motion.div>\r\n                        ) : (\r\n                          <motion.div\r\n                            key=\"copy\"\r\n                            initial={{ opacity: 0, y: -10 }}\r\n                            animate={{ opacity: 1, y: 0 }}\r\n                            exit={{ opacity: 0, y: 10 }}\r\n                            className=\"flex items-center\"\r\n                          >\r\n                            <Copy className=\"mr-1 h-3 w-3\" />\r\n                            Copy Address\r\n                          </motion.div>\r\n                        )}\r\n                      </AnimatePresence>\r\n                    </Button>\r\n                  </motion.div>\r\n                </div>\r\n                <motion.div\r\n                  initial={!hasAnimated ? { opacity: 0, y: 10 } : false}\r\n                  animate={{ opacity: 1, y: 0 }}\r\n                  transition={{ delay: !hasAnimated ? 0.3 : 0 }}\r\n                  whileHover={{ backgroundColor: \"rgba(242, 116, 5, 0.1)\" }}\r\n                >\r\n                  <Button\r\n                    variant=\"ghost\"\r\n                    size=\"sm\"\r\n                    className=\"w-full rounded-none border-t border-orange-500/10 py-3 text-xs text-gray-600 hover:bg-orange-50/50 dark:text-gray-400 dark:hover:bg-orange-950/10\"\r\n                    onClick={() =>\r\n                      window.open(\r\n                        `https://etherscan.io/address/${address}`,\r\n                        \"_blank\"\r\n                      )\r\n                    }\r\n                  >\r\n                    <ExternalLink className=\"mr-2 h-3 w-3\" />\r\n                    View on Explorer\r\n                  </Button>\r\n                </motion.div>\r\n              </motion.div>\r\n\r\n              <motion.div\r\n                className=\"space-y-3\"\r\n                initial={!hasAnimated ? { opacity: 0 } : false}\r\n                animate={{ opacity: 1 }}\r\n                transition={{ delay: !hasAnimated ? 0.35 : 0 }}\r\n              >\r\n                <motion.h3\r\n                  className=\"mb-2 bg-gradient-to-r from-orange-500 to-amber-500 bg-clip-text text-lg font-semibold text-transparent\"\r\n                  initial={!hasAnimated ? { opacity: 0, y: 10 } : false}\r\n                  animate={{ opacity: 1, y: 0 }}\r\n                  transition={{\r\n                    delay: !hasAnimated ? 0.4 : 0,\r\n                    type: \"spring\",\r\n                  }}\r\n                >\r\n                  Assets\r\n                </motion.h3>\r\n\r\n                {balance.data === undefined ? (\r\n                  <motion.div\r\n                    initial={!hasAnimated ? { opacity: 0, y: 10 } : false}\r\n                    animate={{ opacity: 1, y: 0 }}\r\n                    transition={{\r\n                      type: \"spring\",\r\n                      stiffness: 300,\r\n                      damping: 20,\r\n                      delay: !hasAnimated ? 0.45 : 0,\r\n                    }}\r\n                    className=\"flex items-center justify-between rounded-xl border border-orange-500/20 bg-white p-4 shadow-sm transition-all duration-300 hover:border-orange-500/40 hover:shadow-md dark:border-orange-900/30 dark:bg-zinc-900 dark:hover:border-orange-700/40\"\r\n                    whileHover={{\r\n                      y: -2,\r\n                      transition: {\r\n                        type: \"spring\",\r\n                        stiffness: 300,\r\n                        damping: 20,\r\n                      },\r\n                    }}\r\n                  >\r\n                    <div className=\"flex items-center gap-3\">\r\n                      <motion.div\r\n                        className=\"rounded-full bg-orange-100 p-2 dark:bg-orange-900/30\"\r\n                        whileHover={{ rotate: 360 }}\r\n                        transition={{ duration: 0.8, ease: \"easeInOut\" }}\r\n                      >\r\n                        <CryptoIcon\r\n                          ledgerId=\"ethereum\"\r\n                          ticker=\"ETH\"\r\n                          size=\"24px\"\r\n                        />\r\n                      </motion.div>\r\n                      <div>\r\n                        <p className=\"text-sm font-medium text-gray-800 dark:text-gray-200\">\r\n                          ETH\r\n                        </p>\r\n                        <p className=\"text-xs text-gray-500 dark:text-gray-400\">\r\n                          Ethereum\r\n                        </p>\r\n                      </div>\r\n                    </div>\r\n                    <div className=\"text-right\">\r\n                      <p className=\"text-sm font-medium text-gray-800 dark:text-gray-200\">\r\n                        0.00\r\n                      </p>\r\n                      <p className=\"text-xs text-gray-500 dark:text-gray-400\">\r\n                        $0.00\r\n                      </p>\r\n                    </div>\r\n                  </motion.div>\r\n                ) : (\r\n                  <motion.div\r\n                    initial={!hasAnimated ? { opacity: 0, y: 10 } : false}\r\n                    animate={{ opacity: 1, y: 0 }}\r\n                    transition={{\r\n                      type: \"spring\",\r\n                      stiffness: 300,\r\n                      damping: 20,\r\n                      delay: !hasAnimated ? 0.45 : 0,\r\n                    }}\r\n                    className=\"flex items-center justify-between rounded-xl border border-orange-500/20 bg-white p-4 shadow-sm transition-all duration-300 hover:border-orange-500/40 hover:shadow-md dark:border-orange-900/30 dark:bg-zinc-900 dark:hover:border-orange-700/40\"\r\n                    whileHover={{\r\n                      y: -2,\r\n                      transition: {\r\n                        type: \"spring\",\r\n                        stiffness: 300,\r\n                        damping: 20,\r\n                      },\r\n                    }}\r\n                  >\r\n                    <div className=\"flex items-center gap-3\">\r\n                      <motion.div\r\n                        className=\"rounded-full bg-orange-100 p-2 dark:bg-orange-900/30\"\r\n                        whileHover={{ rotate: 360 }}\r\n                        transition={{ duration: 0.8, ease: \"easeInOut\" }}\r\n                      >\r\n                        {balance.data?.symbol === \"POL\" && (\r\n                          <CryptoIcon\r\n                            ledgerId=\"polygon\"\r\n                            ticker=\"MATIC\"\r\n                            size=\"24px\"\r\n                          />\r\n                        )}\r\n                        {balance.data?.symbol === \"ETH\" && (\r\n                          <CryptoIcon\r\n                            ledgerId=\"ethereum\"\r\n                            ticker=\"ETH\"\r\n                            size=\"24px\"\r\n                          />\r\n                        )}\r\n                      </motion.div>\r\n                      <div>\r\n                        <p className=\"text-sm font-medium text-gray-800 dark:text-gray-200\">\r\n                          {balance.data?.symbol ?? \"\"}\r\n                        </p>\r\n                        <p className=\"text-xs text-gray-500 dark:text-gray-400\">\r\n                          {balance.data?.symbol === \"ETH\"\r\n                            ? \"Ethereum\"\r\n                            : \"Polygon\"}\r\n                        </p>\r\n                      </div>\r\n                    </div>\r\n                    <div className=\"text-right\">\r\n                      <p className=\"text-sm font-medium text-gray-800 dark:text-gray-200\">\r\n                        {balance.data?.formatted.slice(0, 6) ?? \"\"}\r\n                      </p>\r\n                      <motion.p\r\n                        className=\"text-xs text-gray-500 dark:text-gray-400\"\r\n                        initial={!hasAnimated ? { opacity: 0 } : false}\r\n                        animate={{ opacity: 1 }}\r\n                        transition={{ delay: !hasAnimated ? 0.5 : 0 }}\r\n                      >\r\n                        $\r\n                        {(\r\n                          Number.parseFloat(balance.data?.formatted || \"0\") *\r\n                          3500\r\n                        ).toFixed(2)}\r\n                      </motion.p>\r\n                    </div>\r\n                  </motion.div>\r\n                )}\r\n              </motion.div>\r\n\r\n              <motion.div\r\n                initial={!hasAnimated ? { opacity: 0, y: 20 } : false}\r\n                animate={{ opacity: 1, y: 0 }}\r\n                transition={{\r\n                  delay: !hasAnimated ? 0.55 : 0,\r\n                  type: \"spring\",\r\n                }}\r\n                whileHover={{ scale: 1.02 }}\r\n                whileTap={{ scale: 0.98 }}\r\n              >\r\n                <Button\r\n                  onClick={handleDisconnect}\r\n                  variant=\"outline\"\r\n                  className=\"group relative w-full overflow-hidden rounded-xl border-red-600/30 bg-white text-black transition duration-300 hover:border-red-600 hover:text-white dark:border-red-900/30 dark:bg-zinc-900 dark:text-white dark:hover:border-red-700\"\r\n                >\r\n                  <span className=\"relative z-10 flex items-center\">\r\n                    <LogOut className=\"mr-2 h-4 w-4\" />\r\n                    Disconnect Wallet\r\n                  </span>\r\n                  <span className=\"absolute inset-0 -z-10 scale-x-0 transform bg-gradient-to-r from-red-600 to-red-500 transition-transform duration-300 group-hover:scale-x-100 dark:from-red-800 dark:to-red-700\"></span>\r\n                </Button>\r\n              </motion.div>\r\n            </motion.div>\r\n          )}\r\n        </AnimatePresence>\r\n      </DialogContent>\r\n    </Dialog>\r\n  );\r\n}\r\n","\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\";\r\nimport { Cross2Icon } from \"@radix-ui/react-icons\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\n\r\nimport { cn } from \"../../utils/cn\";\r\n\r\nconst Sheet = SheetPrimitive.Root;\r\n\r\nconst SheetTrigger = SheetPrimitive.Trigger;\r\n\r\nconst SheetClose = SheetPrimitive.Close;\r\n\r\nconst SheetPortal = SheetPrimitive.Portal;\r\n\r\nconst SheetOverlay = React.forwardRef<\r\n  React.Ref<typeof SheetPrimitive.Overlay>,\r\n  React.ComponentProps<typeof SheetPrimitive.Overlay>\r\n>(({ className, ...props }, ref) => (\r\n  <SheetPrimitive.Overlay\r\n    className={cn(\r\n      \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\r\n      className || \"\"\r\n    )}\r\n    {...props}\r\n    ref={ref as React.Ref<HTMLDivElement>}\r\n  />\r\n));\r\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\r\n\r\nconst sheetVariants = cva(\r\n  \"fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out\",\r\n  {\r\n    variants: {\r\n      side: {\r\n        top: \"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\r\n        bottom:\r\n          \"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\r\n        left: \"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm\",\r\n        right:\r\n          \"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm\",\r\n      },\r\n    },\r\n    defaultVariants: {\r\n      side: \"right\",\r\n    },\r\n  }\r\n);\r\n\r\ninterface SheetContentProps\r\n  extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\r\n    VariantProps<typeof sheetVariants> {}\r\n\r\nconst SheetContent = React.forwardRef<\r\n  React.ElementRef<typeof SheetPrimitive.Content>,\r\n  SheetContentProps\r\n>(\r\n  (\r\n    {\r\n      side = \"right\" as \"top\" | \"bottom\" | \"left\" | \"right\",\r\n      className,\r\n      children,\r\n      ...props\r\n    },\r\n    ref\r\n  ) => (\r\n    <SheetPortal>\r\n      <SheetOverlay />\r\n      <SheetPrimitive.Content\r\n        ref={ref}\r\n        className={cn(sheetVariants({ side }), className || \"\")}\r\n        {...props}\r\n      >\r\n        <SheetPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary\">\r\n          <Cross2Icon className=\"h-4 w-4\" />\r\n          <span className=\"sr-only\">Close</span>\r\n        </SheetPrimitive.Close>\r\n        {children}\r\n      </SheetPrimitive.Content>\r\n    </SheetPortal>\r\n  )\r\n);\r\nSheetContent.displayName = SheetPrimitive.Content.displayName;\r\n\r\nconst SheetHeader = ({\r\n  className,\r\n  ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n  <div\r\n    className={cn(\r\n      \"flex flex-col space-y-2 text-center sm:text-left\",\r\n      className || \"\"\r\n    )}\r\n    {...props}\r\n  />\r\n);\r\nSheetHeader.displayName = \"SheetHeader\";\r\n\r\nconst SheetFooter = ({\r\n  className,\r\n  ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n  <div\r\n    className={cn(\r\n      \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\r\n      className || \"\"\r\n    )}\r\n    {...props}\r\n  />\r\n);\r\nSheetFooter.displayName = \"SheetFooter\";\r\n\r\nconst SheetTitle = React.forwardRef<\r\n  React.ElementRef<typeof SheetPrimitive.Title>,\r\n  React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\r\n>(({ className, ...props }, ref) => (\r\n  <SheetPrimitive.Title\r\n    ref={ref}\r\n    className={cn(\"text-lg font-semibold text-foreground\", className || \"\")}\r\n    {...props}\r\n  />\r\n));\r\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\r\n\r\nconst SheetDescription = React.forwardRef<\r\n  React.ElementRef<typeof SheetPrimitive.Description>,\r\n  React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\r\n>(({ className, ...props }, ref) => (\r\n  <SheetPrimitive.Description\r\n    ref={ref}\r\n    className={cn(\"text-sm text-muted-foreground\", className || \"\")}\r\n    {...props}\r\n  />\r\n));\r\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\r\n\r\nexport {\r\n  Sheet,\r\n  SheetPortal,\r\n  SheetOverlay,\r\n  SheetTrigger,\r\n  SheetClose,\r\n  SheetContent,\r\n  SheetHeader,\r\n  SheetFooter,\r\n  SheetTitle,\r\n  SheetDescription,\r\n};\r\n","/* eslint-disable @typescript-eslint/no-unsafe-assignment */\r\n\"use client\";\r\n\r\nimport {\r\n  Check,\r\n  Copy,\r\n  ExternalLink,\r\n  Loader2,\r\n  LogOut,\r\n  Wallet,\r\n  ChevronRight,\r\n} from \"lucide-react\";\r\nimport React, { useState, useEffect, useCallback } from \"react\";\r\nimport {\r\n  useAccount,\r\n  useBalance,\r\n  useChainId,\r\n  useConnect,\r\n  useDisconnect,\r\n} from \"wagmi\";\r\nimport { Button } from \"../UI/button\";\r\nimport {\r\n  Sheet,\r\n  SheetContent,\r\n  SheetDescription,\r\n  SheetHeader,\r\n  SheetTitle,\r\n  SheetTrigger,\r\n} from \"../UI/sheet\";\r\nimport { motion, AnimatePresence, LayoutGroup } from \"framer-motion\";\r\nimport { Badge } from \"../UI/badge\";\r\nimport MetaMask from \"../../images/metamask.svg\";\r\nimport Phantom from \"../../images/phantom.png\";\r\nimport { CryptoIcon } from \"@ledgerhq/crypto-icons\";\r\n\r\nexport default function ConnectWalletSheet() {\r\n  const chainId = useChainId();\r\n  const { connectors, connect, isPending, isError, isSuccess } = useConnect();\r\n  const { disconnect } = useDisconnect();\r\n  const { isConnected, address } = useAccount();\r\n\r\n  const balance = useBalance({ address });\r\n\r\n  const [selectedConnector, setSelectedConnector] = useState(\"\");\r\n  const [isCopied, setIsCopied] = useState(false);\r\n  const [isSheetOpen, setIsSheetOpen] = useState(false);\r\n  const [hasAnimated, setHasAnimated] = useState(false);\r\n\r\n  // Marcar que las animaciones ya se ejecutaron cuando el sheet se abre\r\n  useEffect(() => {\r\n    if (isSheetOpen && !hasAnimated) {\r\n      setHasAnimated(true);\r\n    }\r\n  }, [isSheetOpen, hasAnimated]);\r\n\r\n  // Callbacks memoizados para evitar re-renders\r\n  const handleCopyAddress = useCallback(async () => {\r\n    await navigator.clipboard.writeText(address ?? \"\");\r\n    setIsCopied(true);\r\n    setTimeout(() => setIsCopied(false), 2000);\r\n  }, [address]);\r\n\r\n  const handleDisconnect = useCallback(() => {\r\n    disconnect();\r\n    setIsSheetOpen(false);\r\n  }, [disconnect]);\r\n\r\n  // Wallets soportadas y sus links de instalación\r\n  const supportedWallets = [\r\n    {\r\n      id: \"io.metamask\",\r\n      name: \"MetaMask\",\r\n      installUrl: \"https://metamask.io/download.html\",\r\n      icon: MetaMask as string,\r\n    },\r\n    {\r\n      id: \"app.phantom\",\r\n      name: \"Phantom\",\r\n      installUrl: \"https://phantom.app/download\",\r\n      icon: Phantom as string,\r\n    },\r\n    // Add more wallets here if you want\r\n  ];\r\n\r\n  // Detect missing wallets\r\n  const availableConnectorIds = connectors.map((c) => c.id);\r\n  const missingWallets = supportedWallets.filter(\r\n    (wallet) => !availableConnectorIds.includes(wallet.id)\r\n  );\r\n\r\n  const truncateAddress = (addr: string) => {\r\n    return addr.slice(0, 6) + \"...\" + addr.slice(-4);\r\n  };\r\n\r\n  // Animation variants\r\n  const buttonVariants = {\r\n    rest: { scale: 1 },\r\n    hover: {\r\n      scale: 1.02,\r\n      transition: { type: \"spring\", stiffness: 220, damping: 15 },\r\n    },\r\n    tap: { scale: 0.95 },\r\n  };\r\n\r\n  return (\r\n    <Sheet open={isSheetOpen} onOpenChange={setIsSheetOpen}>\r\n      <SheetTrigger asChild>\r\n        <motion.div\r\n          initial=\"rest\"\r\n          whileHover=\"hover\"\r\n          whileTap=\"tap\"\r\n          animate=\"rest\"\r\n        >\r\n          <motion.button\r\n            variants={buttonVariants}\r\n            className=\"relative h-12 w-[220px] overflow-hidden rounded-xl border border-[#F27405]/20 bg-white font-bold text-[#F27405] shadow-lg transition-colors dark:bg-zinc-900\"\r\n          >\r\n            <span className=\"relative z-10 flex w-full items-center justify-center\">\r\n              <motion.div\r\n                initial={{ rotate: 0 }}\r\n                animate={{ rotate: isConnected ? 0 : [0, 15, -15, 0] }}\r\n                transition={{\r\n                  repeat: isConnected ? 0 : Number.POSITIVE_INFINITY,\r\n                  repeatDelay: 5,\r\n                  duration: 0.6,\r\n                }}\r\n              >\r\n                <Wallet className=\"mr-3 h-5 w-5\" />\r\n              </motion.div>\r\n              {isConnected ? truncateAddress(address ?? \"\") : \"Connect Wallet\"}\r\n            </span>\r\n          </motion.button>\r\n        </motion.div>\r\n      </SheetTrigger>\r\n      <SheetContent\r\n        side=\"right\"\r\n        className=\"w-[400px] border-l border-orange-900/20 bg-white/95 backdrop-blur-sm dark:bg-zinc-900/95 sm:w-[540px]\"\r\n      >\r\n        <SheetHeader className=\"flex flex-col gap-2\">\r\n          <SheetTitle className=\"text-3xl font-light text-black dark:text-orange-100\">\r\n            <motion.div\r\n              className=\"flex w-full flex-row items-center justify-center gap-2\"\r\n              initial={!hasAnimated ? { y: -20, opacity: 0 } : false}\r\n              animate={{ y: 0, opacity: 1 }}\r\n              transition={{ type: \"spring\", stiffness: 300, damping: 20 }}\r\n            >\r\n              <motion.span\r\n                className=\"text-xl font-bold\"\r\n                initial={!hasAnimated ? { scale: 0.8 } : false}\r\n                animate={{ scale: 1 }}\r\n                transition={{\r\n                  type: \"spring\",\r\n                  stiffness: 300,\r\n                  damping: 20,\r\n                  delay: !hasAnimated ? 0.1 : 0,\r\n                }}\r\n              >\r\n                Blockies\r\n              </motion.span>\r\n              <motion.div\r\n                initial={!hasAnimated ? { scale: 0, opacity: 0 } : false}\r\n                animate={{ scale: 1, opacity: 1 }}\r\n                transition={{\r\n                  type: \"spring\",\r\n                  stiffness: 300,\r\n                  damping: 20,\r\n                  delay: !hasAnimated ? 0.2 : 0,\r\n                }}\r\n                className=\"flex\"\r\n              >\r\n                <Badge\r\n                  variant={\"outline\"}\r\n                  className=\"border-orange-500 text-xs text-[#F27405]\"\r\n                >\r\n                  Wallet\r\n                </Badge>\r\n              </motion.div>\r\n            </motion.div>\r\n          </SheetTitle>\r\n          <SheetDescription className=\"text-base font-light text-black dark:text-zinc-300\">\r\n            <motion.span\r\n              initial={!hasAnimated ? { opacity: 0 } : false}\r\n              animate={{ opacity: 1 }}\r\n              transition={{ delay: !hasAnimated ? 0.3 : 0 }}\r\n            >\r\n              {isConnected\r\n                ? \"Manage your connected wallet\"\r\n                : \"Connect your wallet to get started\"}\r\n            </motion.span>\r\n          </SheetDescription>\r\n        </SheetHeader>\r\n        <div className=\"pt-6\">\r\n          <AnimatePresence mode=\"wait\">\r\n            {!isConnected ? (\r\n              <motion.div\r\n                key=\"connect\"\r\n                initial={!hasAnimated ? { opacity: 0 } : false}\r\n                animate={{ opacity: 1 }}\r\n                exit={{ opacity: 0, y: -20 }}\r\n                className=\"grid gap-3\"\r\n              >\r\n                {connectors.map((connector, index) => (\r\n                  <motion.div\r\n                    key={connector.id}\r\n                    initial={!hasAnimated ? { opacity: 0, y: 20 } : false}\r\n                    animate={{ opacity: 1, y: 0 }}\r\n                    transition={{\r\n                      type: \"spring\",\r\n                      stiffness: 300,\r\n                      damping: 24,\r\n                      delay: !hasAnimated ? index * 0.1 : 0,\r\n                    }}\r\n                    whileHover={{ scale: 1.02 }}\r\n                    whileTap={{ scale: 0.98 }}\r\n                  >\r\n                    <Button\r\n                      variant=\"outline\"\r\n                      className=\"flex h-16 w-full items-center justify-between overflow-hidden rounded-xl border-orange-500/20 bg-white/50 p-0 hover:border-orange-500 hover:bg-orange-50/50 dark:border-orange-900/30 dark:bg-zinc-800/50 dark:hover:border-orange-700 dark:hover:bg-orange-950/20\"\r\n                      onClick={() => {\r\n                        setSelectedConnector(connector.id);\r\n                        connect({ connector, chainId });\r\n                      }}\r\n                      disabled={isPending}\r\n                    >\r\n                      <div className=\"flex w-full flex-row items-center gap-3 px-4\">\r\n                        <motion.div\r\n                          className=\"relative flex h-10 w-10 items-center justify-center rounded-full bg-orange-100/50 p-2 dark:bg-orange-900/20\"\r\n                          whileHover={{ rotate: [0, -10, 10, 0] }}\r\n                          transition={{ duration: 0.5 }}\r\n                        >\r\n                          <img\r\n                            src={connector.icon ?? \"/placeholder.svg\"}\r\n                            alt={connector.name}\r\n                            width={30}\r\n                            height={30}\r\n                            className=\"object-contain\"\r\n                          />\r\n                        </motion.div>\r\n                        <div className=\"flex h-full w-full items-center justify-start text-left\">\r\n                          <p className=\"font-mono text-sm font-medium\">\r\n                            {connector.name}\r\n                          </p>\r\n                        </div>\r\n                      </div>\r\n                      <div className=\"flex h-full items-center pr-4\">\r\n                        {isPending && selectedConnector === connector.id ? (\r\n                          <motion.div\r\n                            animate={{ rotate: 360 }}\r\n                            transition={{\r\n                              duration: 1,\r\n                              repeat: Number.POSITIVE_INFINITY,\r\n                              ease: \"linear\",\r\n                            }}\r\n                          >\r\n                            <Loader2 className=\"h-5 w-5 text-orange-500\" />\r\n                          </motion.div>\r\n                        ) : isSuccess && selectedConnector === connector.id ? (\r\n                          <motion.div\r\n                            initial={{ scale: 0 }}\r\n                            animate={{ scale: 1 }}\r\n                            transition={{\r\n                              type: \"spring\",\r\n                              stiffness: 500,\r\n                              damping: 15,\r\n                            }}\r\n                          >\r\n                            <Check className=\"h-5 w-5 text-green-500\" />\r\n                          </motion.div>\r\n                        ) : (\r\n                          <ChevronRight className=\"h-5 w-5 text-gray-400\" />\r\n                        )}\r\n                      </div>\r\n                    </Button>\r\n                  </motion.div>\r\n                ))}\r\n\r\n                {/* Install missing wallets buttons */}\r\n                {missingWallets.length > 0 && (\r\n                  <motion.div\r\n                    initial={!hasAnimated ? { opacity: 0, y: 20 } : false}\r\n                    animate={{ opacity: 1, y: 0 }}\r\n                    transition={{\r\n                      delay: !hasAnimated ? connectors.length * 0.1 : 0,\r\n                    }}\r\n                    className=\"mt-4\"\r\n                  >\r\n                    <p className=\"text-sm font-light text-gray-600 dark:text-gray-400\">\r\n                      Install a missing wallet to continue\r\n                    </p>\r\n                  </motion.div>\r\n                )}\r\n                {missingWallets.length > 0 && (\r\n                  <motion.div\r\n                    initial={!hasAnimated ? { opacity: 0 } : false}\r\n                    animate={{ opacity: 1 }}\r\n                    className=\"mt-2 flex flex-col gap-2\"\r\n                  >\r\n                    {missingWallets.map((wallet, index) => (\r\n                      <motion.div\r\n                        key={wallet.id}\r\n                        initial={!hasAnimated ? { opacity: 0, y: 20 } : false}\r\n                        animate={{ opacity: 1, y: 0 }}\r\n                        transition={{\r\n                          type: \"spring\",\r\n                          stiffness: 300,\r\n                          damping: 24,\r\n                          delay: !hasAnimated\r\n                            ? (connectors.length + index) * 0.1\r\n                            : 0,\r\n                        }}\r\n                        whileHover={{ scale: 1.02 }}\r\n                        whileTap={{ scale: 0.98 }}\r\n                      >\r\n                        <Button\r\n                          variant=\"outline\"\r\n                          className=\"flex h-16 w-full items-center justify-between overflow-hidden rounded-xl border-orange-500/20 bg-white/50 p-0 hover:border-orange-500 hover:bg-orange-50/50 dark:border-orange-900/30 dark:bg-zinc-800/50 dark:hover:border-orange-700 dark:hover:bg-orange-950/20\"\r\n                          onClick={() =>\r\n                            window.open(wallet.installUrl, \"_blank\")\r\n                          }\r\n                        >\r\n                          <div className=\"flex w-full flex-row items-center gap-3 px-4\">\r\n                            <motion.div\r\n                              className=\"relative flex h-10 w-10 items-center justify-center rounded-full bg-orange-100/50 p-2 dark:bg-orange-900/20\"\r\n                              whileHover={{ rotate: [0, -10, 10, 0] }}\r\n                              transition={{ duration: 0.5 }}\r\n                            >\r\n                              <img\r\n                                src={wallet.icon || \"/placeholder.svg\"}\r\n                                alt={wallet.name}\r\n                                width={30}\r\n                                height={30}\r\n                                className=\"object-contain\"\r\n                              />\r\n                            </motion.div>\r\n                            <div className=\"flex h-full w-full items-center justify-start text-left\">\r\n                              <p className=\"font-mono text-sm font-medium\">\r\n                                Install {wallet.name}\r\n                              </p>\r\n                            </div>\r\n                          </div>\r\n                          <div className=\"flex h-full items-center pr-4\">\r\n                            <ExternalLink className=\"h-4 w-4 text-gray-400\" />\r\n                          </div>\r\n                        </Button>\r\n                      </motion.div>\r\n                    ))}\r\n                  </motion.div>\r\n                )}\r\n              </motion.div>\r\n            ) : (\r\n              <motion.div\r\n                key=\"account\"\r\n                initial={!hasAnimated ? { opacity: 0, y: 20 } : false}\r\n                animate={{ opacity: 1, y: 0 }}\r\n                exit={{ opacity: 0, y: -20 }}\r\n                transition={{ type: \"spring\", stiffness: 300, damping: 20 }}\r\n                className=\"flex flex-col gap-6\"\r\n              >\r\n                <motion.div\r\n                  className=\"overflow-hidden rounded-xl border border-orange-500/20 bg-gradient-to-br from-white to-orange-50 shadow-lg dark:from-zinc-900 dark:to-zinc-800\"\r\n                  initial={!hasAnimated ? { y: 20, opacity: 0 } : false}\r\n                  animate={{ y: 0, opacity: 1 }}\r\n                  transition={{\r\n                    type: \"spring\",\r\n                    stiffness: 300,\r\n                    damping: 20,\r\n                    delay: !hasAnimated ? 0.1 : 0,\r\n                  }}\r\n                  whileHover={{\r\n                    boxShadow: \"0 10px 25px -5px rgba(242, 116, 5, 0.2)\",\r\n                    scale: 1.01,\r\n                    transition: { type: \"spring\", stiffness: 300, damping: 20 },\r\n                  }}\r\n                >\r\n                  <div className=\"mb-4 flex items-center justify-between p-4\">\r\n                    <div>\r\n                      <motion.p\r\n                        className=\"text-sm font-light text-gray-600 dark:text-gray-400\"\r\n                        initial={!hasAnimated ? { opacity: 0, x: -10 } : false}\r\n                        animate={{ opacity: 1, x: 0 }}\r\n                        transition={{ delay: !hasAnimated ? 0.15 : 0 }}\r\n                      >\r\n                        Your Wallet\r\n                      </motion.p>\r\n                      <motion.p\r\n                        className=\"mt-1 font-mono text-sm font-medium text-gray-800 dark:text-gray-200\"\r\n                        initial={!hasAnimated ? { opacity: 0, x: -10 } : false}\r\n                        animate={{ opacity: 1, x: 0 }}\r\n                        transition={{ delay: !hasAnimated ? 0.2 : 0 }}\r\n                      >\r\n                        {truncateAddress(address ?? \"\")}\r\n                      </motion.p>\r\n                    </div>\r\n                    <motion.div\r\n                      initial={\r\n                        !hasAnimated ? { opacity: 0, scale: 0.8 } : false\r\n                      }\r\n                      animate={{ opacity: 1, scale: 1 }}\r\n                      transition={{\r\n                        delay: !hasAnimated ? 0.25 : 0,\r\n                        type: \"spring\",\r\n                      }}\r\n                      whileHover={{ scale: 1.05 }}\r\n                      whileTap={{ scale: 0.95 }}\r\n                    >\r\n                      <Button\r\n                        variant=\"outline\"\r\n                        size=\"sm\"\r\n                        className=\"ml-4 overflow-hidden border-orange-500/20 text-xs text-gray-600 hover:bg-orange-50 dark:text-gray-400 dark:hover:bg-orange-950/20\"\r\n                        onClick={handleCopyAddress}\r\n                      >\r\n                        <AnimatePresence mode=\"wait\">\r\n                          {isCopied ? (\r\n                            <motion.div\r\n                              key=\"copied\"\r\n                              initial={{ opacity: 0, y: 10 }}\r\n                              animate={{ opacity: 1, y: 0 }}\r\n                              exit={{ opacity: 0, y: -10 }}\r\n                              className=\"flex items-center\"\r\n                            >\r\n                              <Check className=\"mr-1 h-3 w-3 text-green-500\" />\r\n                              Copied!\r\n                            </motion.div>\r\n                          ) : (\r\n                            <motion.div\r\n                              key=\"copy\"\r\n                              initial={{ opacity: 0, y: -10 }}\r\n                              animate={{ opacity: 1, y: 0 }}\r\n                              exit={{ opacity: 0, y: 10 }}\r\n                              className=\"flex items-center\"\r\n                            >\r\n                              <Copy className=\"mr-1 h-3 w-3\" />\r\n                              Copy Address\r\n                            </motion.div>\r\n                          )}\r\n                        </AnimatePresence>\r\n                      </Button>\r\n                    </motion.div>\r\n                  </div>\r\n                  <motion.div\r\n                    initial={!hasAnimated ? { opacity: 0, y: 10 } : false}\r\n                    animate={{ opacity: 1, y: 0 }}\r\n                    transition={{ delay: !hasAnimated ? 0.3 : 0 }}\r\n                    whileHover={{ backgroundColor: \"rgba(242, 116, 5, 0.1)\" }}\r\n                  >\r\n                    <Button\r\n                      variant=\"ghost\"\r\n                      size=\"sm\"\r\n                      className=\"w-full rounded-none border-t border-orange-500/10 py-3 text-xs text-gray-600 hover:bg-orange-50/50 dark:text-gray-400 dark:hover:bg-orange-950/10\"\r\n                      onClick={() =>\r\n                        window.open(\r\n                          `https://etherscan.io/address/${address}`,\r\n                          \"_blank\"\r\n                        )\r\n                      }\r\n                    >\r\n                      <ExternalLink className=\"mr-2 h-3 w-3\" />\r\n                      View on Explorer\r\n                    </Button>\r\n                  </motion.div>\r\n                </motion.div>\r\n\r\n                <motion.div\r\n                  className=\"space-y-3\"\r\n                  initial={!hasAnimated ? { opacity: 0 } : false}\r\n                  animate={{ opacity: 1 }}\r\n                  transition={{ delay: !hasAnimated ? 0.35 : 0 }}\r\n                >\r\n                  <motion.h3\r\n                    className=\"mb-2 text-lg font-semibold text-gray-800 dark:text-gray-200\"\r\n                    initial={!hasAnimated ? { opacity: 0, y: 10 } : false}\r\n                    animate={{ opacity: 1, y: 0 }}\r\n                    transition={{\r\n                      delay: !hasAnimated ? 0.4 : 0,\r\n                      type: \"spring\",\r\n                    }}\r\n                  >\r\n                    Assets\r\n                  </motion.h3>\r\n                  <LayoutGroup>\r\n                    <motion.div layout>\r\n                      {balance.data === undefined ? (\r\n                        <motion.div\r\n                          initial={!hasAnimated ? { opacity: 0, y: 10 } : false}\r\n                          animate={{ opacity: 1, y: 0 }}\r\n                          transition={{\r\n                            type: \"spring\",\r\n                            stiffness: 300,\r\n                            damping: 20,\r\n                            delay: !hasAnimated ? 0.45 : 0,\r\n                          }}\r\n                          className=\"flex items-center justify-between rounded-xl border border-orange-500/20 bg-white p-4 shadow-sm transition-all duration-300 hover:border-orange-500/40 hover:shadow-md dark:border-orange-900/30 dark:bg-zinc-900 dark:hover:border-orange-700/40\"\r\n                        >\r\n                          <div className=\"flex items-center gap-3\">\r\n                            <motion.div\r\n                              className=\"rounded-full bg-orange-100 p-2 dark:bg-orange-900/30\"\r\n                              whileHover={{ rotate: 360 }}\r\n                              transition={{ duration: 0.8, ease: \"easeInOut\" }}\r\n                            >\r\n                              <CryptoIcon\r\n                                ledgerId=\"ethereum\"\r\n                                ticker=\"ETH\"\r\n                                size=\"24px\"\r\n                              />\r\n                            </motion.div>\r\n                            <div>\r\n                              <p className=\"text-sm font-medium text-gray-800 dark:text-gray-200\">\r\n                                ETH\r\n                              </p>\r\n                              <p className=\"text-xs text-gray-500 dark:text-gray-400\">\r\n                                Ethereum\r\n                              </p>\r\n                            </div>\r\n                          </div>\r\n                          <div className=\"text-right\">\r\n                            <p className=\"text-sm font-medium text-gray-800 dark:text-gray-200\">\r\n                              0.00\r\n                            </p>\r\n                            <p className=\"text-xs text-gray-500 dark:text-gray-400\">\r\n                              $0.00\r\n                            </p>\r\n                          </div>\r\n                        </motion.div>\r\n                      ) : (\r\n                        <motion.div\r\n                          initial={!hasAnimated ? { opacity: 0, y: 10 } : false}\r\n                          animate={{ opacity: 1, y: 0 }}\r\n                          transition={{\r\n                            type: \"spring\",\r\n                            stiffness: 300,\r\n                            damping: 20,\r\n                            delay: !hasAnimated ? 0.45 : 0,\r\n                          }}\r\n                          className=\"flex items-center justify-between rounded-xl border border-orange-500/20 bg-white p-4 shadow-sm transition-all duration-300 hover:border-orange-500/40 hover:shadow-md dark:border-orange-900/30 dark:bg-zinc-900 dark:hover:border-orange-700/40\"\r\n                          whileHover={{\r\n                            y: -2,\r\n                            transition: {\r\n                              type: \"spring\",\r\n                              stiffness: 300,\r\n                              damping: 20,\r\n                            },\r\n                          }}\r\n                        >\r\n                          <div className=\"flex items-center gap-3\">\r\n                            <motion.div\r\n                              className=\"rounded-full bg-orange-100 p-2 dark:bg-orange-900/30\"\r\n                              whileHover={{ rotate: 360 }}\r\n                              transition={{ duration: 0.8, ease: \"linear\" }}\r\n                            >\r\n                              {balance.data?.symbol === \"POL\" && (\r\n                                <CryptoIcon\r\n                                  ledgerId=\"polygon\"\r\n                                  ticker=\"MATIC\"\r\n                                  size=\"24px\"\r\n                                />\r\n                              )}\r\n                              {balance.data?.symbol === \"ETH\" && (\r\n                                <CryptoIcon\r\n                                  ledgerId=\"ethereum\"\r\n                                  ticker=\"ETH\"\r\n                                  size=\"24px\"\r\n                                />\r\n                              )}\r\n                            </motion.div>\r\n                            <div>\r\n                              <p className=\"text-sm font-medium text-gray-800 dark:text-gray-200\">\r\n                                {balance.data?.symbol ?? \"\"}\r\n                              </p>\r\n                              <p className=\"text-xs text-gray-500 dark:text-gray-400\">\r\n                                {balance.data?.symbol === \"ETH\"\r\n                                  ? \"Ethereum\"\r\n                                  : \"Polygon\"}\r\n                              </p>\r\n                            </div>\r\n                          </div>\r\n                          <div className=\"text-right\">\r\n                            <p className=\"text-sm font-medium text-gray-800 dark:text-gray-200\">\r\n                              {balance.data?.formatted.slice(0, 6) ?? \"\"}\r\n                            </p>\r\n                            <motion.p\r\n                              className=\"text-xs text-gray-500 dark:text-gray-400\"\r\n                              initial={!hasAnimated ? { opacity: 0 } : false}\r\n                              animate={{ opacity: 1 }}\r\n                              transition={{ delay: !hasAnimated ? 0.5 : 0 }}\r\n                            >\r\n                              $\r\n                              {(\r\n                                parseFloat(balance.data?.formatted || \"0\") *\r\n                                3500\r\n                              ).toFixed(2)}\r\n                            </motion.p>\r\n                          </div>\r\n                        </motion.div>\r\n                      )}\r\n                    </motion.div>\r\n                  </LayoutGroup>\r\n                </motion.div>\r\n\r\n                <motion.div\r\n                  initial={!hasAnimated ? { opacity: 0, y: 20 } : false}\r\n                  animate={{ opacity: 1, y: 0 }}\r\n                  transition={{\r\n                    delay: !hasAnimated ? 0.55 : 0,\r\n                    type: \"spring\",\r\n                  }}\r\n                  whileHover={{ scale: 1.02 }}\r\n                  whileTap={{ scale: 0.98 }}\r\n                >\r\n                  <Button\r\n                    onClick={handleDisconnect}\r\n                    variant=\"outline\"\r\n                    className=\"group relative w-full overflow-hidden rounded-xl border-red-600/30 bg-white text-black transition duration-300 hover:border-red-600 hover:text-zinc-900 dark:border-red-900/30 dark:bg-zinc-900 dark:text-white dark:hover:border-red-700\"\r\n                  >\r\n                    <span className=\"relative z-10 flex items-center\">\r\n                      <LogOut className=\"mr-2 h-4 w-4\" />\r\n                      Disconnect Wallet\r\n                    </span>\r\n                  </Button>\r\n                </motion.div>\r\n              </motion.div>\r\n            )}\r\n          </AnimatePresence>\r\n        </div>\r\n      </SheetContent>\r\n    </Sheet>\r\n  );\r\n}\r\n"]}