مرحباً تيم،
إليك البديل، لاحظ أن المحتويات هنا تحتاج إلى الذهاب في ملف JS تهيئة في مكون. يمكنك رؤية مثال بسيط لهيكل مكون كامل هنا.
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 = "يا إلهي!";
const alertBody =
'حسابك مقيد حاليًا ولم يعد لديك حق الوصول إلى الموارد القيمة. \u003ca href="https://meta.discourse.org"\u003e انقر هنا \u003c/a\u003e لمزيد من المعلومات.';
schedule("afterRender", () => {
// تأخير مطلوب حتى يتم تحميل خدمة الحوار
const dialog = getOwner(this).lookup("service:dialog");
dialog.alert({
message: htmlSafe(alertBody),
title: alertHeading,
});
});
}
});
},
};
آمل أن يساعد هذا.