Kann Unified New Themen nach dem Scrollen verbergen?

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 /new zurü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.

4 „Gefällt mir“

Ich glaube, das ist aktuell noch nicht möglich, daher verschiebe ich das in Contribute > Feature.

Zwar gibt es Bulk-Aktionen, aber das fühlt sich nicht wirklich flüssig an, wenn man sie einfach nur abhaken will, während man weiter scrollt.

1 „Gefällt mir“

Da das Topic-Modal bereits den Pre-Fetch verwendet, schaue ich mir an, ob ich eine Komponente erstellen kann, die sich schließt, sobald der Pre-Fetch abgeschlossen ist.

Gibt es eine Möglichkeit, /new als Startseite nur für angemeldete Benutzer anzuzeigen? Abgemeldete Benutzer erhalten natürlich einen 404-Fehler.

Hilft das hier?

Hier kannst du „latest“ durch „new“ ersetzen. Ich habe es ausprobiert und denke, dass es funktioniert.

Es gibt auch Custom Homepage for Groups, das funktionieren sollte, indem man die Gruppe trust_level_0 verwendet, der automatisch alle Benutzer hinzugefügt werden.

2 „Gefällt mir“

Jetzt wusste ich, dass es einen einfacheren Weg gab … es ging nur darum, ihn zu finden.

1 „Gefällt mir“

Dieses Thema kann geschlossen oder gelöscht werden. Ich habe nicht ganz verstanden, was /new macht. Ich ging davon aus, dass es Beiträge aus den letzten x Zeiteinheiten anzeigt. Das tut es aber offensichtlich nicht, sodass neue Benutzer eine leere Seite sehen.

1 „Gefällt mir“