Можно ли изменить иконку для уведомлений персонала?

Возможно ли изменить иконку, используемую в уведомлениях для сотрудников, — либо через CSS, либо через настройку, которую я просто не нашёл? В идеале мы хотели бы заменить её на собственное изображение, а не на иконку FA.

У нас нет настройки для этого, и я думаю, что сделать это только с помощью CSS сложно, но вы можете создать компонент темы, чтобы заменить его.

В CSS вы скроете старую иконку:

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

В JavaScript (поместите это в <head> компонента темы) вы украсите уведомление и добавите новую иконку:

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

… или, если вы хотите заменить её изображением…:

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

С темами и компонентами тем возможности безграничны. Если вы хотите узнать больше, у нас есть ресурс для этого:

Я только что попробовал это; первый фрагмент кода JS нужно было немного обновить.

Теперь это нужно разместить во вкладке JS компонента темы (или темы) вместо этого:

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

Я не рассматривал использование изображения, извините.

После добавления этого в мою тему я увидел предупреждение из-за Upcoming post stream changes - How to prepare themes and plugins. Поэтому я беспокоюсь, что скоро потребуется ещё одно обновление.

Я попробовал это, потому что мне было интересно, влияет ли это только на заметки сотрудников или также на заметки новых и возвращающихся пользователей, так как все они являются уведомлениями о сообщениях.
Это влияет на все уведомления о сообщениях, в то время как приведённый выше CSS скрывает только щит. В результате на уведомлениях для новых и возвращающихся пользователей появляются две иконки.

Это всё немного неудовлетворительно!!

В спешке с публикацией я упустил, что не удалил api.decorateWidget. Должно быть, я отмахнулся от ошибки на своём сайте, не осознав этого.

Уверен, что CSS можно было бы настроить лучше, но я только что обнаружил Quote Callouts — это, думаю, лучше подойдёт для моего случая.