import { NextRequest, NextResponse } from 'next/server';
import { sendContactEmail } from '@/lib/email';

export async function POST(req: NextRequest) {
    try {
        const { name, email, subject, message } = await req.json();

        // Validation
        if (!name || !email || !subject || !message) {
            return NextResponse.json(
                { error: 'Alla fält är obligatoriska' },
                { status: 400 }
            );
        }

        // Email validation
        const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
        if (!emailRegex.test(email)) {
            return NextResponse.json(
                { error: 'Ogiltig e-postadress' },
                { status: 400 }
            );
        }

        // Send email
        const success = await sendContactEmail(name, email, subject, message);

        if (!success) {
            return NextResponse.json(
                { error: 'Kunde inte skicka meddelandet. Försök igen senare.' },
                { status: 500 }
            );
        }

        return NextResponse.json(
            { message: 'Meddelandet har skickats!' },
            { status: 200 }
        );
    } catch (error) {
        console.error('Contact form error:', error);
        return NextResponse.json(
            { error: 'Ett oväntat fel uppstod' },
            { status: 500 }
        );
    }
}
