Feature: Forum-Beiträge von Freunden im Aktivitäts-Feed + Deep-Link

- friends.py: forum_threads im Activity-Feed (mit entry_id)
- Filter-Chip 'Forum' ergänzt
- Klick öffnet direkt den Forum-Thread via App.callModule('forum','openThread',id)
This commit is contained in:
rene 2026-04-19 11:04:26 +02:00
parent f9e2202ac7
commit 82d9e26823
3 changed files with 26 additions and 2 deletions

View file

@ -277,6 +277,25 @@ async def get_activity(user=Depends(get_current_user)):
LIMIT 15
""", friend_ids).fetchall()
# Forum-Beiträge der Freunde (öffentliche Threads)
forum_rows = conn.execute(f"""
SELECT
'forum' AS type,
ft.id AS entry_id,
u.id AS user_id,
u.name AS user_name,
u.avatar_url,
NULL AS dog_name,
NULL AS dog_foto,
ft.titel AS text,
ft.created_at
FROM forum_threads ft
JOIN users u ON u.id = ft.user_id
WHERE ft.user_id IN ({ph})
ORDER BY ft.created_at DESC
LIMIT 15
""", friend_ids).fetchall()
# Neue Hunde (angelegt in den letzten 30 Tagen)
new_dog_rows = conn.execute(f"""
SELECT
@ -300,6 +319,7 @@ async def get_activity(user=Depends(get_current_user)):
"health": "heart",
"walk": "paw-print",
"new_dog": "dog",
"forum": "push-pin",
}
_TEXT = {
"health": "Hat einen Gesundheitseintrag hinzugefügt",
@ -307,7 +327,7 @@ async def get_activity(user=Depends(get_current_user)):
}
items = []
for row in [*diary_rows, *health_rows, *walk_rows, *new_dog_rows]:
for row in [*diary_rows, *health_rows, *walk_rows, *forum_rows, *new_dog_rows]:
d = dict(row)
t = d["type"]
items.append({