Permitir que usuários ocultem curtidas em posts através de uma preferência de usuário ou campo de usuário

Isso parece funcionar para o grupo de usuários personalizado:

<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>

Mas eu ainda gostaria de ver se há uma maneira de fazer isso verificando o campo booleano do usuário personalizado em vez de fazer as pessoas se juntarem a um grupo. Tenho procurado em outros plugins para ter uma ideia de como fazer isso, mas tudo o que tentei até agora não funcionou.

ETA: Isso parece funcionar, mas você precisa atualizar a página após marcar ou desmarcar o booleano do campo de usuário.

<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 curtidas