fix: Banner zeigt AUSVERKAUFT auch ohne spiel_titel

- Bedingung gelockert: category='ausverkauft' reicht für Banner
- spiel_titel optional — mit Titel '· Spielname', ohne nur 'AUSVERKAUFT'
- DB-Fix: spiel_titel für Submission #55 nachgetragen
This commit is contained in:
Hermes Agent
2026-06-18 00:24:36 +02:00
parent 3f56a53663
commit 2eb51b81e2
+3 -3
View File
@@ -1835,7 +1835,7 @@ def public_frontend():
<article class="story-card text-only"> <article class="story-card text-only">
""" + time_block + """ """ + time_block + """
""" + (f'<div class="story-halle-badge"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2.5" stroke-linecap="round" style="vertical-align:middle;margin-right:2px;"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg> {r["halle"]}</div>' if r["halle"] else '') + """ """ + (f'<div class="story-halle-badge"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2.5" stroke-linecap="round" style="vertical-align:middle;margin-right:2px;"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg> {r["halle"]}</div>' if r["halle"] else '') + """
""" + (f'<div class="story-ausverkauft-badge"><span class="badge-icon">🚫</span> AUSVERKAUFT<span class="badge-title"> · {r["spiel_titel"]}</span></div>' if r["category"] == "ausverkauft" and r["spiel_titel"] else '') + """ """ + (f'<div class="story-ausverkauft-badge"><span class="badge-icon">🚫</span> AUSVERKAUFT{("<span class=\"badge-title\"> · " + r["spiel_titel"] + "</span>") if r["spiel_titel"] else ""}</div>' if r["category"] == "ausverkauft" else '') + """
<div class="card-content"> <div class="card-content">
<p class="story-preview">""" + preview + """</p> <p class="story-preview">""" + preview + """</p>
<div class="card-stats"> <div class="card-stats">
@@ -1854,7 +1854,7 @@ def public_frontend():
cards += f"""<article class="story-card"> cards += f"""<article class="story-card">
""" + media_first + time_block + """ """ + media_first + time_block + """
""" + (f'<div class="story-halle-badge"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2.5" stroke-linecap="round" style="vertical-align:middle;margin-right:2px;"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg> {r["halle"]}</div>' if r["halle"] else '') + """ """ + (f'<div class="story-halle-badge"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2.5" stroke-linecap="round" style="vertical-align:middle;margin-right:2px;"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg> {r["halle"]}</div>' if r["halle"] else '') + """
""" + (f'<div class="story-ausverkauft-badge"><span class="badge-icon">🚫</span> AUSVERKAUFT<span class="badge-title"> · {r["spiel_titel"]}</span></div>' if r["category"] == "ausverkauft" and r["spiel_titel"] else '') + """ """ + (f'<div class="story-ausverkauft-badge"><span class="badge-icon">🚫</span> AUSVERKAUFT{("<span class=\"badge-title\"> · " + r["spiel_titel"] + "</span>") if r["spiel_titel"] else ""}</div>' if r["category"] == "ausverkauft" else '') + """
<div class="card-content"> <div class="card-content">
<p class="story-preview">""" + preview + """</p> <p class="story-preview">""" + preview + """</p>
<div class="card-stats"> <div class="card-stats">
@@ -3228,7 +3228,7 @@ def public_detail(sub_id: int):
<main class="detail-container"> <main class="detail-container">
<a href="/" class="back-link"> Zurück zur Übersicht</a> <a href="/" class="back-link"> Zurück zur Übersicht</a>
<article class="detail-card"> <article class="detail-card">
{"".join([f'<div class="detail-halle"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2.5" stroke-linecap="round" style="vertical-align:middle;margin-right:2px;"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg> {row["halle"]}</div>' if row["halle"] else '', f'<div class="detail-ausverkauft-banner"><span class="badge-icon">🚫</span> AUSVERKAUFT<span class="badge-title"> · {row["spiel_titel"]}</span></div>' if row["category"] == "ausverkauft" and row["spiel_titel"] else ''])} {"".join([f'<div class="detail-halle"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2.5" stroke-linecap="round" style="vertical-align:middle;margin-right:2px;"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg> {row["halle"]}</div>' if row["halle"] else '', f'<div class="detail-ausverkauft-banner"><span class="badge-icon">🚫</span> AUSVERKAUFT{("<span class=\"badge-title\"> · " + row["spiel_titel"] + "</span>") if row["spiel_titel"] else ""}</div>' if row["category"] == "ausverkauft" else ''])}
<div class="detail-meta"> <div class="detail-meta">
<span class="detail-type">{type_emoji}</span> <span class="detail-type">{type_emoji}</span>
<span class="detail-author">{name}</span> <span class="detail-author">{name}</span>