feat: SVG-Pin-Icon für Halle-Badges (statt 📍 Emoji)

- Weiße Pin-SVG auf allen Frontend-Halle-Badges
- Detailseite ebenfalls mit Pin-Icon
- Konsistent mit restlichen SVG-Icons (BSN-Blau-Thema)
This commit is contained in:
Hermes Agent
2026-06-17 22:54:36 +02:00
parent f894f84942
commit a84a2c9885
+3 -3
View File
@@ -1813,7 +1813,7 @@ def public_frontend():
# Text-only card: link-wrapped, time overlay inside card-content
cards += f"""<a href="/beitrag/{r['id']}" class="card-link">
<article class="story-card text-only">
""" + (f'<div class="story-halle-badge">📍 {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">🚫 AUSVERKAUFT: {r["spiel_titel"]}</div>' if r["category"] == "ausverkauft" and r["spiel_titel"] else '') + """
<div class="card-content">
""" + time_block + """
@@ -1833,7 +1833,7 @@ def public_frontend():
# Media card: existing structure
cards += f"""<article class="story-card">
""" + media_first + time_block + """
""" + (f'<div class="story-halle-badge">📍 {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">🚫 AUSVERKAUFT: {r["spiel_titel"]}</div>' if r["category"] == "ausverkauft" and r["spiel_titel"] else '') + """
<div class="card-content">
<div class="story-meta">
@@ -2918,7 +2918,7 @@ def public_detail(sub_id: int):
<main class="detail-container">
<a href="/" class="back-link">← Zurück zur Übersicht</a>
<article class="detail-card">
{"".join([f'<div class="detail-halle">📍 {row["halle"]}</div>' if row["halle"] else '', f'<div style="background:#dc3545;color:#fff;padding:0.35rem 0.8rem;border-radius:6px;font-size:0.85rem;font-weight:700;margin-bottom:1rem;margin-left:0.5rem;">🚫 AUSVERKAUFT: {row["spiel_titel"]}</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 style="background:#dc3545;color:#fff;padding:0.35rem 0.8rem;border-radius:6px;font-size:0.85rem;font-weight:700;margin-bottom:1rem;margin-left:0.5rem;">🚫 AUSVERKAUFT: {row["spiel_titel"]}</div>' if row["category"] == "ausverkauft" and row["spiel_titel"] else ''])}
<div class="detail-meta">
<span class="detail-type">{type_emoji}</span>
<span class="detail-author">{name}</span>