Ocultar acciones de marcar para el usuario actual cuando están marcados o el que marca

Disculpa si quizás este no es el lugar adecuado para preguntar, pero parece que podría serlo.

Me gustaría usar, supongo, un valor booleano para comparar al usuario actual con dos elementos en la revisión de la bandera: el que marca la bandera y el objetivo de la misma.

Si el usuario actual coincide con cualquiera de ellos, se ocultan los botones de revisión de la bandera (como Aceptar/Rechazar/Posponer, etc.). De este modo, las banderas solo podrán ser validadas o descartadas por un tercero.

No creo que sea estrictamente necesario un ajuste de tema para esto, a menos que quieras añadir una configuración a tu componente que permita a los administradores activar o desactivar la obligación de que los indicadores sean gestionados por un tercero.

En términos generales, se necesita un complemento si deseas modificar permisos predeterminados como los que describiste, ya que los temas y componentes solo pueden realizar cambios en el frontend y los usuarios pueden eludirlos si saben dónde buscar.

Solo busco ocultar opciones. Seguro que un usuario con conocimientos podría usar el navegador para volver a mostrar los botones.

Pero esto serviría para mis propósitos: simplemente ocultarlo para el usuario actual si es quien levantó la bandera o el objetivo de la misma. Es más un disuasivo contra la tentación (un parche) que una solución definitiva.

Tras una rápida revisión del código relevante en el núcleo, necesitarás extender la propiedad canPerform (que determina si se deben mostrar los botones de aceptar/desacatar, etc.) en reviewable-item con tu lógica adicional:

Si nunca has hecho algo así, el Developing Discourse Themes & Theme Components sería un excelente punto de partida. Cubre cómo modificar una clase del núcleo, que es exactamente lo que necesitas hacer. Los temas y componentes existentes son un gran recurso del que puedes aprender; consulta el componente discourse-extra-group-classes, que utiliza la misma técnica que necesitarás emplear (en particular, el archivo initialize-extra-group-classes.js.es6).

P.D.: Voy a mover estas publicaciones fuera de este tema, ya que no están directamente relacionadas con la configuración de temas.

Gracias, revisaré y veré qué puedo aprender.