"use client"; import { useState, useRef, useEffect } from "react"; import { ChevronDown, Plus, Copy, Trash2 } from "lucide-react"; import { useEditorStore } from "@/lib/store"; import { useIsMobile } from "@/lib/use-mobile"; export function SceneDropdown() { const [open, setOpen] = useState(false); const ref = useRef(null); const { scenes, activeSceneId, setActiveScene, createScene, duplicateScene, deleteScene, } = useEditorStore(); const activeScene = scenes.find((s) => s.id === activeSceneId) || scenes[0]; const isMobile = useIsMobile(); useEffect(() => { function handleClickOutside(e: PointerEvent) { if (ref.current && !ref.current.contains(e.target as Node)) { setOpen(false); } } document.addEventListener("pointerdown", handleClickOutside); return () => document.removeEventListener("pointerdown", handleClickOutside); }, []); return (
{open && (
{scenes.map((scene) => (
{ setActiveScene(scene.id); setOpen(false); }} > {scene.name}
{scenes.length > 1 && ( )}
))}
)}
); }