CSSで非表示にする(TL、つまりグループごと)

おそらく、まず私が何をしようとしているのかを説明した方が良いでしょう。

私のフォーラムの上位TL(トラストレベル)はunseenを使用するのが好きです。そのため、top menuにそれを追加しました。しかし、TL0/1にとってはlatestcategoriesと全く同じように表示されるため、unseenは必要ありません。彼らにとってunseenは単なるノイズです。

TL1ユーザーは必要とするかもしれませんが、アクティブではないためTL1に留まっています。そして再び、アクティブではないためlatestは同じ結果を提供します。

そのため、TL2未満の誰もからunseenを隠すことにしました。

コピペの博士号取得者として、グループごとにレイアウトや表示される部分を制限および変更できることは知っています。しかし、必要な検索用語が不足しているため、適切なリソースを見つけることができません。

それで…誰か正しい方向を示してもらえませんか?

完璧な世界では、グループごとにtop menuを調整するコンポーネントがあるでしょう。あるいは、デフォルトを設定して、ユーザーが何を見たいか、あるいは見たくないかを自分で決められるようにすることもできます。しかし、私たちは完璧な世界に住んでいるわけではありませんよね?まあ、同じ夢の世界ではCSSも知っているでしょうね :joy:

これは実際よりも大きな問題だと見ているリスクがあります。私の世界では、ユーザーの約95%がモバイルを使用しており、ドロップダウンメニューを全く使用しないため、そもそもunseenを見ることはありません。

以前、グループ、TL、またはユーザーにCSSを挿入できるテーマコンポーネントを開発しました。

メタで誰かが同様のコンポーネントを開発したかどうかはわかりませんが、もしそうでなければ、投稿します

更新:一般的な原則は次のとおりです。私の実装は非常に奇妙なので、投稿しません。

<script type="text/discourse-plugin" version="0.8">
try {
    let your_tl = -1; // -1は匿名を意味します
    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;}'; // または他の何か
        document.head.appendChild(style);
    }
} catch(err) {
    // ...
}
</script>
「いいね!」 2