from django.http import JsonResponse,HttpResponseRedirect
from django.shortcuts import redirect, render
from django.core.mail import send_mail,BadHeaderError
from django.contrib import messages

def home(request):
    if request.method == 'POST':
        name = request.POST.get("name")
        email = request.POST.get("email")
        message = request.POST.get("message")
        if not name or not email or not message:
            messages.error(request, "All fields are required.")
            return HttpResponseRedirect("/#contact")
        

        subject = f"Portfolio Received Inquiry from {name}"
        full_message = f"samyamsapkota.com.np received following inquiry:\n Name: {name}\nEmail: {email}\n\nMessage:\n{message}"

        try:
            send_mail(
                subject,
                full_message,
                email,  # from email (visitor’s email)
                ["samyamsapkota@gmail.com"],  # <-- replace with your own email
                fail_silently=False,
            )
            messages.success(request, "Your message has been sent successfully!")
            return HttpResponseRedirect("/#contact")
        except BadHeaderError:
            messages.error(request, "Invalid header found.")
        except Exception as e:
            messages.error(request, f"An error occurred: {str(e)}")
        return HttpResponseRedirect("/#contact")


    return render(request, 'portfolio/index.html')



