diff --git a/components/editor/file-menu.tsx b/components/editor/file-menu.tsx index 07fe20e..4842411 100644 --- a/components/editor/file-menu.tsx +++ b/components/editor/file-menu.tsx @@ -10,6 +10,7 @@ import { Download, Save, ChevronDown, + ImagePlus, } from 'lucide-react'; import { cn } from '@/lib/utils'; @@ -17,6 +18,7 @@ export function FileMenu() { const { createNewImage, handleFileInput, + importImage, exportImage, saveProject, } = useFileOperations(); @@ -25,6 +27,7 @@ export function FileMenu() { const [isNewDialogOpen, setIsNewDialogOpen] = useState(false); const [isExportDialogOpen, setIsExportDialogOpen] = useState(false); const fileInputRef = useRef(null); + const importInputRef = useRef(null); const handleOpenFile = () => { fileInputRef.current?.click(); @@ -42,6 +45,22 @@ export function FileMenu() { } }; + const handleImportImage = () => { + importInputRef.current?.click(); + setIsMenuOpen(false); + }; + + const handleImportChange = async (e: React.ChangeEvent) => { + const file = e.target.files?.[0]; + if (file) { + await importImage(file); + } + // Reset input + if (importInputRef.current) { + importInputRef.current.value = ''; + } + }; + const handleSaveProject = () => { saveProject('project'); setIsMenuOpen(false); @@ -94,6 +113,15 @@ export function FileMenu() { Open... + +