from flask import Blueprint, render_template, request
from flask_login import login_required

from services.sunrise_walk_service import (
    calculate_times,
    get_config,
    update_offset_minutes,
)

blueprint = Blueprint("personal", __name__, url_prefix="/personal")


@blueprint.route("/sunrise-walk", methods=["GET", "POST"])
@login_required
def sunrise_walk():
    if request.method == "POST":
        minutes = int(request.form.get("offset_minutes", 0))
        if request.form.get("before"):
            minutes = -minutes
        update_offset_minutes(minutes)

    config = get_config()
    sunrise, departure = calculate_times(config.offset_minutes)
    return render_template(
        "personal/sunrise_walk.html",
        config=config,
        sunrise=sunrise,
        departure=departure,
    )
