Пожелание: визуальный индикатор «пользователь получил значок за этот пост»

Я согласен с тем, что для настройки (эффектов и т. д.) требуется знание CSS, но базовая функциональность показа/скрытия и определение того, какие бейджи включать или исключать, должны быть доступны в виде настройки.

7 лайков

Кажется, существует тарифный план Discourse Hosting, где это вообще невозможно. Кроме того, многие администраторы испытывают трудности с добавлением CSS в тему, установленную из GitHub.
Но моя основная мысль заключалась в том, что сначала нужно знать о существовании CSS и о том, как легко с его помощью скрыть элементы. Документация, безусловно, может помочь, но, по моему опыту, большинство людей её не читают.

Зачем вообще есть настройка для отключения ссылки «Powered by Discourse»? Её ведь тоже можно легко скрыть с помощью CSS.

6 лайков

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

4 лайка

Вот моя первая попытка добавить настройки.

Глобальная настройка

Настройка для каждой бейджа

Сами настройки довольно просты, но поведение оказывается немного сложнее, чем мне бы хотелось. Чтобы избежать раскрытия информации, которую не следует раскрывать, отображение бейджа на сообщении в настоящее время требует включения трёх следующих настроек:

  1. Отображать бейдж на публичной странице бейджей
  2. Отображать сообщение, за которое выдан бейдж, на странице бейджа
  3. Отображать бейдж на сообщении, за которое он был выдан

Причины для каждой из них:

  1. Кажется противоречивым показывать бейджи на сообщении, если они не отображаются на публичной странице бейджей.
  2. Показывать бейджи на сообщении, не отображая само сообщение на странице бейджа, кажется потенциальной утечкой информации.
  3. Это новая настройка, позволяющая отображать бейдж на сообщении.

Предполагая, что разумно сделать эту новую опцию зависимой от наличия включённых существующих опций, возникает несколько вопросов, которые сильно зависят от общего языка дизайна Discourse, поэтому я буду очень признателен за дополнительную обратную связь здесь, @chapoi.

В частности, какой способ является наиболее подходящим для того, чтобы в административной панели Discourse показать, что одна опция не будет действовать, пока не включены другие?

Связанный вопрос: если системный бейдж не имеет включёнными обе первые опции, то новая опция никогда не будет иметь эффекта, поскольку эти опции доступны только для чтения для системных бейджей. Уместно ли помечать её как настройку только для чтения для таких бейджей, но оставлять её настраиваемой для всех остальных системных бейджей?

Наконец, вопрос ко всем заинтересованным: какие системные бейджи должны по умолчанию иметь эту опцию включённой?

3 лайка

Очень верные замечания, спасибо за глубокий анализ!

Да, я думаю, вы на верном пути.

На данный момент, мне кажется, нам не хватает структурированного подхода к этому.

Я думаю, нам понадобится что-то вроде:

Но с более качественным текстом. :sweat_smile:

Что вы думаете, @ella (наш админ-дизайн-лидер)?

2 лайка

Спасибо за идею, Чарли, думаю, это может сработать.

Я не смог найти примеров такого интерфейса в админ-панели Discourse, поэтому собрал его сам. Он ещё требует доработки (и, возможно, нуждается в улучшении текстов! :grinning_face_with_smiling_eyes:), но уже даёт общее представление о том, как это может работать.

4 лайка

Я склоняюсь к тем, что относятся к категории «Публикация».

3 лайка

Согласен, добавление структуры здесь сделало бы всё гораздо понятнее, например:

Использование

  • Разрешить использование значка в качестве заголовка
  • Можно выдавать несколько раз

Видимость

  • Показывать значок на публичной странице значков
  • Показывать пост, в котором был выдан значок, на странице значка
  • Показывать значок в посте, за который он был выдан

Для всплывающей подсказки как насчёт следующего:

Требует включения обоих параметров: «Показывать значок на публичной странице значков» и «Показывать пост, в котором был выдан значок, на странице значка».

4 лайка

Хорошие новости, друзья!

Этот PR только что был принят!

3 лайка

@ganncamp Я тоже развернул это на вашем сайте. :slightly_smiling_face:

2 лайка

Это отличная новость!!! Спасибо!

2 лайка

Ладно… дарёному коню в зубы не смотрят…

Отображение немного разочаровывает:

Selection_2150

Я попробую что-то сделать с этим с помощью CSS.

Редактирование: добавление CSS

// Увеличить размер значков, отображаемых в постах
.topic-meta-data .user-badge-buttons {
transform: scale(1.3);
margin-left: 0px;
}

А то, что нельзя изменить через CSS, — это порядок элементов. Меня удивляет, что значок находится между отображаемым именем и именем пользователя. Можно ли это изменить?

3 лайка

Спасибо за обратную связь, @ganncamp! :slightly_smiling_face:

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

Когда вы говорите об изменении порядка, вы имеете в виду эту проблему или также хотите изменить порядок отображения бейджей, если одному посту присвоено несколько бейджей?

1 лайк

Отлично! Я немного перераспределил элементы в этом PR:

Вот несколько скриншотов с вариантами различных заголовков постов:




1 лайк

Да. Меня (пока :sweat_smile: ) не беспокоит порядок значков.

Я объединил и развернул эти изменения на вашем сайте, @ganncamp! :slightly_smiling_face:

4 лайка

Спасибо!

А вот мой финальный CSS для тех, кому интересно:

// Сделать бейджи, отображаемые на постах, крупнее и ярче
.topic-meta-data .user-badge-buttons .svg-icon {
     transform: scale(1.3);
     // это та часть, что делает их «ярче»
     border-radius: 50%;
     background-color: var(--highlight-bg);
     border-width: 2px;
     border-style: solid;
     border-color: var(--highlight);
     padding: 4px;
}

Результат:
Selection_2162

4 лайка

Эта тема была автоматически закрыта через 2 дня. Новые ответы больше не принимаются.