CSS pour masquer ce qui n'est pas vu par TL aka. groupe

Peut-être devrais-je d’abord décrire ce que j’essaie de faire.

Les TL supérieurs sur mon forum aiment utiliser unseen. Je l’ai donc ajouté au top menu. Mais les TL0/1 n’en ont pas besoin car pour eux latest et/ou categories affichent exactement la même chose. Pour eux, unseen n’est que du bruit.

Les utilisateurs TL1 peuvent/pourraient en avoir besoin, mais ils restent au TL1 car ils ne sont pas assez actifs. Et encore une fois : parce qu’ils ne sont pas actifs, latest offre le même résultat.

J’ai donc décidé de masquer unseen à toute personne en dessous du TL2.

En tant que docteur en copier-coller, je sais que je peux limiter et modifier la mise en page et les parties visibles par groupe. Mais je ne trouve pas de ressource appropriée car il me manque les termes de recherche nécessaires.

Alors… quelqu’un peut-il m’indiquer la bonne direction ?

Dans le monde parfait, nous aurions un composant pour ajuster le top menu par groupes. Ou nous pourrions même définir des valeurs par défaut et laisser un utilisateur décider de ce qu’il veut voir ou non. Mais nous ne vivons pas dans un monde parfait, n’est-ce pas ? Eh bien, dans le même monde de rêve, je connaîtrais aussi le CSS :joy:

Il y a un risque que je considère cela comme un problème plus important qu’il ne l’est. Dans mon monde, environ 95 % des utilisateurs utilisent des mobiles et n’utilisent pas du tout le menu déroulant — donc, ils ne voient jamais unseen en premier lieu.

Eh bien, j’ai précédemment développé un composant de thème qui peut insérer du CSS pour des groupes, des niveaux de confiance ou des utilisateurs.

Je ne suis pas sûr si quelqu’un sur meta a déjà développé un composant similaire… mais sinon, je le publierai

Mise à jour : Le principe général est le suivant, étant donné que mon implémentation est très étrange… Je ne la publierai pas

<script type="text/discourse-plugin" version="0.8">
try {
    let your_tl = -1; // -1 signifie anonyme
    if (api.getCurrentUser()?.trust_level) {
        your_tl = api.getCurrentUser().trust_level;
    }
    if (your_tl < 1) {
        var style = document.createElement('style');
        style.innerHTML = '#tl1-only{display:none;}'; // Ou autre chose
        document.head.appendChild(style);
    }
} catch(err) {
    // ...
}
</script>
2 « J'aime »