Startseite: Kommentar-Count mit Sprechblasen-Icon in BSN-Blau + 34 Demo-Kommentare
This commit is contained in:
@@ -1651,13 +1651,14 @@ def public_frontend():
|
||||
cat_filter = request.args.get("cat", "").strip()
|
||||
sort = request.args.get("sort", "neu").strip()
|
||||
|
||||
query = "SELECT * FROM submissions WHERE status='published' AND deleted_at IS NULL"
|
||||
query = ("SELECT s.*, (SELECT COUNT(*) FROM comments c WHERE c.submission_id = s.id) AS comment_count "
|
||||
"FROM submissions s WHERE s.status='published' AND s.deleted_at IS NULL")
|
||||
params = []
|
||||
if halle_filter:
|
||||
query += " AND halle LIKE ?"
|
||||
query += " AND s.halle LIKE ?"
|
||||
params.append(f"{halle_filter}%")
|
||||
if cat_filter:
|
||||
query += " AND category = ?"
|
||||
query += " AND s.category = ?"
|
||||
params.append(cat_filter)
|
||||
if sort == "beliebt":
|
||||
query += " ORDER BY likes DESC, views DESC, published_at DESC LIMIT 50"
|
||||
@@ -1865,6 +1866,7 @@ def public_frontend():
|
||||
<p class="story-preview">""" + preview + """</p>
|
||||
<div class="card-stats">
|
||||
<span class="stat-views"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#999" stroke-width="2" stroke-linecap="round" style="vertical-align:middle;margin-right:2px;"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>""" + str(r['views'] or 0) + """</span>
|
||||
<span class="stat-comments"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#999" stroke-width="2" stroke-linecap="round" style="vertical-align:middle;margin-right:2px;"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>""" + str(r['comment_count'] or 0) + """</span>
|
||||
<button class="stat-like-btn" data-id=""" + str(r['id']) + """ data-likes=""" + str(r['likes'] or 0) + """><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#20228a" stroke-width="2" stroke-linecap="round" style="vertical-align:middle;margin-right:2px;"><path d="M7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"/><path d="M7 11h11.5a2.5 2.5 0 0 1 2.5 2.5v.5a2.5 2.5 0 0 1-2.5 2.5h-2.5"/><path d="M16 16.5V19a3 3 0 0 1-6 1.5L7 11"/></svg> """ + str(r['likes'] or 0) + """</button>
|
||||
</div>
|
||||
<div class="story-meta">
|
||||
@@ -1884,6 +1886,7 @@ def public_frontend():
|
||||
<p class="story-preview">""" + preview + """</p>
|
||||
<div class="card-stats">
|
||||
<span class="stat-views"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#999" stroke-width="2" stroke-linecap="round" style="vertical-align:middle;margin-right:2px;"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>""" + str(r['views'] or 0) + """</span>
|
||||
<span class="stat-comments"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#999" stroke-width="2" stroke-linecap="round" style="vertical-align:middle;margin-right:2px;"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>""" + str(r['comment_count'] or 0) + """</span>
|
||||
<button class="stat-like-btn" data-id=""" + str(r['id']) + """ data-likes=""" + str(r['likes'] or 0) + """><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#20228a" stroke-width="2" stroke-linecap="round" style="vertical-align:middle;margin-right:2px;"><path d="M7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"/><path d="M7 11h11.5a2.5 2.5 0 0 1 2.5 2.5v.5a2.5 2.5 0 0 1-2.5 2.5h-2.5"/><path d="M16 16.5V19a3 3 0 0 1-6 1.5L7 11"/></svg> """ + str(r['likes'] or 0) + """</button>
|
||||
</div>
|
||||
<div class="story-meta">
|
||||
|
||||
Reference in New Issue
Block a user