Mudar ícones globalmente

Sim, siga este guia: Replace Discourse's default SVG icons with custom icons in a theme

2 curtidas

Bump, por favor. Tenho a mesma pergunta.

Por padrão, o Discourse usa o ícone de link na parte inferior da postagem como um botão de “compartilhar” (é mais do que apenas o link, oferece compartilhamento em redes sociais), mas o mesmo ícone é usado no editor para editar um link.

Esses realmente deveriam ser diferentes; são funções distintas. OU, se alguém souber como substituir a alteração global no editor de postagens, eu agradeceria.

2 curtidas

Recentemente, alterei o ícone de Curtir de “coração” para “book-reader”.

Tive ótimo sucesso ao alterar todos os ícones de Curtir, exceto o da lista suspensa de notificações.

Capture166

Usei o seguinte cabeçalho, adicionando todas as opções possíveis que consegui pensar:

   <script type="text/discourse-plugin" version="0.8">
        api.replaceIcon('d-unliked', 'book-reader');
        api.replaceIcon('d-liked', 'book-reader');
        api.replaceIcon('heart', 'book-reader');
        api.replaceIcon('new read', 'book-reader');
        api.replaceIcon('d-icon-heart', 'book-reader');
        api.replaceIcon('notification.liked', 'book-reader');  // notificações
        api.replaceIcon('notification.liked_2', 'book-reader');  // notificações
        api.replaceIcon('notification.liked_many', 'book-reader');  // notificações

    </script>

O coração foi substituído em todos os lugares da plataforma, exceto na lista suspensa de notificações…

Alguma ideia?

1 curtida

Tente adicionar também

api.replaceIcon('notification.liked_consolidated', 'book-reader');

1 curtida

Obrigado pela resposta, Daniela!

Adicionei, mas ainda não houve nenhuma mudança. O coração continua aparecendo como ícone de notificação.

   <script type="text/discourse-plugin" version="0.8">
        api.replaceIcon('d-unliked', 'book-reader');
        api.replaceIcon('d-liked', 'book-reader');
        api.replaceIcon('heart', 'book-reader');
        api.replaceIcon('new read', 'book-reader');
        api.replaceIcon('d-icon-heart', 'book-reader');
        api.replaceIcon('notification.liked', 'book-reader');  
        api.replaceIcon('notification.liked_2', 'book-reader');  
        api.replaceIcon('notification.liked_many', 'book-reader');  
        api.replaceIcon('notification.liked_consolidated', 'book-reader');  

    </script>
    

Fora essa instância, o ícone book-reader substituiu todos os ícones de coração em todos os lugares.

Pensei que poderia ser um conflito de ícones, então mudei de “book-reader” para “pencil”, já que sei que notificações podem usar esse ícone. Não funcionou, continua sendo um coração.

Alguma ideia?

Tentei substituir o ícone envelope pelo ícone inbox, mas as alterações não estão sendo aplicadas aos ícones dentro do painel do menu do usuário. Eles precisam ser direcionados de alguma forma específica?

Meu trecho:

// {theme}/javascripts/discourse/api-initializers/init-theme.gjs

import { apiInitializer } from "discourse/lib/api";

export default apiInitializer((api) => {
  api.replaceIcon("envelope", "inbox");
});

Olá @jrgong :waving_hand:

Aqui você pode encontrar as substituições de ícones que contêm as notificações.

Adicione esta linha ao seu snippet:

api.replaceIcon("notification.private_message", "inbox");
1 curtida