Permetti agli utenti di nascondere i like sui post tramite una preferenza utente o un campo utente

Questo sembra funzionare per il gruppo utenti personalizzato:

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

Ma vorrei comunque verificare se esiste un modo per farlo controllando un campo booleano personalizzato dell’utente invece di richiedere l’iscrizione a un gruppo. Ho esaminato altri plugin per capire come procedere, ma finora tutto ciò che ho provato non ha funzionato.

ETA: Questo sembra funzionare, ma è necessario aggiornare la pagina dopo aver selezionato o deselezionato il campo booleano dell’utente.

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