Come limitare l'accesso al pulsante pin/rimuovi pin

Ho provato questo codice nell’header

document.addEventListener("DOMContentLoaded", function() {
    setTimeout(() => {
        let userTrustLevel = parseInt(Discourse.User.current().trust_level);

        if (userTrustLevel < 4) {
            document.querySelectorAll(".pin-topic, .unpin-topic").forEach(button => {
                button.style.pointerEvents = "none";
                button.style.opacity = "0.5";
                button.title = "Non hai il permesso di fissare argomenti";
            });
        }
    }, 1000);  complet
});

e nel css

.d-header-icons .pin-topic,
.d-header-icons .unpin-topic,
.controls .pin-topic,
.controls .unpin-topic {
    display: none !important;
}

ma un utente semplice con livello di fiducia 1 o 0 può toccare il pulsante di fissaggio e vederlo.

Sblocca automaticamente gli argomenti quando l'utente raggiunge il fondo per impostazione predefinita. questo è disattivato
Sblocca automaticamente gli argomenti quando l'utente raggiunge il fondo. questo è disattivato

Ciao, benvenuto! :wave:

Stai parlando di questi pulsanti?

Puoi nascondere i pulsanti solo con CSS.

Installa prima questo componente: CSS Classes for Current User's Groups. Aggiungerà i nomi dei gruppi utente correnti, ad esempio group-<nome>, all’elemento <body>.

Quindi puoi puntare a qualsiasi cosa:

:not(.group-trust_level_4) #topic-footer-buttons .pinned-button {
  display: none;
}
5 Mi Piace

Si noti che ci sono diversi punti in cui un argomento può essere fissato/rimosso dai preferiti:

4 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.