È possibile cambiare l'icona per gli avvisi dello staff?

Is it possible to change the icon used on Staff Notices, either through css or a setting that I just haven’t found? Preferably we’d like to swap it out for a custom picture rather than a FA icon.

1 Mi Piace

We do not have a setting for that and I think doing it in CSS only is difficult, but you can create a theme component to replace it.

In CSS, you will hide the old icon:

.post-notice {
  .d-icon-user-shield {
    display: none;
  }
}

In JavaScript (you put this in <head> of the theme component), you will decorate the notice and add the new icon:

<script type="text/discourse-plugin" version="0.8">
  const { iconNode } = require("discourse-common/lib/icon-library");
  api.decorateWidget('post-notice:before', helper => {
    return iconNode('heart');
  });
</script>

… or if you want to replace with an image…:

<script type="text/discourse-plugin" version="0.8">
  api.decorateWidget('post-notice:before', helper => {
    return helper.h('img', {
      src: 'https://www.discourse.org/a/img/home-spot-1.png',
      style: 'margin-right: 0.65em',
      height: 30,
      width: 30
    });
  });
</script>

With themes and theme components, the sky is the limit. If you want to learn more, we have a resource for that:

12 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

Ho appena provato questo; il primo snippet di codice JS necessitava di un piccolo aggiornamento.

Questo ora deve essere inserito nella scheda JS di un Componente Tema (o Tema) invece:

import { apiInitializer } from "discourse/lib/api";
import { iconNode } from "discourse-common/lib/icon-library";

export default apiInitializer("0.11.1", (api) => {
  api.decorateWidget("post-notice:before", () => {
    return iconNode("heart");
  });
});

Mi dispiace, non ho guardato come usare un’immagine al posto di questo.

3 Mi Piace

Dopo averlo aggiunto al mio tema, ho visto un avviso a causa di Upcoming post stream changes - How to prepare themes and plugins. Quindi sono preoccupato che presto sarà necessario un altro aggiornamento.

Ho provato questo perché ero curioso di sapere se interessasse solo le note dello staff o anche le note dei nuovi utenti e di quelli di ritorno, poiché si tratta di avvisi di post.
Interessa tutti gli avvisi di post, mentre il CSS sopra nasconde solo lo scudo. Quindi finisci con due icone sugli avvisi per i nuovi utenti e per quelli di ritorno.

1 Mi Piace

Questo è tutto un po’ insoddisfacente allora!!

Nella fretta di pubblicare, ho dimenticato di rimuovere api.decorateWidget. Devo aver ignorato l’errore sul mio sito senza rendermene conto.

Sono sicuro che il CSS potrebbe essere mirato meglio, ma ho appena scoperto Quote Callouts - questo farà comunque meglio il mio caso d’uso, penso.

3 Mi Piace