Cambia icone globalmente

Sì, segui questa guida: Replace Discourse's default SVG icons with custom icons in a theme

2 Mi Piace

Aggiornamento, per favore. Ho la stessa domanda.

Di default, Discourse utilizza l’icona del link in fondo al post come pulsante “condividi” (è più di un semplice link, offre la condivisione sui social media), ma la stessa icona viene utilizzata nell’editor per modificare un link.

Dovrebbero essere davvero diverse; hanno funzioni differenti. OPPURE, se qualcuno sa come sovrascrivere la modifica globale nell’editor dei post, ne sarei grato.

2 Mi Piace

Recentemente ho cambiato l’icona del Mi piace da “cuore” a “book-reader”.

Ho avuto grande successo nel cambiare tutte le icone del Mi piace, tranne quella nelle notifiche, nell’elenco a discesa.

Capture166

Ho utilizzato l’intestazione seguente, aggiungendo tutte le opzioni possibili a cui ho pensato:

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

    </script>

Il cuore è stato sostituito ovunque sulla piattaforma, tranne che nell’elenco a discesa delle notifiche…

Qualche idea?

1 Mi Piace

Prova ad aggiungere anche

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

1 Mi Piace

Grazie per la risposta, Daniela!

L’ho aggiunto, ma non c’è stato alcun cambiamento. Il cuore appare ancora come icona di notifica.

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

A parte questo caso, l’icona book-reader ha sostituito tutte le icone a cuore ovunque.

Pensavo potesse essere un conflitto di icone, quindi ho cambiato da “book-reader” a “pencil”, dato che so che le notifiche possono usare quell’icona. Non ha funzionato, c’è ancora un cuore.

Hai qualche idea?

Ho provato a sostituire l’icona envelope con l’icona inbox, ma le modifiche non vengono applicate alle icone all’interno del pannello del menu utente. Devono essere targettizzate in un modo specifico?

Il mio snippet:

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

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

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

Ciao @jrgong :waving_hand:

Qui puoi trovare le sostituzioni delle icone che contengono le notifiche.

Aggiungi questa riga al tuo snippet:

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