Est-il possible de changer l'icône des avis du personnel ?

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 « J'aime »

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 « J'aime »

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

Je viens d’essayer ceci ; le premier extrait de code JS a dû être légèrement mis à jour.

Ceci doit maintenant aller dans l’onglet JS d’un composant de thème (ou d’un thème) à la place :

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");
  });
});

Je n’ai pas regardé comment utiliser une image à la place, désolé.

3 « J'aime »

Après l’avoir ajouté à mon thème, j’ai vu un avertissement à cause de Upcoming post stream changes - How to prepare themes and plugins. Je crains donc qu’une autre mise à jour ne soit bientôt nécessaire.

J’ai essayé cela parce que j’étais curieux de savoir si cela n’affectait que les notes du personnel ou aussi les notes des nouveaux utilisateurs et des utilisateurs de retour, car ce sont toutes des notifications de publication.
Cela affecte toutes les notifications de publication, tandis que le CSS ci-dessus ne masque que le bouclier. Vous vous retrouvez donc avec deux icônes sur les notifications des nouveaux utilisateurs et des utilisateurs de retour.

1 « J'aime »

C’est un peu insatisfaisant alors !!

Dans ma hâte de poster cela, j’ai oublié de supprimer api.decorateWidget. J’ai dû ignorer l’erreur sur mon site sans m’en rendre compte.

Je suis sûr que le CSS pourrait être mieux ciblé, mais je viens de découvrir Quote Callouts - cela conviendra mieux à mon cas d’utilisation de toute façon, je pense.

3 « J'aime »