import os
from pathlib import Path
from htmlmin import minify
from flask import Blueprint, render_template, send_from_directory, send_file, abort

bp = Blueprint(
    "risdeveau",
    __name__,
    subdomain="risdeveau",
    template_folder="..",
    static_folder=None
)

def render_tmpl(filename: str) -> str:
    template_path = os.path.join("risdeveau/templates", filename)
    return minify(
        render_template(template_path),
        remove_empty_space=True
    )

@bp.route("/static/<path:filename>")
def static(filename: str):
    static_folders = ("static", "../root/static")
    for dir in static_folders:
        if os.path.exists(path := os.path.join("blueprints/risdeveau", dir, filename)):
            return send_file(path)
    return abort(404)

@bp.route("/")
def index():
    return render_tmpl('index.html')

@bp.route("/contacts")
def contacts():
    return render_tmpl('contacts.html')

@bp.route("/donate")
def donate():
    return render_tmpl('donate.html')
