Salut kynic,
onPageChange est peut-être un peu trop large pour être utilisé (et peu fiable si vous chargez/mettez à jour des publications).
Vous pouvez utiliser decorateCookedElement à la place. Il est appelé pour chaque élément cuit après cuisson.
De plus, voici un moyen de désactiver l’indicateur d’e-mail. C’est juste une astuce pour ne pas inclure le HTML. Si vous êtes curieux, vous pouvez voir le code original ici.
<script type="text/discourse-plugin" version="0.8">
api.reopenWidget("post-meta-data", {
html(attrs) {
if (!attrs.via_email) {
return this._super(attrs);
}
// Ne pas générer le widget "post-email-indicator".
attrs.via_email = false;
const html = this._super(attrs);
attrs.via_email = true;
return html;
}
})
api.decorateCookedElement((element, helper) => {
if (helper?.getModel().via_email) {
element.querySelector('details.elided').remove();
}
}, { onlyStream: true });
</script>
Vous pourriez également utiliser uniquement du CSS pour les masquer.
.post-info.via-email,
.cooked details.elided {
display: none;
}