"use client"; // N4 — ฟอร์มอัปโหลดไฟล์เอกสารแบบง่ายบนหน้ารายการ (PDF/รูป รับพร้อมกัน) // เสร็จแล้วรายการโผล่เองจาก revalidatePath("/") ของ action import { useState, useTransition } from "react"; import { uploadFile } from "@/app/actions/files"; const ACCEPT = ".pdf,.jpg,.jpeg,.png,.tif,.tiff"; export default function UploadFileForm() { const [error, setError] = useState(null); const [pending, startTransition] = useTransition(); const onSubmit = (e: React.FormEvent) => { e.preventDefault(); const form = e.currentTarget; setError(null); startTransition(async () => { try { const result = await uploadFile(new FormData(form)); if (result.ok) { form.reset(); } else { setError(result.error); } } catch { // action fail ที่ระดับ transport (เช่น body ใหญ่เกิน bodySizeLimit ของ next.config) setError("อัปโหลดไม่สำเร็จ — ลองใหม่อีกครั้ง"); } }); }; return (
{error &&

{error}

}
); }