Y a-t-il un moyen de restreindre un composant de thème aux seuls modérateurs ?

J’ai développé un composant de thème spécifiquement pour nos modérateurs. Ce composant ajoute une modale qui rappelle aux modérateurs de suspendre un utilisateur après avoir traité un signalement. J’ai placé ce composant dans javascripts/discourse/admin/components/modal/remove-post.gjs, et en haut, il importe AdminUser avec import AdminUser from "admin/models/admin-user";.

Pour les modérateurs, tout fonctionne parfaitement. Cependant, les utilisateurs réguliers rencontrent des problèmes. Discourse essaie toujours de charger ce composant pour tous les utilisateurs, et comme les utilisateurs réguliers ne chargent aucun module admin/**, cela entraîne l’erreur suivante :

Error: Could not find module `admin/models/admin-user`

Idéalement, j’aimerais que ce sous-composant (ou même juste cet import) ne se charge que pour les modérateurs et les administrateurs. Existe-t-il un moyen officiellement pris en charge pour garantir qu’un composant Glimmer au sein d’un composant de thème ne soit chargé que pour le personnel (modérateurs/administrateurs) dans Discourse, afin que les utilisateurs réguliers ne rencontrent jamais d’erreurs de module manquant pour les importations spécifiques à l’administration ?

2 « J'aime »

Pour le moment, la meilleure stratégie consiste à utiliser optionalRequire comme ceci :

Nous travaillons beaucoup sur nos systèmes de build JS en ce moment, il est donc possible que cela doive changer à l’avenir. Si c’est le cas, un message de dépréciation donnera des instructions pour la mise à niveau.

4 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.