Tentando mostrar respostas próprias em cor

Olá,
Estou tentando adicionar uma nova classe ao topic-post para usuários que fazem respostas a si mesmos. Na verdade, estou tentando exibir mensagens de auto-resposta com estilos diferentes nos tópicos.
Essa funcionalidade é útil quando um template é projetado como um aplicativo de mensagens.

Essa funcionalidade já está definida em algum lugar?

Isso já é possível com a classe CSS .topic-owner. Você pode usar o CSS abaixo para destacar as respostas próprias

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

Mas a classe topic-owner é atribuída apenas às respostas do criador do tópico. Preciso de uma classe, por exemplo, chamada my-own, para adicionar a outras respostas quando o usuário logado as escreveu.

Como em um aplicativo de mensagens, que mostra minhas respostas do lado direito e as dos outros em balões do lado esquerdo.

1 curtida

Você pode fazer isso adicionando o seguinte código ao cabeçalho do seu tema (ou ao cabeçalho de um componente do 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>

Em seguida, você pode usar a classe post-by-current-user em sua folha de estilos.

11 curtidas

Uau, eu achava que fazer isso exigiria muitas alterações.
O Discourse é realmente empolgante…

Muito obrigado!

5 curtidas