'use client' import React, { useState, DragEvent } from 'react' export default function UploadTestPage() { const [selectedFile, setSelectedFile] = useState(null) const [uploading, setUploading] = useState(false) const [message, setMessage] = useState('') const handleFileChange = (e: React.ChangeEvent) => { const file = e.target.files?.[0] || null setSelectedFile(file) setMessage('') } const handleDrop = (e: DragEvent) => { e.preventDefault() const file = e.dataTransfer.files?.[0] if (file) { setSelectedFile(file) setMessage('') } } const handleUpload = async () => { if (!selectedFile) return const formData = new FormData() formData.append('file', selectedFile) setUploading(true) setMessage('') try { const res = await fetch('/api/files/upload', { method: 'POST', body: formData, }) const data = await res.json() if (!res.ok) throw new Error(data.message || 'Upload failed') setMessage(`✅ File uploaded: ${data.filename || selectedFile.name}`) setSelectedFile(null) } catch (err: any) { setMessage(`❌ Upload failed: ${err.message}`) } finally { setUploading(false) } } return (

File Upload Test

{/* Drag and drop area */}
e.preventDefault()} className="border-2 border-dashed border-gray-400 rounded p-6 text-center cursor-pointer bg-gray-50 hover:bg-gray-100" > {selectedFile ? (

{selectedFile.name}

) : (

Drag & drop a file here or click below to select

)}
{/* File input */} {/* Upload button */} {/* Upload result */} {message &&

{message}

}
) }