Bootbox أصبح قديمًا

مرحباً تيم،
إليك البديل، لاحظ أن المحتويات هنا تحتاج إلى الذهاب في ملف 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,
          });
        });
      }
    });
  },
};

آمل أن يساعد هذا.

3 إعجابات