Possibile modo per nascondere gli utenti ignorati dall'elenco degli argomenti?

È possibile effettuare una chiamata API per ottenere l’elenco degli utenti ignorati dall’utente e nascondere i topic che contengono quell’ID utente, oppure rimuovere tali topic prima che l’elenco dei topic venga renderizzato?

1 Mi Piace

Ecco la mia implementazione attuale
https://github.com/notedboi/Discourse-Hide-Ignored-Users
Ispirata a
https://meta.discourse.org/t/topics-created-by-ignored-users-showing-on-homepage/170366/14
e con questo componente del tema

Funziona anche su mobile.

Inoltre, se aggiorni questa riga

in

<a href="{{topic.lastPostUrl}}" data-user-card="{{topic.last_poster_username}}" data-user-id="{{topic.creator.username}}">{{avatar topic.lastPosterUser imageSize="large"}}</a>

e modifichi il mio codice su
https://github.com/notedboi/Discourse-Hide-Ignored-Users/blob/main/common/head_tag.html#L13
in

  let tr = $('*[data-user-id="' + ignored[u] + '"]');

Potrai mantenere la visualizzazione dell’avatar/card dell’ultimo autore, pur rimuovendo i topic creati dall’autore ignorato.

La mia unica preoccupazione è che lo script continui a controllare ogni 500 ms e potrebbe consumare troppa memoria.

3 Mi Piace

Sto anche cercando di capire come rimuovere gli utenti ignorati dalla categoria dei topic su mobile.

<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>

Quando ho provato ad aggiungere data-user-id a questa vista, non ha funzionato. Sto guardando il modello sbagliato?


Aggiornamento: Ho capito il problema. L’oggetto topic passato da category.topic non contiene l’ID del creatore del topic, e nessuna delle proprietà dell’oggetto topic può essere utilizzata come flag per rimuovere il topic. Sono bloccato. Qualsiasi aiuto sarebbe apprezzato :rofl:!

1 Mi Piace

Sto cercando di aggiornarlo ed evitare di usare setInterval, ma nel caso in cui qualcuno volesse utilizzarlo, l’ultima versione supporta sia Topic Thumbnails che Topic List Excerpts.

Il tuo codice non sembrava funzionare e ha reso il forum molto lento. Qualche idea? @th21

Forse è troppo vecchio per essere utilizzato, ho creato un nuovo componente se desideri provarlo.

Si basa su

2 Mi Piace

Uso il tuo componente da molto tempo e penso che dovrebbe far parte del core di Discourse, grazie mille per averlo creato. Sfortunatamente, ora viene segnalato perché deve essere aggiornato per i nuovi elenchi di argomenti Glimmer:

Darò un’occhiata

2 Mi Piace