import { NextRequest, NextResponse } from "next/server";
import nodemailer from "nodemailer";

export async function POST(request: NextRequest) {
  try {
    const { name, phone } = await request.json();

    // Validation
    if (!name || !phone) {
      return NextResponse.json(
        { error: "Vui lòng điền đầy đủ thông tin" },
        { status: 400 }
      );
    }

    const phoneRegex = /^(0|\+84)(3|5|7|8|9)[0-9]{8}$/;
    if (!phoneRegex.test(phone.replace(/\s/g, ""))) {
      return NextResponse.json(
        { error: "Số điện thoại không hợp lệ" },
        { status: 400 }
      );
    }

    const transporter = nodemailer.createTransport({
      service: "gmail",
      auth: {
        user: process.env.GMAIL_USER,
        pass: process.env.GMAIL_APP_PASSWORD,
      },
    });

    const now = new Date();
    const formattedDate = now.toLocaleString("vi-VN", {
      dateStyle: "short",
      timeStyle: "short",
    });

    const mailOptions = {
      from: process.env.GMAIL_USER,
      to: process.env.NOTIFICATION_EMAIL,
      subject: "ĐĂNG KÝ TƯ VẤN - V_LOG MEDIA",
      html: `
        <div style="font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto; padding: 20px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 10px;">
          <div style="background: white; padding: 30px; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
            <h1 style="color: #dc2626; margin-top: 0; font-size: 24px; border-bottom: 3px solid #dc2626; padding-bottom: 10px;">
              🔔 KHÁCH HÀNG MỚI ĐĂNG KÝ TƯ VẤN
            </h1>

            <div style="background: #fef2f2; padding: 20px; border-radius: 8px; margin: 20px 0; border-left: 4px solid #dc2626;">
              <p style="margin: 10px 0; font-size: 16px;">
                <strong style="color: #dc2626;">👤 Họ tên:</strong>
                <span style="color: #374151;">${name}</span>
              </p>
              <p style="margin: 10px 0; font-size: 16px;">
                <strong style="color: #dc2626;">📱 Số điện thoại:</strong>
                <span style="color: #374151;">${phone}</span>
              </p>
              <p style="margin: 10px 0; font-size: 16px;">
                <strong style="color: #dc2626;">🕐 Thời gian:</strong>
                <span style="color: #374151;">${formattedDate}</span>
              </p>
            </div>

            <div style="background: linear-gradient(135deg, #dc2626 0%, #f97316 100%); padding: 15px; border-radius: 8px; text-align: center; margin-top: 20px;">
              <p style="color: white; margin: 0; font-size: 18px; font-weight: bold;">
                🎯 V_LOG MEDIA
              </p>
              <p style="color: white; margin: 5px 0 0 0; font-size: 14px; opacity: 0.9;">
                Liên hệ ngay để chốt đơn!
              </p>
            </div>
          </div>
        </div>
      `,
    };

    await transporter.sendMail(mailOptions);

    return NextResponse.json(
      { message: "Đã gửi thông tin thành công!" },
      { status: 200 }
    );
  } catch (error) {
    console.error("Email sending error:", error);
    return NextResponse.json(
      { error: "Có lỗi xảy ra, vui lòng thử lại sau" },
      { status: 500 }
    );
  }
}
