لدينا الإعداد qa enable likes on answers ممكّن ولكن لا توجد
مرئية.
لدينا أيضًا المكون الإضافي الرسمي Discourse Reactions مثبتًا. هل يمكن أن يكون هذا هو سبب هذه المشكلة؟
لقد قمت للتو بتشغيل/إيقاف ردود الفعل على موقع الاختبار الخاص بي للتحقق من ذلك ويبدو أنه متصل. أتساءل عما إذا كان هذا نتيجة لإصلاح هذه المشكلة إبهام لأعلى، مرتين؟
مرحباً،
يتم تعطيل ردود الفعل (إخفاء) افتراضيًا في مواضيع التصويت على المشاركات باستخدام CSS.
يمكنك إعادة تفعيلها بإضافة بعض CSS إلى مكون Common/CSS ![]()
.post-voting-topic,
.post-voting-topic-sort-by-activity {
.discourse-reactions-actions {
display: inline-flex;
}
}
شكراً جزيلاً لك!
الحد الافتراضي مفهوم (الكثير من الخيارات لتقديم الملاحظات يمكن أن يكون مربكًا)، ولكن إذا كان هناك إعداد يسمح للمسؤولين بتمكين “الإعجابات” وكان هؤلاء المسؤولون قد قاموا بتمكين ردود الفعل في مواقعهم، فسيكون من المنطقي تمكين ردود الفعل في منشورات التصويت عند تمكينهم للإعداد.
وفي كل الأحوال، أعتقد أن المزيد من المسؤولين سيعتقدون أن هناك خطأ بدلاً من التحقق من الكود وإصلاح CSS. ![]()
| تم تثبيت ردود الفعل | تم تثبيت التصويت على المنشور | تمكين الإعجابات على الإجابات | استدعاء removePostMenuButton(‘like’)؟ |
|---|---|---|---|
| لا | لا | لا (غير منطبق) | لا، احتفظ بـ |
| نعم | لا | غير منطبق | نعم، قم بإزالة زر الإعجاب، وعرض ردود الفعل |
| لا | نعم | لا | نعم، قم بإزالة زر الإعجاب للإجابات |
| لا | نعم | نعم | لا، احتفظ بـ |
| نعم | نعم | لا | نعم، قم بإزالة زر الإعجاب، وعرض ردود الفعل فقط للمنشور الأول وليس الإجابات |
| نعم | نعم | نعم | نعم، قم بإزالة زر الإعجاب، وعرض ردود الفعل للجميع |
تم رسم شيء يشبه جدول الحقيقة هنا. نحتاج إلى عرض ردود الفعل برمجيًا لمنشورات مختلفة بناءً على إعدادات الموقع، خاصةً enable likes on answers، بدلاً من استخدام display:none في CSS مباشرة.
@tgxworld التقط هذا النوع من الأشياء في ذلك الوقت واقترح أنه ربما يجب علينا توفير واجهة برمجة تطبيقات (API) على discourse-reactions (t/67550/10). ربما يجب أن نفكر في ذلك.
// إزالة زر الإعجاب
api.removePostMenuButton("like");
// وإعادة إضافته
api.decorateWidget("post-menu:before-extra-controls", (dec) => {
return dec.attach("discourse-reactions-actions", {
بدلاً من القيام بذلك
يجب علينا إضافة طريقة replacePostMenuButton في واجهة برمجة تطبيقات المكون الإضافي الأساسي واستخدامها في المكون الإضافي للتفاعلات. في هذه الحالة، لن نحتاج إلى منطق منفصل لزر التفاعل في المكون الإضافي للتصويت على المنشور.
نظرًا لوجود حل بديل، سأقوم بهذا التغيير بعد الإصدار القادم.
تطلب هذا 3 طلبات سحب ولكن فكرتك للتنفيذ كانت رائعة @vinothkannans، تعمل بشكل مثالي. بمجرد دمج كل هذه، سأنشر مرة أخرى ![]()
تم دمج طلبات السحب (PRs) والآن (عند تحديث مثيل Discourse الخاص بك)، فإن ردود الفعل تحترم الإعداد qa_enable_likes_on_answers. شكرًا على تقرير الخطأ @icaria36!
تؤدي طلبات السحب المدمجة إلى كسر الإصدار المستقر لـ discourse. لا يتم تحميل الموقع بسبب خطأ في جافاسكريبت.
Uncaught (in promise) TypeError: e.replacePostMenuButton is not a function
u discourse-reactions.js:12
withPluginApi plugin-api.js:2247
initialize discourse-reactions.js:165
initialize app.js:173
runInstanceInitializers Ember
each dag-map.js:192
walk dag-map.js:121
each dag-map.js:66
topsort dag-map.js:72
Ember 4
invoke queue.ts:201
flush queue.ts:98
flush deferred-action-queues.ts:75
_end index.ts:616
_boundAutorunEnd index.ts:257
discourse-reactions.js:12
نعم، كان ينبغي أن أتوقع هذا. سأقوم بدفع إصلاح إلى المكون الإضافي للتفاعلات للرجوع إليه عندما لا يكون replacePostMenuButton موجودًا.
تعديل: لقد قمت بدمج تغيير يضيف التوافق مع الإصدارات السابقة.
تم إغلاق هذا الموضوع تلقائيًا بعد 4 أيام. لم يعد الرد على هذا الموضوع مسموحًا به.