もしこれが質問する適切な場所ではなかったら申し訳ありません。しかし、ここが適しているように思えます。
フラグレビューにおいて、現在のユーザーと「フラグ付け者」および「フラグ対象」の 2 つを比較するために、おそらくブーリアン値を使いたいと考えています。
現在のユーザーがそのいずれかと一致する場合、同意/不同意/保留などのフラグレビューボタンを非表示にしたいです。これにより、フラグの承認または却下は第三者のみが行えるようになります。
もしこれが質問する適切な場所ではなかったら申し訳ありません。しかし、ここが適しているように思えます。
フラグレビューにおいて、現在のユーザーと「フラグ付け者」および「フラグ対象」の 2 つを比較するために、おそらくブーリアン値を使いたいと考えています。
現在のユーザーがそのいずれかと一致する場合、同意/不同意/保留などのフラグレビューボタンを非表示にしたいです。これにより、フラグの承認または却下は第三者のみが行えるようになります。
この機能に対しては、必ずしもテーマ設定が必要ではありません。ただし、管理者がサードパーティによるフラグ処理の強制をオン/オフできる設定をコンポーネントに追加したい場合は別です。
一般的に、ご説明いただいたようにデフォルトの権限を変更したい場合はプラグインが必要です。テーマやコンポーネントはフロントエンドの変更のみを行うことが可能であり、ユーザーがどこを見ればよいか知っていれば回避されてしまうためです。
オプションを非表示にしたいだけです。確かに知識のあるユーザーはブラウザを使ってボタンを表示させることができます。
しかし、フラグを立てたユーザーやフラグの対象となっている現在のユーザーに対して、単に非表示にしておくことは私の目的には役立ちます。これは究極の解決策というよりは、誘惑を和らげるための応急処置(絆創膏)のようなものです。
コアの関連コードをざっと確認したところ、reviewable-item 内の canPerform プロパティ(同意/不同意などのボタンを表示するかどうかを決定するもの)を、独自のロジックで拡張する必要があります。
このような作業が初めての場合は、Developing Discourse Themes & Theme Components が良い出発点となります。これは、コアクラスを修正する方法を解説しており、あなたが実施すべきことそのものです。既存のテーマやコンポーネントも学ぶための素晴らしいリソースです。特に、同じ手法(具体的には initialize-extra-group-classes.js.es6 ファイル)を使用している discourse-extra-group-classes コンポーネントを参照してください。
追伸:これらの投稿はテーマ設定と直接関係がないため、このトピックから移動させます。
ありがとうございます。確認し、学べることを探ります。