Отлично, я только что выкатил обновление, которое должно исправить неработающие иконки. Я специально проверил все три указанные иконки, и теперь они работают. Также, пока разбирался в коде, я сделал имена бейджей регистронезависимыми.
Поддержка локалей будет приоритетом №1 в следующий раз, когда у меня появится возможность заняться этим.
Для меня это было очень запутанно, так как создаётся впечатление, что система ищет в списке значков сайта, но не находит их. Я попробовал выполнить полную перезагрузку страницы, чтобы найти мои новые значки и так далее. Рад, что всё работает, но, возможно, интерфейс можно изменить: сделать обычное текстовое поле вместо неработающего поиска? Мне кажется, это сделало бы его менее запутанным в использовании.
Нормально ли получать сообщение «Эти локальные изменения будут удалены при обновлении. Вы уверены, что хотите продолжить?» при обновлении компонента темы? Я на 99,9% уверен, что не вносил никаких изменений, а информация о коммите git выглядит так, будто это связано с обновлением, а не с локальными изменениями:
diff --git a/discourse-post-badges/about.json b/discourse-post-badges/about.json
new file mode 100644
index 0000000..eb86c4b
--- /dev/null
+++ b/discourse-post-badges/about.json
@@ -0,0 +1,15 @@
+{
+ "name": "Post Badges",
+ "component": true,
+ "license_url": "https://github.com/tshenry/discourse-post-badges/blob/master/LICENSE",
+ "about_url": "https://meta.discourse.org/t/post-badges-component/114722",
+ "authors": null,
+ "theme_version": null,
+ "minimum_discourse_version": null,
+ "maximum_discourse_version": null,
+ "assets": {
+ },
+ "color_schemes": {
+ },
+ "learn_more": "https://meta.discourse.org/t/beginners-guide-to-using-discourse-themes/91966"
+}
\ No newline at end of file
diff --git a/common/common.scss b/discourse-post-badges/common/common.scss
similarity index 100%
rename from common/common.scss
rename to discourse-post-badges/common/common.scss
diff --git a/common/head_tag.html b/discourse-post-badges/common/head_tag.html
similarity index 100%
rename from common/head_tag.html
rename to discourse-post-badges/common/head_tag.html
diff --git a/discourse-post-badges/settings.yml b/discourse-post-badges/settings.yml
new file mode 100644
index 0000000..7e7e250
--- /dev/null
+++ b/discourse-post-badges/settings.yml
@@ -0,0 +1,21 @@
+badges:
+ type: list
+ default: ""
+ description:
+ en: 'Use the name of the badge as it appears on the
+ <a href="/admin/badges">list of badges</a>.
+ Post badges will appear in the order they are
+ added to this setting.'
+badge_link_destination:
+ type: enum
+ default: "user's badge page"
+ choices:
+ - "badge overview page"
+ description:
+ en: "Where a user will be taken when they click on a post badge."
+only_show_highest_trust_level:
+ type: bool
+ default: false
+ description:
+ en: "When including trust level badges (Basic, Member, Regular, Leader),
+ only show the highest trust level a user has earned."
Добавлено: Я выполнил обновление, и всё работает нормально. Так что…
Интерфейс настроек темы является общим для ядра Discourse, поэтому я не могу ничего сделать, чтобы улучшить эту настройку в самом компоненте. Это определенно то, что я хотел бы видеть более интуитивно понятным, а возможно, даже с возможностью динамического заполнения списка с функцией поиска в будущем.
Я понимаю, что этот код будет утерян при обновлении компонента, поэтому интересно, есть ли лучший способ сделать это? Можно ли, например, как-то переопределить функцию buildBadge?
Фоновая информация: мы хотим показывать эту иконку только пользователям, у которых ДЕЙСТВИТЕЛЬНО есть портфолио, то есть они создали хотя бы одну тему в нашей категории «Artwork». Это легко реализовать с помощью запроса к значкам, и поскольку мы уже используем компонент Post Badges на нашем сайте, такой подход казался разумным.
В случае с конкретной проблемой, когда поиск значков не работает — да. Это известная проблема интерфейса, о которой я упоминал всего несколькими постами выше.
@bartv, я определенно хотел бы провести улучшение и рефакторинг этого компонента в ближайшем будущем. Я посмотрю, что можно сделать, чтобы перестроить всё так, чтобы вы могли обрабатывать переопределения в отдельном компоненте темы. Не уверен, когда мне удастся заняться этим, но обязательно обновлю эту тему, как только появятся новости.
На данный момент — нет, но я буду иметь это в виду в следующий раз, когда буду работать над этим компонентом.
Верно, см.:
Когда я займусь обновлением этого компонента, посмотрю, смогу ли предложить более элегантное решение для этого.