CSS per nascondere non visti per TL aka. gruppo

Forse dovrei prima descrivere cosa sto cercando di fare.

I TL più alti sul mio forum amano usare unseen. Quindi l’ho aggiunto a top menu. Ma TL0/1 non ne hanno bisogno perché per loro latest e/o categories mostrano esattamente la stessa cosa. Per loro unseen è solo rumore.

Gli utenti TL1 potrebbero/potrebbero averne bisogno, ma rimangono a TL1 perché non sono abbastanza attivi. E di nuovo: poiché non sono attivi, latest offre lo stesso risultato.

Quindi ho deciso di nascondere unseen a chiunque sia sotto TL2.

Come dottore in copia e incolla, so che posso limitare e cambiare layout e parti visibili per gruppo. Ma non riesco a trovare risorse adatte perché mi mancano i termini di ricerca necessari.

Quindi… qualcuno può indicarmi la giusta direzione?

Nel mondo perfetto avremmo un componente per regolare top menu per gruppi. O potremmo persino impostare dei default e lasciare che un utente decida cosa vuole vedere o meno. Ma non viviamo in un mondo perfetto, vero? Beh, nello stesso mondo dei sogni saprei anche il CSS :joy:

C’è il rischio che io veda questo come un problema più grande di quanto non sia. Nel mio mondo circa il 95% degli utenti usa i cellulari e non usa affatto il menu a tendina, quindi non vede mai unseen in primo luogo.

Bene, ho precedentemente sviluppato un componente tematico che può inserire css per gruppi, TL o utenti.

Non sono sicuro se qualcuno su meta abbia sviluppato un componente simile prima… ma in caso contrario, lo pubblicherò

Aggiornamento: Il principio generale è questo, considerando che la mia implementazione è molto strana… non la pubblicherò

<script type="text/discourse-plugin" version="0.8">
try {
    let your_tl = -1; // -1 significa anonimo
    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;}'; // O qualcos'altro
        document.head.appendChild(style);
    }
} catch(err) {
    // ...
}
</script>
2 Mi Piace