Diskussionsketten: jüngste Antwort im Teilbaum an Feed- und Antwortkarten

Jede Karte in Feed und Antwortliste zeigt die Antwort, die ihre Diskussion
zuletzt fortgesetzt hat: [Beitrag] -- "k weitere Beiträge" -- [Antwort].
Gelöschte Beiträge werden als jüngste übersprungen, zählen auf dem Pfad mit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TiXsPUqw7oeomZ8wZrQW5q
This commit is contained in:
irrlicht
2026-09-27 00:52:17 +02:00
co-authored by Claude Opus 5.5
parent 8e79e94bbb
commit ade853f560
7 changed files with 196 additions and 5 deletions
+25
View File
@@ -65,3 +65,28 @@ function LiveCard({ entry: e, when, open }: { entry: Entry; when: string; open:
</article>
);
}
// Discussion zeigt einen Beitrag mit der Antwort, die seine Diskussion zuletzt
// fortgesetzt hat: [Beitrag] ── "k weitere Beiträge" ── [jüngste Antwort].
// Der Strich verbindet die Glieder wie in der Ahnenkette; "k weitere" führt
// wie die Antwort selbst zu deren Seite, wo die ganze Kette darüber steht.
export function Discussion({ entry: e }: { entry: Entry }) {
if (!e.latest) return <EntryCard entry={e} />;
const { entry: latest, skipped } = e.latest;
return (
<div className="chain">
<EntryCard entry={e} />
{skipped > 0 && (
<div className="threadline-wrapper">
<div className="threadline"></div>
<div className="body muted">
<Link to={`/e/${latest.pid}`}>
{skipped === 1 ? "1 weiterer Beitrag" : `${skipped} weitere Beiträge`}
</Link>
</div>
</div>
)}
<EntryCard entry={latest} />
</div>
);
}