Salut Tim,
Voici l’alternative, note que le contenu ici doit aller dans un fichier JS d’initialisation dans un composant. Vous pouvez voir un exemple simple de structure de composant complète ici.
import { withPluginApi } from "discourse/lib/plugin-api";
import { getOwner } from "discourse-common/lib/get-owner";
import { schedule } from "@ember/runloop";
import { htmlSafe } from "@ember/template";
export default {
name: "tester-initializer",
initialize() {
withPluginApi("0.8", (api) => {
const currentUser = api.getCurrentUser();
if (currentUser) {
const userGroups = currentUser.groups.map((group) => group.name);
let showPopup = false;
switch (true) {
case userGroups.includes("admins"):
showPopup = true;
break;
}
if (!showPopup) {
return;
}
const alertHeading = "Oh non !";
const alertBody =
'Votre compte est actuellement restreint et vous n\'avez plus accès à des ressources précieuses. \u003ca href="https://meta.discourse.org"\u003eCliquez ici\u003c/a\u003e pour plus d\'informations.';
schedule("afterRender", () => {
// un délai est nécessaire pour que le service de dialogue soit chargé
const dialog = getOwner(this).lookup("service:dialog");
dialog.alert({
message: htmlSafe(alertBody),
title: alertHeading,
});
});
}
});
},
};
J’espère que cela vous aidera.