""" Blueprint: главная страница (GET /). Отдаёт HTML-интерфейс DrHider. """ import os from flask import Blueprint, render_template, current_app, send_from_directory # ═══════════════════════════════════════════════════════════════════════════ # Blueprint: главная страница # ═══════════════════════════════════════════════════════════════════════════ # Корень модуля upload/frontend — для раздачи ES-модулей браузеру _UPLOAD_FRONTEND_DIR = os.path.join( os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))), "upload", "frontend") main_bp = Blueprint("main", __name__) @main_bp.route("/") def index(): """Главная страница — веб-интерфейс DrHider. Передаёт в шаблон текущую версию приложения. """ version = current_app.config.get("VERSION", "0.0.0") return render_template("index.html", version=version) @main_bp.route("/upload/") def upload_frontend(filename): """Раздаёт ES-модули переиспользуемого слоя загрузки (upload/frontend).""" return send_from_directory(_UPLOAD_FRONTEND_DIR, filename)