import { NextRequest, NextResponse } from "next/server";
import { sendEmail } from "@/lib/emailService";

interface BugReportData {
  subject: string;
  description: string;
  screenshot: string; // base64
  url: string;
  userAgent: string;
  timestamp: string;
}

export async function POST(req: NextRequest) {
  try {
    const data: BugReportData = await req.json();

    // Validation des données
    if (!data.subject || !data.description) {
      return NextResponse.json(
        { error: "Le sujet et la description sont requis" },
        { status: 400 }
      );
    }

    // Préparer les données pour le template d'email
    const templateData = {
      subject: data.subject,
      description: data.description,
      url: data.url,
      userAgent: data.userAgent,
      timestamp: new Date(data.timestamp).toLocaleString('fr-FR'),
      hasScreenshot: data.screenshot ? 'Oui' : 'Non',
    };

    // Envoyer l'email via le système existant
    await sendEmail({
      toEmail: "paie@odentas.fr",
      subject: `[BUG REPORT] ${data.subject}`,
      templateName: "bug-report",
      templateData,
    });

    return NextResponse.json({ success: true });
  } catch (error) {
    console.error("Erreur lors de l'envoi du rapport de bug:", error);
    return NextResponse.json(
      { error: "Erreur lors de l'envoi du rapport" },
      { status: 500 }
    );
  }
}