Ich überlege, die neue Unified New-Ansicht als Hauptfeed/Startseite auf meiner Discourse-Seite zu verwenden, würde sie aber gerne etwas mehr wie X/Twitter oder Facebook haben.
Was ich erreichen möchte, ist Folgendes:
-
Ein Thema erscheint im Unified New-Feed.
-
Der Benutzer scrollt nach unten und das Thema war in seinem Sichtfeld sichtbar.
-
Sobald er es gescrollt hat, betrachtet Discourse dieses Thema für diesen Benutzer als „gesehen“ oder „abgewiesen“.
-
Wenn er die Seite aktualisiert oder später wieder zu
/newzurückkehrt, erscheint das Thema nicht mehr.
Idealerweise würde ich nicht wollen, dass die Zeile sofort beim Scrollen verschwindet, da dies dazu führen könnte, dass die Seite springt. Ich möchte sie lediglich im Hintergrund als gesehen/abgewiesen markieren, damit sie beim nächsten Laden verschwunden ist.
Ich verwende außerdem Don’s Topic Preview Modal, das bereits Themen in der Nähe des Sichtfelds vorlädt. Aus diesem Grund möchte ich zwischen einem Thema, das lediglich vorbelastet wurde, und einem unterscheiden, das der Benutzer tatsächlich sieht.
Zum Beispiel in etwa so:
Thema ist mindestens 50 % sichtbar für 200–400 ms → als gesehen markieren → Benutzer scrollt darüber hinweg → aus Unified New abweisen.
Hat jemand Ähnliches implementiert?
Gibt es eine bestehende Discourse-API oder eine Frontend-Methode, um ein einzelnes Thema für den aktuellen Benutzer aus Unified New abzuweisen, oder würde dies ein Plugin/ein Theme-Element erfordern?
Im Grunde versuche ich, Unified New zu einem personalisierten Scroll-Feed für „Dinge, die du noch nicht gesehen hast“ zu machen, anstatt den Benutzer dazu zu zwingen, jedes Thema tatsächlich zu öffnen.

