Hola Tim:
Aquí tienes la alternativa. Ten en cuenta que el contenido aquí debe ir en un archivo JS inicializador en un componente. Puedes ver un ejemplo sencillo de la estructura completa de un componente aquí.
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 no!";
const alertBody =
'Tu cuenta está actualmente restringida y ya no tienes acceso a recursos valiosos. \u003ca href="https://meta.discourse.org"\u003eHaz clic aquí\u003c/a\u003e para más información.';
schedule("afterRender", () => {
// se necesita un retraso para que el servicio de diálogo se cargue
const dialog = getOwner(this).lookup("service:dialog");
dialog.alert({
message: htmlSafe(alertBody),
title: alertHeading,
});
});
}
});
},
};
Espero que esto ayude.