import { NextResponse } from "next/server";
import nodemailer from "nodemailer";

const transporter = nodemailer.createTransport({
  host: process.env.SMTP_HOST,
  port: Number(process.env.SMTP_PORT || 465),
  secure: true,
  auth: {
    user: process.env.SMTP_USER,
    pass: process.env.SMTP_PASS,
  },
});

export async function POST(request: Request) {
  try {
    const { name, email, phone, amount, purpose, paymentId } = await request.json();

    if (!name || !email || !amount) {
      return NextResponse.json({ success: false, message: "Missing required fields" }, { status: 400 });
    }

    // 1. Admin Email (Internal Notification)
    await transporter.sendMail({
      from: `"Rajvi Trust Alerts" <${process.env.SMTP_USER}>`,
      to: process.env.CONTACT_RECEIVER,
      subject: `🔥 New Donation Received: ₹${amount}`,
      html: `
        <div style="font-family: sans-serif; line-height: 1.6;">
          <h2 style="color: #f59e0b;">New Donation Alert!</h2>
          <p><strong>Donor:</strong> ${name}</p>
          <p><strong>Amount:</strong> ₹${amount}</p>
          <p><strong>Purpose:</strong> ${purpose}</p>
          <p><strong>Phone:</strong> ${phone}</p>
          <p><strong>Payment ID:</strong> ${paymentId || 'N/A'}</p>
        </div>
      `,
    });

    // 2. Client "Thank You" Email (Branded & Professional)
    transporter.sendMail({
      from: `"Rajvi Social Welfare Trust" <${process.env.SMTP_USER}>`,
      to: email,
      subject: "Thank You for Changing a Life! 🙏",
      html: `
        <div style="font-family: Arial, sans-serif; max-width: 600px; margin: auto; border: 1px solid #eee; padding: 20px; border-radius: 10px;">
          <h2 style="color: #f59e0b;">Thank You, ${name}!</h2>
          <p>We are deeply grateful for your generous donation of <strong>₹${amount}</strong> to Rajvi Social Welfare Trust.</p>
          <p>Your support helps us continue our mission in <strong>${purpose}</strong>. Every rupee you donated will be used to empower communities and bring positive change.</p>
          <div style="background: #f9f9f9; padding: 15px; border-radius: 8px; margin: 20px 0;">
            <p style="margin: 0;"><strong>Donation Purpose:</strong> ${purpose}</p>
            <p style="margin: 0;"><strong>Transaction ID:</strong> ${paymentId || 'Pending'}</p>
          </div>
          <p>With gratitude,<br><strong>Team Rajvi Social Welfare Trust</strong></p>
          <hr style="border: 0; border-top: 1px solid #eee; margin: 20px 0;">
          <p style="font-size: 12px; color: #888;">This is a system generated email.</p>
        </div>
      `,
    }).catch(err => console.error("Client email error:", err));

    return NextResponse.json({ success: true, message: "Thank you for donating!" }, { status: 200 });
  } catch (error) {
    return NextResponse.json({ success: false, message: "Error processing donation" }, { status: 500 });
  }
}