Permettre aux utilisateurs de masquer les likes sur les publications via une préférence utilisateur ou un champ utilisateur

Cela semble fonctionner pour le groupe d’utilisateurs personnalisé :

<script type="text/discourse-plugin" version="0.8">
api.reopenWidget("post-menu", {
    menuItems() {
        const user = Discourse.User.current();
        if(user.primary_group_name.toLowerCase() === "no_likes") {
            return this.siteSettings.post_menu
                .split("|")
                .filter((item) => item !== "like");
        }
        return this.siteSettings.post_menu.split("|").filter(Boolean);
    },
});
</script>

Mais j’aimerais quand même savoir s’il existe un moyen de faire cela en vérifiant un champ booléen personnalisé de l’utilisateur plutôt que de demander aux gens de rejoindre un groupe. J’ai parcouru d’autres plugins pour avoir une idée de la façon de procéder, mais tout ce que j’ai essayé jusqu’à présent n’a pas fonctionné.

ETA : Cela semble fonctionner, mais vous devez actualiser la page après avoir coché ou décoché le booléen du champ utilisateur.

<script type="text/discourse-plugin" version="0.8">
api.reopenWidget("post-menu", {
    menuItems() {
        const user = Discourse.User.current();
        if(user.custom_fields['user_field_10']) {
            return this.siteSettings.post_menu
                .split("|")
                .filter((item) => item !== "like");
        }
        return this.siteSettings.post_menu.split("|").filter(Boolean);
    },
});
</script>
2 « J'aime »