Essayer d'afficher les réponses à soi-même en couleur

Bonjour,
Je tente d’ajouter une nouvelle classe à topic-post pour les utilisateurs qui répondent à leurs propres messages. En fait, j’essaie d’afficher les messages personnels avec un style différent dans les sujets.
Cette fonctionnalité est utile lorsque le modèle est conçu comme une application de messagerie.

Cette fonctionnalité est-elle déjà définie quelque part ?

Ceci est déjà possible avec la classe CSS .topic-owner. Vous pouvez utiliser le code CSS ci-dessous pour surligner vos propres réponses

.topic-owner .topic-body {
  background: #fffaaa;
}
8 « J'aime »

Mais la classe topic-owner est attribuée uniquement aux réponses du créateur du sujet. J’ai besoin d’une classe, par exemple nommée my-own, à ajouter aux autres réponses si l’utilisateur connecté les a écrites.

Comme dans une application de messagerie, cela affiche mes réponses à droite et celles des autres à gauche dans des bulles.

1 « J'aime »

Vous pouvez le faire en ajoutant le code suivant dans l’en-tête de votre thème (ou dans l’en-tête d’un composant de thème) :

<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>

Vous pouvez ensuite utiliser la classe post-by-current-user dans votre feuille de style.

11 « J'aime »

Woooow, je pensais que cela nécessiterait beaucoup de modifications.
Discourse est vraiment passionnant…

Merci infiniment !

5 « J'aime »