تغيير صفحات المجموعة الافتراضية إلى /messages

تستخدم هذه الروابط مُسلسِلًا مختلفًا قليلاً - لأنه لا يلزم وجود كل بيانات المجموعة هناك.

ومع ذلك، يمكنك تخزين قائمة مصفاة لمجموعات المستخدم الحالي عند عرض الصفحة الأولية واستخدامها كمرجع للتحقق من العضوية. هذه المعلومات متاحة بالفعل في الحمولة الأولية، لذلك لا يوجد حمل إضافي من حيث الطلبات الإضافية أو أي شيء من هذا القبيل. شيء مثل هذا

<script type="text/discourse-plugin" version="0.8">
  const user = api.getCurrentUser();

  if (!user) {
    return;
  }

  const userGroups = user.groups.map(group => group.name);

  api.reopenWidget("pm-map-user-group", {
    transform(attrs) {

      const group = attrs.group;
      const isGroupUser = Object.values(userGroups).includes(group.name);

      // {href: "/g/foo"};
      let groupURL = this._super(...arguments);

      if (isGroupUser && group.has_messages) {
        groupURL.href = `${groupURL.href}/messages/`;
      }

      return groupURL;
    }
  });
</script>

احتفظ بهذا المقتطف في علامات النص البرمجي الخاصة به وأضفه إلى الرأس مع المقتطفات الأخرى. تحتفظ به منفصلاً لأنه يقوم بإلغاء سريع إذا لم يكن المستخدم مسجلاً للدخول.