Intentando mostrar las respuestas propias en color

Hola,
Estoy intentando agregar una nueva clase a topic-post para los usuarios que se responden a sí mismos. De hecho, estoy tratando de mostrar los mensajes propios con un aspecto diferente en los temas.
Esta función es útil cuando una plantilla está diseñada como una aplicación de mensajería.

¿Esta función ya está definida en algún lugar?

Esto ya es posible con la clase CSS .topic-owner. Puedes usar el siguiente CSS para resaltar las respuestas propias

.topic-owner .topic-body {
  background: #fffaaa;
}
8 Me gusta

Pero la clase topic-owner solo se asigna a las respuestas del creador del tema. Necesito una clase, por ejemplo llamada my-own, para añadirla a otras respuestas si las escribió el usuario conectado.

Como en una aplicación de mensajería, que muestra mis respuestas a la derecha y las de los demás en globos a la izquierda.

1 me gusta

Puedes hacerlo añadiendo el siguiente código al encabezado de tu tema (o al encabezado de 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>

A continuación, puedes usar la clase post-by-current-user en tu hoja de estilos.

11 Me gusta

¡Guau! Pensé que hacer eso requeriría muchos cambios.
Discourse es realmente emocionante…

¡Mil gracias!

5 Me gusta