현재 사용자가 신고 대상이거나 신고자일 때 신고 관련 동작 숨기기

이것이 질문하기에 적합한 장소가 아니라면 죄송합니다. 하지만 그럴 수도 있을 것 같습니다.

현재 사용자를 플래그 리뷰의 두 가지 요소, 즉 플래거(Flagger)와 플래그 대상과 비교하는 데 부울(boolean)을 사용하려는 것 같습니다.

현재 사용자가 그 두 가지 중 어느 하나와 일치하면, 플래그 리뷰 버튼(예: 동의/반대/보류 등)을 숨기겠습니다. 이렇게 하면 플래그는 제3자에 의해만 검증되거나 기각될 수 있습니다.

관리자가 플래그 처리를 제3자에게 위임하도록 켜기/끄기 설정을 컴포넌트에 추가하고 싶지 않다면, 반드시 테마 설정이 필요하다고 생각하지 않습니다.

일반적으로 설명하신 것처럼 기본 권한을 수정하려면 플러그인이 필요합니다. 테마/컴포넌트는 프론트엔드 변경만 가능하며, 사용자가 어디를 봐야 하는지 알면 우회할 수 있기 때문입니다.

옵션을 숨기는 것 정도는 보고 싶었을 뿐입니다. 물론 숙련된 사용자는 브라우저를 통해 버튼 표시를 다시 설정할 수 있겠죠.

하지만 제 목적에는, 플래거이거나 플래그 대상인 현재 사용자에게 해당 옵션을 단순히 숨기는 것으로 충분합니다. 근본적인 해결책이라기보다는 유혹을 막아주는 일종의 억제책(임시방편)에 가깝습니다.

core의 관련 코드를 간단히 살펴보면, reviewable-item의 canPerform 속성(찬성/반대 등 버튼이 표시되어야 하는지 결정하는 속성)에 추가 로직을 확장해야 합니다:

이런 작업을 처음 해본다면 Developing Discourse Themes & Theme Components 를 좋은 시작점으로 삼을 수 있습니다. 이 가이드는 필요한 작업인 코어 클래스를 수정하는 방법을 다루고 있습니다. 또한 기존 테마/컴포넌트는 훌륭한 학습 자료로 활용할 수 있으며, 사용해야 할 동일한 기법을 사용하는 discourse-extra-group-classes 컴포넌트(특히 initialize-extra-group-classes.js.es6 파일)를 참고해 보세요.

P.S. 이 게시물들은 테마 설정과 직접적인 관련이 없으므로 해당 주제에서 이동할 예정입니다.

감사합니다. 검토해서 제가 배울 수 있는 것이 무엇인지 확인해 보겠습니다.