"use client"; import { useEffect, useState } from "react"; import { cn } from "@/lib/utils"; type HomeAnimationEmbedProps = { htmlContent: string; title?: string; description?: string; className?: string; frameClassName?: string; }; export function HomeAnimationEmbed({ htmlContent, title, description, className, frameClassName, }: HomeAnimationEmbedProps) { const [interactive, setInteractive] = useState(false); const [frameUrl, setFrameUrl] = useState(""); useEffect(() => { if (!htmlContent.trim()) { setFrameUrl(""); return; } const blob = new Blob([htmlContent], { type: "text/html;charset=utf-8" }); const nextFrameUrl = URL.createObjectURL(blob); setFrameUrl(nextFrameUrl); return () => URL.revokeObjectURL(nextFrameUrl); }, [htmlContent]); useEffect(() => { if (!interactive) { return; } const handleKeyDown = (event: KeyboardEvent) => { if (event.key === "Escape") { setInteractive(false); } }; window.addEventListener("keydown", handleKeyDown); return () => window.removeEventListener("keydown", handleKeyDown); }, [interactive]); if (!htmlContent.trim()) { return null; } return (