Comment désactiver la fenêtre modale des e-mails entrants

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