from flask import Blueprint, redirect, url_for, abort, Response from .db import get_db from .auth import is_logged_in pages_bp = Blueprint("pages", __name__) @pages_bp.route("/") def home(): if not is_logged_in(): return redirect(url_for("auth.login")) return redirect(url_for("admin.index")) @pages_bp.route("/p/") def view_page(uid: str): db = get_db() row = db.execute("SELECT html, title FROM pages WHERE uuid = ?", (uid,)).fetchone() if row is None: abort(404) html: str = row["html"] page_title = row["title"] or "" if page_title: lower = html.lower() if "" in lower: i = lower.rfind("") html = html[:i] + f"{page_title}" + html[i:] elif "{page_title}" + html[j:] else: html = f"{page_title}" + html # Admin button only for logged-in users if is_logged_in(): admin_url = url_for("admin.index") toolbar = ( '
' f'Админка
' ) lower = html.lower() if "" in lower: idx = lower.rfind("") html = html[:idx] + toolbar + html[idx:] else: html = html + toolbar # Watermark for everyone (top-left) wm = ( "" "" "" "
" "Made by Ruslan" "
" ) lower_all = html.lower() if "" in lower_all: i2 = lower_all.rfind("") html = html[:i2] + wm + html[i2:] else: html = html + wm return Response(html, mimetype="text/html; charset=utf-8")