1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
from typing import Any
from flask import Blueprint, current_app, render_template, request
bp = Blueprint("dash", __name__, url_prefix="/admin")
@bp.route("/", defaults={"page": ""})
@bp.route("/<any(edit, delete, preview, 'add-child', upload):page>", endpoint="app")
def app_view(**kwargs: Any) -> str:
"""Render the React admin GUI app."""
# Note: client side app handles redirect from page='' to page='edit'
return render_template(
"dash.html",
lektor_config={
"admin_root": request.root_path,
"site_root": request.environ["lektor.site_root"],
"lang": current_app.config.get("lektor.ui_lang", "en"),
},
)
|