Cambiar iconos globalmente

Sí, sigue esta guía: Replace Discourse's default SVG icons with custom icons in a theme

2 Me gusta

¡Subir, por favor! Tengo la misma pregunta.

De forma predeterminada, Discourse utiliza el icono de enlace en la parte inferior de la publicación como un botón de “compartir” (es más que solo el enlace, ofrece compartir en redes sociales), pero el mismo icono se utiliza en el editor para editar un enlace.

Estos realmente deberían ser diferentes; son funciones distintas. O si alguien sabe cómo anular el cambio global en el editor de publicaciones, se lo agradecería.

2 Me gusta

Recientemente cambié el icono de “Me gusta” de “corazón” a “book-reader”.

Tuve mucho éxito al cambiar todos los iconos de “Me gusta”, excepto el de la lista desplegable de notificaciones.

Capture166

He utilizado el siguiente encabezado, agregando todas las opciones posibles que se me ocurrieron:

   <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');  // notificaciones
        api.replaceIcon('notification.liked_2', 'book-reader');  // notificaciones
        api.replaceIcon('notification.liked_many', 'book-reader');  // notificaciones

    </script>

El corazón ha sido reemplazado en toda la plataforma, excepto en la lista desplegable de notificaciones…

¿Alguna idea?

1 me gusta

Intenta agregar también

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

1 me gusta

¡Gracias por la respuesta, Daniela!

Lo agregué, pero sigue sin haber cambios. El corazón sigue apareciendo como el icono de notificación.

   <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>
    

Salvo en este caso, el icono book-reader ha reemplazado a todos los corazones en todas partes.

Pensé que podría ser un conflicto de iconos, así que cambié de “book-reader” a “pencil”, ya que sé que las notificaciones pueden usar ese icono. No funcionó, sigue siendo un corazón.

¿Alguna idea?

Intenté reemplazar el icono envelope por el icono inbox, pero los cambios no se aplican a los iconos dentro del panel del menú de usuario. ¿Tienen que ser seleccionados de una manera específica?

Mi fragmento:

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

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

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

Hola @jrgong :waving_hand:

Aquí puedes encontrar los reemplazos de iconos que contienen las notificaciones.

Añade esta línea a tu fragmento:

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