from django.shortcuts import redirect, render, get_object_or_404
from django.http import JsonResponse
from .models import ContactSubmission, BlogPost


def blog_list(request):
    posts = BlogPost.objects.filter(published=True).order_by('-date')
    return render(request, 'website/blog.html', {'posts': posts})


def blog_detail(request, slug):
    post = get_object_or_404(BlogPost, slug=slug, published=True)
    return render(request, 'website/blog_details.html', {'post': post})

def contact_submit(request):
    if request.method != 'POST':
        return redirect('/')
    ContactSubmission.objects.create(
        name=request.POST.get('name','').strip(),
        email=request.POST.get('email','').strip(),
        phone=request.POST.get('phone','').strip(),
        subject=request.POST.get('subject','').strip(),
        message=request.POST.get('message','').strip(),
        source=request.POST.get('source',''),
    )
    if request.headers.get('X-Requested-With') == 'XMLHttpRequest':
        return JsonResponse({'status': 'ok'})
    ref = request.META.get('HTTP_REFERER', '/')
    sep = '&' if '?' in ref else '?'
    return redirect(f'{ref}{sep}sent=1')
