{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "auth-7",
  "description": "A check email status block with illustrative icon.",
  "registryDependencies": [
    "button"
  ],
  "files": [
    {
      "path": "registry/blocks/auth/7/check-email-block.tsx",
      "content": "\"use client\";\n\nimport { ArrowRight, ExternalLink, InboxIcon } from \"lucide-react\";\nimport { Plus } from \"@/components/plus\";\nimport { Button } from \"@/components/ui/button\";\n\nexport function CheckEmailBlock() {\n  return (\n    <div className=\"group relative w-full max-w-md overflow-hidden rounded-2xl border bg-background p-8 shadow-lg\">\n      <Plus className=\"-top-px -left-px\" />\n      <Plus className=\"-top-px -right-px rotate-90\" />\n      <Plus className=\"-bottom-px -left-px -rotate-90\" />\n      <Plus className=\"-bottom-px -right-px rotate-180\" />\n\n      <div className=\"flex flex-col items-center gap-6 text-center\">\n        <div className=\"relative\">\n          <div className=\"flex size-16 rotate-3 items-center justify-center rounded-2xl bg-primary/5 transition-transform group-hover:rotate-6\">\n            <InboxIcon className=\"size-8 text-primary/60\" />\n          </div>\n          <div className=\"-top-1 -right-1 absolute size-4 animate-pulse rounded-full border-2 border-background bg-primary\" />\n        </div>\n\n        <div className=\"space-y-2\">\n          <h2 className=\"font-bold text-2xl tracking-tight\">\n            Check your Email\n          </h2>\n          <p className=\"text-muted-foreground text-sm\">\n            We&apos;ve sent a password reset link to <br />\n            <span className=\"font-semibold text-foreground\">\n              john@example.com\n            </span>\n          </p>\n        </div>\n\n        <div className=\"w-full space-y-3\">\n          <Button\n            className=\"h-11 w-full font-semibold shadow-sm transition-all active:scale-[0.98]\"\n            type=\"button\"\n          >\n            Open Email Client\n            <ExternalLink className=\"ml-2 size-4 opacity-50\" />\n          </Button>\n\n          <p className=\"text-muted-foreground text-xs\">\n            Didn&apos;t receive the email? <br />\n            <button\n              className=\"mt-1 font-medium text-primary hover:underline\"\n              type=\"button\"\n            >\n              Click to resend\n            </button>\n          </p>\n        </div>\n\n        <a\n          className=\"flex items-center gap-2 font-medium text-muted-foreground text-xs transition-colors hover:text-primary\"\n          href=\"#\"\n        >\n          Back to Sign In\n          <ArrowRight className=\"size-3\" />\n        </a>\n      </div>\n    </div>\n  );\n}\n",
      "type": "registry:component"
    },
    {
      "path": "components/logo.tsx",
      "content": "\"use client\";\n\nimport Image from \"next/image\";\nimport { useTheme } from \"next-themes\";\nimport { useEffect, useState } from \"react\";\nimport { cn } from \"@/lib/utils\";\n\ntype LogoProps = {\n  className?: string;\n};\n\nexport const LogoIcon = ({ className }: LogoProps) => {\n  const { theme, systemTheme } = useTheme();\n  const [mounted, setMounted] = useState(false);\n\n  useEffect(() => {\n    setMounted(true);\n  }, []);\n\n  if (!mounted) {\n    return (\n      <span\n        className={cn(\n          \"inline-block size-6 animate-pulse rounded-full bg-muted\",\n          className\n        )}\n      />\n    );\n  }\n\n  const currentTheme = theme === \"system\" ? systemTheme : theme;\n  const src =\n    currentTheme === \"dark\"\n      ? \"/logo/freddy-logo-icon-light.png\"\n      : \"/logo/freddy-logo-icon-dark.png\";\n\n  return (\n    <Image\n      alt=\"Freddy UI\"\n      className={cn(\"size-6 object-contain\", className)}\n      height={250}\n      priority\n      src={src}\n      width={250}\n    />\n  );\n};\n\nexport const Logo = ({ className }: LogoProps) => {\n  const { theme, systemTheme } = useTheme();\n  const [mounted, setMounted] = useState(false);\n\n  useEffect(() => {\n    setMounted(true);\n  }, []);\n\n  if (!mounted) {\n    return (\n      <span\n        className={cn(\n          \"inline-block h-6 w-24 animate-pulse rounded bg-muted\",\n          className\n        )}\n      />\n    );\n  }\n\n  const currentTheme = theme === \"system\" ? systemTheme : theme;\n  const src =\n    currentTheme === \"dark\"\n      ? \"/logo/freddy-logo-light.png\"\n      : \"/logo/freddy-logo-dark.png\";\n\n  return (\n    <Image\n      alt=\"Freddy UI\"\n      className={cn(\"h-6 w-auto object-contain\", className)}\n      height={106}\n      priority\n      src={src}\n      width={344}\n    />\n  );\n};\n",
      "type": "registry:component"
    }
  ],
  "categories": [
    "auth"
  ],
  "type": "registry:block"
}