// Author: fruit.com.cn import { Plus, Upload } from 'lucide-react'; import { useEffect, useRef, useState } from 'react'; import { useLocale } from '../../app/providers/AppProviders'; export function CreateMenu({ onUpload }) { const { locale } = useLocale(); const [open, setOpen] = useState(false); const menuRef = useRef(null); useEffect(() => { if (!open) return undefined; const closeMenu = (event) => { if (!menuRef.current?.contains(event.target)) setOpen(false); }; document.addEventListener('mousedown', closeMenu); return () => document.removeEventListener('mousedown', closeMenu); }, [open]); const selectUpload = () => { setOpen(false); onUpload?.(); }; return (