{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "logo",
  "type": "registry:block",
  "title": "Logo",
  "description": "A component for displaying the DeSo logo with light and dark mode support.",
  "files": [
    {
      "path": "src/components/deso/logo.tsx",
      "content": "'use client';\n\nimport React, { useEffect, useState } from 'react';\nimport { useTheme } from 'next-themes';\nimport Image from 'next/image';\nimport { cn } from '@/lib/utils/deso';\n\nexport interface LogoProps {\n  className?: string;\n  width?: number;\n  height?: number;\n}\n\nexport const Logo: React.FC<LogoProps> = ({\n  className,\n  width = 120,\n  height = 40,\n}) => {\n  const { theme, resolvedTheme } = useTheme();\n  const [mounted, setMounted] = useState(false);\n\n  // Only render after mounting to avoid hydration mismatch\n  useEffect(() => {\n    setMounted(true);\n  }, []);\n\n  // Determine if we're in dark mode\n  const getDarkMode = () => {\n    if (!mounted) {\n      // During SSR/initial render, check if document has dark class\n      if (typeof document !== 'undefined') {\n        return document.documentElement.classList.contains('dark');\n      }\n      return false;\n    }\n    \n    // Use resolvedTheme which handles system preference, fallback to theme\n    const currentTheme = resolvedTheme || theme;\n    return currentTheme === 'dark';\n  };\n\n  const isDark = getDarkMode();\n\n  // Show a placeholder during initial render to avoid hydration mismatch\n  if (!mounted) {\n    return (\n      <div \n        className={cn('relative bg-muted animate-pulse rounded', className)} \n        style={{ width, height }}\n      />\n    );\n  }\n\n  return (\n    <div className={cn('relative', className)} style={{ width, height }}>\n      <Image\n        src={isDark ? '/logo-dark.svg' : '/logo-light.svg'}\n        alt=\"DeSo Logo\"\n        fill\n        style={{ objectFit: 'contain' }}\n        priority\n      />\n    </div>\n  );\n}; ",
      "type": "registry:component",
      "target": "src/components/deso-ui/logo.tsx"
    }
  ]
}