Substituir Ícone de Link Apenas Para Compartilhamento

Eu acho que esta parte da interface do Discourse é confusa. No editor, o ícone de link é usado para inserir um hiperlink (bem, isso faz sentido, é o que deveria ser e é o mesmo que em 99% das outras interfaces)

Mas ao visualizar uma postagem, o mesmo ícone é usado para o link/compartilhamento em redes sociais

quando, na verdade, acho que faria mais sentido aqui ser um ícone de compartilhar mais familiar share-icon

Por um tempo, usei a abordagem de API para alterar o ícone

  <script type="text/discourse-plugin" version="0.8">
    api.replaceIcon('link', 'external-link-tab');
  </script>

Mas isso altera o ícone no editor, então não faz sentido usar um ícone de compartilhamento para representar a inserção de um hiperlink. Seria útil se houvesse chamadas de API separadas para referenciar os dois contextos desse botão, para que eu pudesse substituir por um ícone de link de compartilhamento, mas não por um de inserir link.

??? (meu conhecimento sobre como o Discourse funciona internamente é principalmente superficial)

4 curtidas

Isso exigiria uma alteração no Discourse. Teríamos que duplicar esse ícone internamente, mantendo ambas as versões usando o mesmo ícone por padrão, para que os usuários downstream possam direcionar cada uma individualmente para alterá-la.

Mais uma vez, não estou procurando um ícone! Posso usar qualquer ícone que eu quiser no meu site.

O que eu quero é um método no Discourse, conforme especificado em como substituir um ícone via API, para alterar o ícone do botão de compartilhamento de uma postagem sem modificar o usado no editor para o botão de inserir hiperlink.

1 curtida

Estamos analisando a viabilidade de fazer exatamente isso; concordamos que seria útil.

Sim, assim que o commit abaixo atingir tests-passed, você poderá fazer o que está procurando:

(Pode levar cerca de uma hora para que isso atinja tests-passed.)

Então, adicionei novos IDs para os ícones de compartilhamento nos botões de post e tópico, para que você possa isolá-los agora na chamada replaceIcon da API, assim:

api.replaceIcon('d-post-share', 'share-square');
api.replaceIcon('d-topic-share', 'share-square');

6 curtidas

Muito obrigado! Eu estava apenas tentando descobrir por que os nomes das classes do ícone do botão de compartilhar aqui no Meta eram diferentes da nossa versão atualizada do Discourse.

3 curtidas

Vi a alteração ser aplicada e disponível nas atualizações, e a executei em nosso site. Como uma observação para qualquer outra pessoa, o uso do ícone requer que ele seja adicionado via admin -> configurações -> subconjunto de ícones SVG usando fa-share-square.

Funcionou perfeitamente. Nossos ícones de compartilhamento foram de:

para

Obrigado novamente.

5 curtidas

Já está feito! Veja a postagem acima

Consegui atualizar meu Discourse há algumas horas e o novo recurso já está lá.

3 curtidas

Isso é interessante. Acabei de tentar atualizar minha própria instância do Discourse e ainda não estou vendo.

Me desculpe enquanto faço algumas verificações… :slight_smile:

Adoro essa mudança! O que preciso fazer para alterar o ícone?

<script type="text/discourse-plugin" version="0.8">
        api.replaceIcon('d-post-share', 'share-square');
        api.replaceIcon('d-topic-share', 'share-square');
    </script>

Basta adicionar isso ao seu header ao editar um tema.

3 curtidas

Descobri que há mais um passo: você precisa tornar este ícone do Font Awesome disponível como um ícone SVG. Caso contrário, o botão ficará em branco após fazer os ajustes no tema do cabeçalho.

Minhas configurações aparecem assim:

1 curtida

A atualização não altera nada além do nome da classe do ícone do botão de compartilhamento, então você não verá uma diferença imediatamente. O padrão é manter o mesmo ícone de link de antes (link).

Você saberá que a atualização foi concluída se inspecionar o botão no navegador e ele incluir a classe d-icon-d-post-share (antes da atualização, a classe era d-icon-link).

Você precisa editar o cabeçalho do seu tema conforme descrito aqui Substitute Link Icon Only For Sharing - #22 by ondrej

1 curtida

Este tópico foi automaticamente fechado após 2 dias. Novas respostas não são mais permitidas.