هل يمكن لـ Unified New إخفاء المواضيع بعد تمرير المستخدم عليها؟

أنا أفكر في استخدام عرض الموحّد الجديد الجديد كصفحة رئيسية/تغذية رئيسية لموقعي على Discourse، لكنني أود أن يتصرف بشكل يشبه إلى حد ما X/Twitter أو Facebook.

ما أحاول تحقيقه هو:

  • يظهر موضوع في تغذية الموحّد الجديد.

  • يمرر المستخدم للأسفل ويصبح الموضوع مرئياً في نافذته (viewport).

  • بمجرد أن يمرر المستخدم عبره، تعتبر Discourse أن هذا الموضوع قد “رُئي” أو تم تجاهله بالنسبة لهذا المستخدم.

  • إذا قام بالتحديث أو عاد إلى /new لاحقاً، لم يعد يظهر هذا الموضوع.

من المثالي ألا أريد اختفاء الصف فوراً أثناء التمرير، لأن ذلك قد يسبب قفزة في الصفحة. أريد فقط أن يُعلَّم كمُشاهد/مُتجاهل في الخلفية ليختفي عند التحميل التالي.

كما أنني أستخدم نافذة معاينة الموضوع الخاصة بـ Don، والتي تقوم بالفعل بجلب المواضيع مسبقاً حول نافذة العرض. بسبب ذلك، أريد التمييز بين مجرد جلب الموضوع مسبقاً وبين رؤيته فعلياً من قبل المستخدم.

على سبيل المثال، شيء من قبيل:

يكون الموضوع مرئياً بنسبة 50% على الأقل لمدة 200–400 مللي ثانية → يُعلَّم كمُشاهد → يمرر المستخدم عبره → يُتجاهل من الموحّد الجديد.

هل قام أحد بتنفيذ شيء مشابه؟

هل يوجد API أو طريقة واجهة أمامية موجودة في Discourse لتجاهل موضوع فردي من الموحّد الجديد للمستخدم الحالي، أم أن هذا سيتطلب إضافة/مكوّن سمة (theme component)؟

أحاول في الأساس تحويل الموحّد الجديد إلى تغذية تمرير مخصصة أكثر من نوع “الأمور التي لم ترها بعد” بدلاً من إجبار المستخدم على فتح كل موضوع فعلياً.

4 إعجابات

لا أعتقد أن هذه الميزة متاحة حاليًا، لذا سأقوم بنقلها إلى Contribute > Feature.

على الرغم من أن الإجراءات الجماعية موجودة، إلا أنها لا تشعر بالسلاسة الكافية لمجرد “إلغائها” أثناء التمرير.

إعجاب واحد (1)

بما أن نافذة الموضوع المنبثقة تستخدم بالفعل الاستعلام المسبق (pre-fetch)، سأحاول إنشاء مكوّن يُغلق تلقائيًا بمجرد حدوث الاستعلام المسبق.

هل يوجد طريقة لعرض /new كصفحة رئيسية للمستخدمين المسجلين فقط؟ وبالطبع، سيحصل المستخدمون غير المسجلين على خطأ 404.

هل يساعدك هذا؟

يمكنك تغيير “latest” إلى “new” هنا. جربتها وأعتقد أنها تعمل.

يوجد أيضًا https://meta.discourse.org/t/custom-homepage-for-groups/199623، والذي يجب أن يعمل باستخدام مجموعة trust_level_0 التي يُضاف إليها جميع المستخدمين تلقائيًا.

إعجابَين (2)

الآن عرفت أن هناك طريقة أسهل للقيام بذلك… الأمر كان مجرد العثور عليها.

إعجاب واحد (1)

يمكن إغلاق هذا الموضوع أو حذفه، فلم أفهم تمامًا ما يفعله الأمر /new، فقد افترضت أنه يعرض المنشورات من خلال فترة زمنية محددة في الماضي. من الواضح أنه لا يفعل ذلك، لذا يُعرض للمستخدمين الجدد صفحة فارغة.

إعجاب واحد (1)