diff --git a/packages/studio/src/components/CinemaStudio.jsx b/packages/studio/src/components/CinemaStudio.jsx index aae308e..4ec9757 100644 --- a/packages/studio/src/components/CinemaStudio.jsx +++ b/packages/studio/src/components/CinemaStudio.jsx @@ -1,7 +1,7 @@ "use client"; import { useState, useEffect, useRef, useCallback } from "react"; -import { generateImage } from "../muapi.js"; +import { generateImage, uploadFile } from "../muapi.js"; // ─── Constants (inlined from promptUtils) ─────────────────────────────────── @@ -111,14 +111,6 @@ function Dropdown({ items, selected, onSelect, triggerRef, onClose }) { const [position, setPosition] = useState({ bottom: 0, left: 0 }); useEffect(() => { - if (triggerRef.current) { - const rect = triggerRef.current.getBoundingClientRect(); - setPosition({ - bottom: window.innerHeight - rect.top + 8, - left: rect.left, - }); - } - const handler = (e) => { if ( menuRef.current && @@ -129,21 +121,14 @@ function Dropdown({ items, selected, onSelect, triggerRef, onClose }) { onClose(); } }; - const timer = setTimeout( - () => document.addEventListener("click", handler), - 0, - ); - return () => { - clearTimeout(timer); - document.removeEventListener("click", handler); - }; - }, [triggerRef, onClose]); + document.addEventListener("mousedown", handler); + return () => document.removeEventListener("mousedown", handler); + }, [onClose, triggerRef]); return (
{items.map((item) => ( +
+