From 9693bef3551d43255ecd77a9b70d7274884526f3 Mon Sep 17 00:00:00 2001 From: Gunshiz Date: Thu, 28 May 2026 19:51:55 +0700 Subject: [PATCH] feat: add navigation between submissions, enable image zoom, and automate cleanup of deleted form images --- .gitignore | 2 +- app/actions/questions.ts | 29 ++++++++++++++ app/actions/upload.ts | 4 +- app/form/admin/client.tsx | 11 +++--- app/form/admin/result/[id]/client.tsx | 5 ++- app/form/admin/result/[id]/page.tsx | 21 +++++++++- app/form/client.tsx | 37 ++++++++++++------ .../49b49544-58bb-4aee-b301-80a6eecd8976.webp | Bin 46044 -> 0 bytes 8 files changed, 87 insertions(+), 22 deletions(-) delete mode 100644 public/form-uploads/49b49544-58bb-4aee-b301-80a6eecd8976.webp diff --git a/.gitignore b/.gitignore index b622b6b..f7e5220 100644 --- a/.gitignore +++ b/.gitignore @@ -40,4 +40,4 @@ yarn-error.log* *.tsbuildinfo next-env.d.ts -public/form-uploads \ No newline at end of file +public/form \ No newline at end of file diff --git a/app/actions/questions.ts b/app/actions/questions.ts index ac2072b..cfd4161 100644 --- a/app/actions/questions.ts +++ b/app/actions/questions.ts @@ -1,6 +1,8 @@ "use server"; import { db } from "@/db"; +import { unlink } from "fs/promises"; +import path from "path"; import { questions } from "@/db/schema"; import type { QuestionType } from "@/db/schema"; import { eq } from "drizzle-orm"; @@ -53,13 +55,40 @@ export async function updateQuestion( }> ) { await assertAdmin(); + if (data.imageUrl !== undefined) { + const q = await db.query.questions.findFirst({ + where: (q, { eq }) => eq(q.id, id), + }); + if (q?.imageUrl && q.imageUrl !== data.imageUrl) { + await deleteImageFile(q.imageUrl); + } + } await db.update(questions).set(data).where(eq(questions.id, id)); revalidatePath("/form"); revalidatePath("/form/admin"); } +async function deleteImageFile(imageUrl: string | null) { + if (!imageUrl) return; + try { + const filename = imageUrl.split("/").pop(); + if (filename) { + const filepath = path.join(process.cwd(), "public", "form", filename); + await unlink(filepath); + } + } catch (err) { + console.error("Failed to delete image file", err); + } +} + export async function deleteQuestion(id: string, formId: string) { await assertAdmin(); + const q = await db.query.questions.findFirst({ + where: (q, { eq }) => eq(q.id, id), + }); + if (q?.imageUrl) { + await deleteImageFile(q.imageUrl); + } await db.delete(questions).where(eq(questions.id, id)); revalidatePath("/form"); revalidatePath("/form/admin"); diff --git a/app/actions/upload.ts b/app/actions/upload.ts index 5877738..1e10b6e 100644 --- a/app/actions/upload.ts +++ b/app/actions/upload.ts @@ -22,11 +22,11 @@ export async function uploadImage(formData: FormData): Promise { const ext = file.name.split(".").pop() ?? "png"; const filename = `${crypto.randomUUID()}.${ext}`; - const uploadDir = path.join(process.cwd(), "public", "form-uploads"); + const uploadDir = path.join(process.cwd(), "public", "form"); await mkdir(uploadDir, { recursive: true }); const buffer = Buffer.from(await file.arrayBuffer()); await writeFile(path.join(uploadDir, filename), buffer); - return `/form-uploads/${filename}`; + return `/form/${filename}`; } diff --git a/app/form/admin/client.tsx b/app/form/admin/client.tsx index f2a1f15..3313ef7 100644 --- a/app/form/admin/client.tsx +++ b/app/form/admin/client.tsx @@ -297,20 +297,21 @@ export default function FormEditorClient({ form, initialQuestions }: FormEditorC
{q.imageUrl ? ( -
+
{q.label}
) : ( diff --git a/app/form/admin/result/[id]/client.tsx b/app/form/admin/result/[id]/client.tsx index 5e7c381..b02ddb5 100644 --- a/app/form/admin/result/[id]/client.tsx +++ b/app/form/admin/result/[id]/client.tsx @@ -159,10 +159,11 @@ export default function SubmissionDetailClient({ {q.imageUrl && (
{q.label}
)} diff --git a/app/form/admin/result/[id]/page.tsx b/app/form/admin/result/[id]/page.tsx index bed404d..5c98dee 100644 --- a/app/form/admin/result/[id]/page.tsx +++ b/app/form/admin/result/[id]/page.tsx @@ -36,6 +36,13 @@ export default async function SubmissionDetailPage({ params }: SubmissionDetailP for (const ans of answersList) { answersMap[ans.questionId] = ans.value; } + const submissionsList = await db.query.submissions.findMany({ + orderBy: (s, { desc }) => [desc(s.submittedAt)], + }); + + const currentIndex = submissionsList.findIndex((s) => s.id === id); + const prevId = currentIndex > 0 ? submissionsList[currentIndex - 1].id : null; + const nextId = currentIndex >= 0 && currentIndex < submissionsList.length - 1 ? submissionsList[currentIndex + 1].id : null; return (
@@ -48,7 +55,19 @@ export default async function SubmissionDetailPage({ params }: SubmissionDetailP

Response Detail

- +
+ {prevId && ( + + + + )} + {nextId && ( + + + + )} + +
)} {userName} @@ -207,20 +208,34 @@ export function FormFillerClient({ form, questions, initialAnswers = {} }: FormF
-
- {q.imageUrl && ( -
- {q.label} -
- )}
{q.type === "text" && ( diff --git a/public/form-uploads/49b49544-58bb-4aee-b301-80a6eecd8976.webp b/public/form-uploads/49b49544-58bb-4aee-b301-80a6eecd8976.webp deleted file mode 100644 index 44ea7cebde606a59d9d1c752b8927741d416718e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46044 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