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) => (