diff --git a/app.py b/app.py index 327b929..4bbc38e 100644 --- a/app.py +++ b/app.py @@ -2433,23 +2433,7 @@ def _get_user_from_session(db) -> dict | None: # ── HTML-Templates (plain strings, no f-string needed) ────────────── -_REGISTER_TPL = """ - -Registrieren — BSN Community - -
-

📋 Registrieren

+_REGISTER_CONTENT = """

📋 Registrieren

{error_html}
@@ -2458,67 +2442,21 @@ input{width:100%;padding:0.8rem;margin:0.4rem 0;border-radius:8px;border:1px sol
- -
""" +""" -_LOGIN_TPL = """ - -Login — BSN Community - -
-

🔐 Login

+_LOGIN_CONTENT = """

🔐 Login

{error_html}
- -
E-Mail oder Telefonnummer
+
- -
""" +""" -_PROFILE_TPL = """ - -Profil — BSN Community - -
-

👤 Mein Profil

-{msg_html} -
E-Mail
{email}
-
Telefon
{phone_display}
-
-
Name
-
- -
- -
""" +_PROFILE_CONTENT = """

👤 Profil

+

Telefon: {phone}

+

(Letzte 4 Ziffern: {phone_display})

+Abmelden""" @app.route("/register", methods=["GET", "POST"]) @@ -2538,14 +2476,14 @@ def user_register(): if is_email: if db.execute("SELECT id FROM users WHERE email=?", (login_id,)).fetchone(): error = "Diese E-Mail ist bereits registriert." - return _REGISTER_TPL.replace("{email_val}", login_id).replace("{error_html}", - "
" + error + "
") + return _overlay_page("Registrieren", _REGISTER_CONTENT.replace("{email_val}", login_id).replace("{error_html}", + "
" + error + "
"), "400px") else: existing = _lookup_user_by_phone(db, login_id) if existing: error = "Diese Telefonnummer ist bereits registriert." - return _REGISTER_TPL.replace("{email_val}", login_id).replace("{error_html}", - "
" + error + "
") + return _overlay_page("Registrieren", _REGISTER_CONTENT.replace("{email_val}", login_id).replace("{error_html}", + "
" + error + "
"), "400px") # User anlegen pw_hash = _hash_password(password) phone_hash_val = None @@ -2570,7 +2508,7 @@ def user_register(): resp.set_cookie("bsn_session", token, max_age=30*86400, httponly=True) return resp login_id = request.form.get("email", "") - return _REGISTER_TPL.replace("{email_val}", login_id).replace("{error_html}", "") + return _overlay_page("Registrieren", _REGISTER_CONTENT.replace("{email_val}", login_id).replace("{error_html}", ""), "400px") @app.route("/login", methods=["GET", "POST"]) @@ -2596,7 +2534,7 @@ def user_login(): return resp login_val = request.form.get("login_id", "") error_html = "
" + error + "
" if error else "" - return _LOGIN_TPL.replace("{login_val}", login_val).replace("{error_html}", error_html) + return _overlay_page("Login", _LOGIN_CONTENT.replace("{login_val}", login_val).replace("{error_html}", error_html), "400px") @app.route("/logout") @@ -2629,9 +2567,9 @@ def user_profile(): msg_html = "
" + msg + "
" if msg else "" phone_display = "✱✱✱✱" + (user.get("phone_last4") or "") if user.get("phone_last4") else "nicht hinterlegt" email_display = user.get("email") or "nicht hinterlegt" - return _PROFILE_TPL.replace("{phone}", phone_display).replace("{phone_display}", phone_display)\ - .replace("{email}", email_display).replace("{name}", user["name"] or "")\ - .replace("{msg_html}", msg_html) + phone_display_str = "✱✱✱✱" + (user.get("phone_last4") or "") if user.get("phone_last4") else "nicht hinterlegt" + content = _PROFILE_CONTENT.replace("{phone}", phone_display_str).replace("{phone_display}", phone_display_str) + return _overlay_page("Profil", content, "400px") @app.route("/") @@ -3826,8 +3764,8 @@ def generate_image_thumbnail(image_path: str, width: int = 300) -> str | None: # ── Legal pages ───────────────────────────────────────────────────── -def _legal_page(title, content_html): - """Render a legal page with BSN header/footer styling.""" +def _overlay_page(title, content_html, max_width="640px"): + """Overlay-Seite: Milchglas-Backdrop + zentrierte weiße Card. Gleicher Look wie Submit-Overlay.""" return f""" @@ -3835,106 +3773,52 @@ def _legal_page(title, content_html): {title} — BSN Community - + - -
+
{content_html} ← Zurück zur Startseite -
- -
- - - - + """ +def _legal_page(title, content_html): + """Legacy-Wrapper — nutzt jetzt _overlay_page.""" + return _overlay_page(title, content_html) + + @app.route("/impressum") def legal_impressum(): return _legal_page("Impressum", """

Impressum

@@ -4709,26 +4593,26 @@ def public_detail(sub_id: int):