Versuche, Selbstantworten farbig darzustellen

Hallo,
ich versuche, für Benutzer, die sich selbst antworten, eine neue Klasse zu topic-post hinzuzufügen. Tatsächlich möchte ich Selbstnachrichten in Themen unterschiedlich darstellen.
Diese Funktion ist nützlich, wenn eine Vorlage wie eine Messenger-App gestaltet ist.

Ist diese Funktion bereits irgendwo definiert?

Dies ist mit der CSS-Klasse .topic-owner bereits möglich. Verwenden Sie den folgenden CSS-Code, um Ihre eigenen Antworten hervorzuheben:

.topic-owner .topic-body {
  background: #fffaaa;
}
8 „Gefällt mir“

Aber die Klasse topic-owner wird nur den Antworten des Themenverfassers zugewiesen. Ich benötige eine Klasse, beispielsweise my-own, um sie anderen Antworten hinzuzufügen, wenn der angemeldete Benutzer sie verfasst hat.

Wie in einer Messenger-App, die meine Antworten auf der rechten Seite und die anderer auf der linken Seite in Sprechblasen anzeigt.

1 „Gefällt mir“

Sie können dies tun, indem Sie den folgenden Code in den Header Ihres Themes (oder in den Header einer Theme-Komponente) einfügen:

<script type="text/discourse-plugin" version="0.8">
    const currentUser = api.getCurrentUser();
    api.addPostClassesCallback((attrs) => {
        if (currentUser && currentUser.id === attrs.user_id) {
            return ["post-by-current-user"];
        } else {
            return [];
        }
    });
</script>

Anschließend können Sie die Klasse post-by-current-user in Ihrem Stylesheet verwenden.

11 „Gefällt mir“

Woooow, ich dachte, das würde viele Änderungen erfordern.
Discourse ist wirklich aufregend …

Vielen, vielen Dank!

5 „Gefällt mir“