Tentativo di mostrare le risposte proprie a colori

Ciao,
sto cercando di aggiungere una nuova classe a topic-post per gli utenti che rispondono a se stessi. In realtà, sto cercando di mostrare i messaggi inviati a se stessi con uno stile diverso all’interno dei topic.
Questa funzionalità è utile quando un template è progettato come un’app di messaggistica.

Questa funzionalità è già definita da qualche parte?

Ciò è già possibile con la classe CSS .topic-owner. Puoi utilizzare il seguente CSS per evidenziare le risposte dell’utente

.topic-owner .topic-body {
  background: #fffaaa;
}
8 Mi Piace

Ma la classe topic-owner viene assegnata solo alle risposte del creatore del topic. Ho bisogno di una classe, ad esempio chiamata my-own, da aggiungere alle altre risposte se è stato scritto dall’utente connesso.

Come nelle app di messaggistica, che mostrano le mie risposte a destra e quelle degli altri a sinistra in un fumetto.

1 Mi Piace

Puoi farlo aggiungendo il seguente codice all’header del tuo tema (o all’header di un componente del tema):

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

Potrai quindi utilizzare la classe post-by-current-user nel tuo foglio di stile.

11 Mi Piace

Woooow, pensavo che farlo richiedesse molti cambiamenti.
Discourse è davvero entusiasmante…

Grazie mille!

5 Mi Piace