import { NextResponse } from "next/server"; import { readFileSync, writeFileSync } from "fs"; import { resolve } from "path"; const SUBMISSIONS_PATH = resolve(process.cwd(), "data/submissions.json"); export async function POST(request: Request) { try { const { name, email, message } = await request.json(); if (!name || !email || !message) { return NextResponse.json({ error: "All fields are required" }, { status: 400 }); } const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; if (!emailRegex.test(email)) { return NextResponse.json({ error: "Invalid email" }, { status: 400 }); } const submissions = JSON.parse(readFileSync(SUBMISSIONS_PATH, "utf-8")); submissions.push({ name, email, message, createdAt: new Date().toISOString(), }); writeFileSync(SUBMISSIONS_PATH, JSON.stringify(submissions, null, 2), "utf-8"); return NextResponse.json({ success: true }, { status: 200 }); } catch (err) { console.error("Contact form error:", err); return NextResponse.json({ error: "Server error" }, { status: 500 }); } }