diff --git a/app.py b/app.py index 28caaf0..9052802 100644 --- a/app.py +++ b/app.py @@ -1605,6 +1605,7 @@ def public_frontend(): # Filters halle_filter = request.args.get("halle", "").strip() 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" params = [] @@ -1614,7 +1615,12 @@ def public_frontend(): if cat_filter: query += " AND category = ?" params.append(cat_filter) - query += " ORDER BY published_at DESC LIMIT 50" + if sort == "beliebt": + query += " ORDER BY likes DESC, views DESC, published_at DESC LIMIT 50" + elif sort == "gesehen": + query += " ORDER BY views DESC, published_at DESC LIMIT 50" + else: + query += " ORDER BY published_at DESC LIMIT 50" rows = db.execute(query, params).fetchall() # Get available filter values — group by hall number (H1-H7) @@ -1675,7 +1681,20 @@ def public_frontend(): selected = " selected" if cat_filter == c else "" filter_html += f'' filter_html += ' ' - if halle_filter or cat_filter: + # Sort dropdown + filter_html += '🔽 Sortierung: ' + filter_html += '
' + + if halle_filter or cat_filter or sort != "neu": filter_html += '✕ Filter zurücksetzen' filter_html += ""