Привет
Возможно ли сделать так, чтобы по умолчанию все сообщения определённого пользователя отображались размытыми? Я не хочу его блокировать, просто хочу, чтобы все его сообщения были размыты.
Спасибо
Привет
Возможно ли сделать так, чтобы по умолчанию все сообщения определённого пользователя отображались размытыми? Я не хочу его блокировать, просто хочу, чтобы все его сообщения были размыты.
Спасибо
Здравствуйте,
Если я правильно понял, что вы хотите достичь, это не очень хорошая идея. По-моему, вы хотите скрыть все сообщения конкретного пользователя, сделав их размытыми.
Но если вы действительно хотите это сделать, то, на мой взгляд, самый простой способ — добавить немного CSS.
Примечание: это изменение CSS, поэтому опытные пользователи могут легко отключить его и увидеть сообщение.
Пожалуйста, протестируйте перед использованием!
Создайте новый компонент темы и добавьте следующее в раздел Common / CSS.
// замените слово number на конкретный ID пользователя
article[data-user-id="number"] {
// сделайте содержимое поста недоступным для выделения
@include unselectable;
// сделайте кликабельные элементы (аватар, кнопки управления постом и т.д.) некликабельными
pointer-events: none;
// размытие всего поста
filter: blur(0.5em);
}
Результат: посты пользователя с data-user-id="3" стали размытыми.
Кстати, вероятно, хорошая идея не скрывать их для сотрудников.
Чтобы не скрывать посты для сотрудников, используйте этот код вместо предыдущего.
// показывать посты только сотрудникам
body:not(.staff) {
// замените слово number на конкретный ID пользователя
article[data-user-id="number"] {
// сделайте содержимое поста недоступным для выделения
@include unselectable;
// сделайте кликабельные элементы (аватар, кнопки управления постом и т.д.) некликабельными
pointer-events: none;
// размытие всего поста
filter: blur(0.5em);
}
}
Спасибо большое.
Останется ли размытым всегда? Если другой пользователь нажмёт на размытый контент, отобразится ли он так, как обычно отображается при нажатии на размытый контент?
Да, таким образом это всегда размыто. Но я понял, вы хотите, чтобы это работало как в плагине Discourse Spoiler Alert.
Вот так ![]()
Да, именно так. Я знаю, что один пользователь сильно беспокоит других. Я не хочу его блокировать. Я хочу дать другим пользователям возможность видеть его посты только по желанию.
Почему бы просто не предложить пользователям игнорировать этого конкретного участника? Тогда сокрытие контента «плохих» пользователей будет осуществляться на индивидуальном уровне. Казалось бы, это проще, чем изобретать новые способы скрытия постов. Это звучит немного сурово, а для новых пользователей может прозвучать так: «Привет, новый участник! Рады вас видеть, кстати… Посмотрите нашу публичную коллекцию «плохих» пользователей. Вы их не заметите, они размыты».
Это немного сложнее. У нас очень маленькое сообщество (около 60 пользователей), и в среднем мы получаем двух новых пользователей в месяц.
Пользователей, которых мы хотим скрывать (на определённые периоды), нельзя назвать по-настоящему «плохими» — иначе мы бы забанили их навсегда. Они становятся, скажем так, непредсказуемыми в зависимости от обсуждаемых событий или других внешних факторов и в основном занимаются троллингом, раздражая одну группу пользователей, но не всех. Если вас это не беспокоит, вы можете нажать на скрытый контент и прочитать его. Но если вас это раздражает (а вы знаете по 10-летнему опыту общения с этим пользователем, что последует дальше), вы можете его игнорировать. При прокрутке контента не так-то просто игнорировать пользователя, просто перепрыгивая через его комментарий.
Вы даже можете выбрать длительность в функции игнорирования в Discourse. Сообщения этого пользователя будут отображаться как скрытые ответы.
Вы можете игнорировать пользователей, посетив их профиль и выбрав «Игнорировать».
или в ваших настройках /my/preferences/users.
Возможно, вам потребуется изменить минимальный уровень доверия, чтобы разрешить игнорирование, чтобы все ваши пользователи могли использовать эту функцию.
Да, это работает.
Спасибо всем, кто потратил время на ответ на мои вопросы.