Mensagem privada inacessível com mensagens privadas desativadas

Você tem um caso de uso muito específico. Não há sentido em mostrar o ícone se o usuário não tiver mensagens — ou se não tiver permissão para enviar nenhuma, conforme a configuração discutida acima. Além disso, verificar se o usuário tem mensagens e exibir o botão com base nisso é um pouco custoso. Vamos corrigir o problema em que o botão não é exibido para membros da equipe, mas não mostraremos o ícone incondicionalmente.

Para o seu caso de uso, você precisa personalizar seu tema. Se quiser que seus usuários também tenham o ícone, você pode adicionar o seguinte à seção header do seu tema:

<script type="text/discourse-plugin"
        version="0.8">
  api.addUserMenuGlyph(widget => {
   if (!widget.currentUser || widget.currentUser.staff) return

    const glyph = {
     action: "quickAccess",
     actionParam: "messages",
     label: "user.private_messages",
     className: "user-pms-link",
     icon: "envelope",
     href: `${widget.attrs.path}/messages`
    };
    return glyph;
});
</script>

Isso fará com que o ícone seja exibido para os usuários, mesmo que essa configuração não esteja marcada — mas exclui membros da equipe, para que você não veja dois ícones para a mesma funcionalidade assim que aplicarmos a correção que mencionei anteriormente.

5 curtidas