Пользовательские CSS на основе роли/групп пользователя

Я пытаюсь понять, можно ли настраивать CSS в зависимости от ролей или групп пользователей?

Например, я хочу скрыть статистику количества тем на главной странице. Это удалось сделать относительно просто, добавив в CSS темы следующий код:

.topics {
    display: none;
}

Однако моя настоящая цель — скрыть это для всех, кроме администраторов и модераторов. Эта информация должна отображаться только для группы администраторов и группы модераторов.

Возможно ли определить, принадлежит ли пользователь к той или иной группе, для целей кастомизации CSS?

Если вы установите этот компонент темы, вы сможете нацеливаться на группы пользователей с помощью CSS:

например, так:

body.group-<ваше-название-группы> .some-page-element-class {
    display: none;
}

без компонента вы также можете использовать:

.something {
  display: none;
}
.staff .something {
   display: block;
}

Для администраторов и модераторов к элементу body документа по умолчанию добавляется класс staff. Поэтому, если вам нужно только это, вы можете сразу использовать селектор body.staff.

Спасибо, это здорово. Для справки, какие ещё группы CSS можно адресовать нативно в CSS (кроме staff)? Есть ли что-то для анонимных (неавторизованных) пользователей или администраторов (без модераторов)?

.anon — это все анонимные пользователи. Я не думаю, что .admins или .moderators работают, если не установлен компонент. Это не много кода, и его можно легко добавить в другой компонент. Я делаю это со своими связанными компонентами темы, чтобы пользователям не приходилось устанавливать оба. Отлично в том компоненте CSS для групп то, что он также позволяет нацеливаться на уровни доверия.

Вы можете увидеть, как я использую .staff и .anon в одном из моих компонентов темы здесь.

Отлично, спасибо. Интересно, можно ли на странице компонента темы вывести список стандартных групп/ролей/уровней доверия, к которым можно получить доступ (они встроены в Discourse) — это было бы отличным справочником. Или, если вы их знаете, можете перечислить их здесь.

Если вы установите компонент CSS для групп, вы сможете использовать все стандартные группы и уровни доверия на странице admin-users-group, а также любые пользовательские группы, которые вы создадите.

Спасибо. Для меня это отлично.