from django.shortcuts import get_object_or_404, redirect, render

from .forms import NewTimerForm, TimeOnlyForm
from .models import OngoingTimer


def index(request):
    return render(
        request,
        "timer/index.html",
        {
            "ongoing_timers": OngoingTimer.objects.all(),
        },
    )


def create(request):
    if request.method == "POST":
        form = NewTimerForm(request.POST)

        if form.is_valid():
            timer = OngoingTimer(
                hours=form.cleaned_data["hours"],
                minutes=form.cleaned_data["minutes"],
                seconds=form.cleaned_data["seconds"],
                name=form.cleaned_data["name"],
            )
            timer.save()

            return redirect("timer:view_timer", id=timer.id)
    else:
        form = NewTimerForm()

    return render(request, "timer/create.html", {"form": form})


def view_timer(request, id: int):
    timer = get_object_or_404(OngoingTimer, id=id)

    return render(request, "timer/view_timer.html", {"timer": timer})


def edit_timer(request, id: int):
    timer = get_object_or_404(OngoingTimer, id=id)

    return render(request, "timer/edit_timer.html", {"timer": timer})