Impedir que usuários alterem seus nomes completos

Eu dei uma olhada; ocultar o campo com a API pode ser feito, mas não consigo encontrar nenhum dado confiável para saber se esse usuário é aprovado ou não (no contexto da página de preferências) :thinking:

É o que tenho por enquanto.
Não tenho certeza se devo me sentir mal; talvez um pouco “hacky” aqui. :smile:

js

<script type="text/discourse-plugin" version="0.8">

const { setting } = require("discourse/lib/computed");

api.modifyClass("controller:preferences/account", {
  pluginId: "hide-name-in-preferences",

  get canEditName() {
    const enables_name = setting("enable_names");

    if (enables_name && this.isCurrentUser && !this.model.staff) {
      if (this.model.name) {
        // Oculta apenas o campo de entrada (o nome é exibido)
        this.model.can_edit_name = false;
      } else {
        // Oculta toda a seção
        return false;
      }
    }

    return enables_name;
  },
});
    
</script>
1 curtida