Возможно ли сделать API-запрос для получения списка игнорируемых пользователей и скрыть темы, созданные этими пользователями, или удалить их до рендеринга списка тем?
Вот моя текущая реализация:
Вдохновлено:
https://meta.discourse.org/t/topics-created-by-ignored-users-showing-on-homepage/170366/14
А также этим компонентом темы:
Это также будет работать на мобильных устройствах.
Кроме того, если вы обновите эту строку:
до
<a href="{{topic.lastPostUrl}}" data-user-card="{{topic.last_poster_username}}" data-user-id="{{topic.creator.username}}">{{avatar topic.lastPosterUser imageSize="large"}}</a>
и измените мой код здесь:
https://github.com/notedboi/Discourse-Hide-Ignored-Users/blob/main/common/head_tag.html#L13
на
let tr = $('*[data-user-id="' + ignored[u] + '"]');
то сможете сохранить просмотр аватара/карточки последнего автора, скрывая при этом темы, созданные игнорируемыми пользователями.
Моя единственная озабоченность заключается в том, что скрипт продолжает проверять каждые 500 мс и может потреблять слишком много памяти.
Я также изучаю, как удалить игнорируемых пользователей из категории мобильных тем.
<script type="text/x-handlebars" data-template-name="components/mobile-category-topic">
<td class="main-link" data-user-id="{{topic.creator.username}}">
<div class="topic-inset" >
{{raw "topic-status" topic=topic}}
{{topic-link topic}}
{{#if topic.unseen}}
<span class="badge-notification new-topic"></span>
{{/if}}
<span class={{cold-age-class topic.last_posted_at}} title={{raw-date topic.last_posted_at}}>{{format-age topic.last_posted_at}}</span>
</div>
</td>
<td class="num posts">{{raw "list/post-count-or-badges" topic=topic postBadgesEnabled="true"}}</td>
</script>
Когда я попытался добавить data-user-id в этот вид, это не сработало. Неужели я смотрю не в тот шаблон?
Обновление: Я понял проблему. Объект темы, передаваемый из category.topic, не содержит ID создателя темы. Кроме того, ни одно из свойств объекта темы нельзя использовать как флаг для удаления темы. Я в тупике. Любая помощь будет очень кстати
!
Я пытаюсь обновить это и избежать использования setinterval, но если кто-то захочет его использовать, последнее обновление поддерживает как Миниатюры тем, так и Выдержки из списка тем.
Кажется, ваш код не сработал и сильно замедлил работу форума. Есть какие-то идеи? @th21
Возможно, оно устарело для использования, поэтому я создал новый компонент, если вы хотите его попробовать.
Он основан на
Я использую ваш компонент уже давно и считаю, что он должен стать частью ядра Discourse. Большое спасибо за его создание. К сожалению, теперь он помечен как требующий обновления для совместимости со новыми списками тем Glimmer:
Я посмотрю