from django.shortcuts import render, redirect
from django.contrib.auth import login, authenticate
from .forms import UnifiedRegisterForm, SketchLoginForm

def login_register_view(request):
    # Prepare standard empty forms for GET requests
    login_form = SketchLoginForm()
    register_form = UnifiedRegisterForm()
    
    # Track which section should be visible on reload/error
    active_form = 'login' 

    if request.method == 'POST':
        # Scenario 1: User submitted the REGISTER form
        if 'register_submit' in request.POST:
            active_form = 'register'
            register_form = UnifiedRegisterForm(request.POST)
            if register_form.is_valid():
                user = register_form.save()
                login(request, user) # Auto-login after registration
                return redirect('homepage') # Define this later
            # else will reload page with errors displayed

        # Scenario 2: User submitted the LOGIN form
        elif 'login_submit' in request.POST:
            active_form = 'login'
            login_form = SketchLoginForm(request, data=request.POST)
            if login_form.is_valid():
                login(request, login_form.get_user())
                return redirect('homepage') # Define this later
            # else reloads page displaying authentication errors

    return render(request, 'core/index.html', {
        'login_form': login_form,
        'register_form': register_form,
        'active_form': active_form, # Tells template which tab is active
    })

def homepage_view(request):
    return render(request, 'core/home.html', {})