{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "changelog",
  "title": "Changelog",
  "description": "A release Open Graph image with a version pill, date, title, and a checklist of highlights.",
  "registryDependencies": [
    "https://ogimagecn.com/r/badge.json",
    "https://ogimagecn.com/r/brand-mark.json"
  ],
  "files": [
    {
      "path": "registry/blocks/changelog/index.tsx",
      "content": "import { Badge } from \"@/components/og/badge\";\nimport { BrandMark } from \"@/components/og/brand-mark\";\n\nexport interface ChangelogProps {\n  version: string;\n  date: string;\n  title: string;\n  items: string[];\n  brand: string;\n  logo?: string;\n}\n\nexport const Changelog = ({\n  version,\n  date,\n  title,\n  items,\n  brand,\n  logo = \"\",\n}: ChangelogProps) => (\n  <div\n    style={{\n      backgroundColor: \"#0a0a0a\",\n      backgroundImage:\n        \"radial-gradient(circle at 100% 0%, rgba(52,211,153,0.16), transparent 50%)\",\n      color: \"#fafafa\",\n      display: \"flex\",\n      flexDirection: \"column\",\n      height: \"100%\",\n      padding: \"80px\",\n      width: \"100%\",\n    }}\n  >\n    <div style={{ alignItems: \"center\", display: \"flex\", gap: \"20px\" }}>\n      <Badge\n        background=\"rgba(52,211,153,0.15)\"\n        color=\"#34d399\"\n        style={{ fontSize: \"28px\", fontWeight: 700, gap: \"8px\" }}\n      >\n        {logo ? <BrandMark radius={4} size={20} src={logo} /> : null}\n        {version}\n      </Badge>\n      <div style={{ color: \"#a1a1aa\", display: \"flex\", fontSize: \"28px\" }}>\n        {date}\n      </div>\n    </div>\n\n    <div\n      style={{\n        display: \"flex\",\n        fontSize: \"80px\",\n        fontWeight: 700,\n        letterSpacing: \"-0.03em\",\n        marginTop: \"32px\",\n      }}\n    >\n      {title}\n    </div>\n\n    <div\n      style={{\n        display: \"flex\",\n        flexDirection: \"column\",\n        gap: \"22px\",\n        marginTop: \"44px\",\n      }}\n    >\n      {items.slice(0, 4).map((item) => (\n        <div\n          key={item}\n          style={{ alignItems: \"center\", display: \"flex\", gap: \"20px\" }}\n        >\n          <div\n            style={{\n              alignItems: \"center\",\n              backgroundColor: \"rgba(52,211,153,0.15)\",\n              borderRadius: \"999px\",\n              display: \"flex\",\n              height: \"40px\",\n              justifyContent: \"center\",\n              width: \"40px\",\n            }}\n          >\n            <svg\n              fill=\"none\"\n              height=\"22\"\n              stroke=\"#34d399\"\n              strokeLinecap=\"round\"\n              strokeLinejoin=\"round\"\n              strokeWidth=\"3\"\n              viewBox=\"0 0 24 24\"\n              width=\"22\"\n            >\n              <path d=\"M20 6 9 17l-5-5\" />\n            </svg>\n          </div>\n          <div style={{ color: \"#e4e4e7\", display: \"flex\", fontSize: \"34px\" }}>\n            {item}\n          </div>\n        </div>\n      ))}\n    </div>\n\n    <div\n      style={{\n        alignItems: \"center\",\n        display: \"flex\",\n        gap: \"12px\",\n        position: \"absolute\",\n        right: \"80px\",\n        top: \"80px\",\n      }}\n    >\n      <BrandMark background=\"#34d399\" src={logo} />\n      <div\n        style={{\n          color: \"#71717a\",\n          fontSize: \"32px\",\n          fontWeight: 700,\n        }}\n      >\n        {brand}\n      </div>\n    </div>\n  </div>\n);\n",
      "type": "registry:component",
      "target": "components/og/changelog.tsx"
    }
  ],
  "categories": [
    "product"
  ],
  "type": "registry:block"
}