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:
parent
f9e2202ac7
commit
82d9e26823
3 changed files with 26 additions and 2 deletions
|
|
@ -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({
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
Router, State-Management, Navigation, Initialisierung.
|
||||
============================================================ */
|
||||
|
||||
const APP_VER = '220'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
|
||||
const APP_VER = '221'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
|
||||
|
||||
const App = (() => {
|
||||
|
||||
|
|
|
|||
|
|
@ -208,6 +208,7 @@ window.Page_friends = (() => {
|
|||
{ key: 'alle', label: 'Alle' },
|
||||
{ key: 'diary', label: 'Tagebuch' },
|
||||
{ key: 'walk', label: 'Gassi-Treffen' },
|
||||
{ key: 'forum', label: 'Forum' },
|
||||
{ key: 'health', label: 'Gesundheit' },
|
||||
{ key: 'new_dog', label: 'Neuer Hund' },
|
||||
];
|
||||
|
|
@ -257,6 +258,8 @@ window.Page_friends = (() => {
|
|||
App.callModule('diary', 'openDetail', entryId);
|
||||
} else if (entryId && type === 'walk') {
|
||||
App.callModule('walks', 'openDetail', entryId);
|
||||
} else if (entryId && type === 'forum') {
|
||||
App.callModule('forum', 'openThread', entryId);
|
||||
} else {
|
||||
App.navigate(page);
|
||||
}
|
||||
|
|
@ -268,6 +271,7 @@ window.Page_friends = (() => {
|
|||
diary: 'diary',
|
||||
health: 'health',
|
||||
walk: 'walks',
|
||||
forum: 'forum',
|
||||
new_dog: null,
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue