This seems to work for the custom user group:
<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>
But I’d still like to see if there’s a way to do this so it checks the custom user field boolean instead of making people join a group. I’ve been looking through other plugins to get an idea of how to do that, but everything I’ve tried so far hasn’t worked.
ETA: This seems to work, but you need to refresh after checking or unchecking the userfield boolean.
<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>