I guess best behaviour would be to start the composer with empty category if the user does not have the permission to create new topic in the current one? Potentially with a modal and a notice about such.
أردت أن أحصل على هذه الوظيفة أيضًا، لذا قمت بعمل نسخة من المستودع وجعلته يعرض زر “موضوع جديد” للمستخدمين المجهولين وكذلك للمستخدمين المسجلين. إذا نقر مستخدم مجهول على الزر، يتم توجيهه إلى نافذة تسجيل الدخول/الاشتراك.
هناك بعض أسماء الفئات القديمة، لذا لا تظهر الأنماط كما هو مقصود. تمت إضافة طلب سحب لتحديثها: FIX: update declarations by nolosb · Pull Request #6 · discourse/discourse-new-topic-button-theme-component · GitHub
هل من الممكن تحديث هذه الإضافة إلى الإصدار الجديد؟
لقد قمت للتو بدمج إعادة هيكلة لهذا المكون ليعمل مع هذه التحديثات: Upcoming Header Changes - Preparing Themes and Plugins
يجب أن يعمل المكون كما كان من قبل، مع بعض التحسينات الصغيرة (سيعكس حالة المسودة ويتفاعل مع أذونات الفئة والعلامة الحالية). إذا لاحظت أي مشاكل جديدة، فيرجى إخبارنا.
أردت الحصول على هذه الوظيفة أيضًا، لذا قمت بعمل نسخة من المستودع وجعلته يعرض زر “موضوع جديد” للمستخدمين المجهولين وكذلك للمستخدمين المسجلين. إذا نقر مستخدم مجهول على الزر، يتم توجيهه إلى نافذة تسجيل الدخول/الاشتراك.
لقد أضفت للتو إعدادًا جديدًا show_to_anon (معطل افتراضيًا) سيؤدي إلى تحقيق ذلك.
ما مدى “جدوى” إضافة قائمة منسدلة تمامًا مثل مكون “nolo’s dropdown wizard component”؟
نظرًا لأننا نستخدم المعالج المخصص لإنشاء مواضيع جديدة في فئات معينة، فإننا نرغب بشكل أساسي في ربطها في القوائم المنسدلة. بالإضافة إلى ذلك، نرغب أيضًا في إضافة بعض الروابط الخاصة بالموظفين فقط (مثل “فئة جديدة” و “مجموعة جديدة”) إلى الزر.
مرحباً، لم أتمكن من استخدام أيقونة “pencil” المجانية من FontAwesome في هذا المكون حتى بعد إضافتها إلى إعدادات “svg icon subset”. هل لديك أي فكرة؟
أيقونة “pencil” المجانية من Font Awesome
لا أعتقد أن هناك أيقونة pencil مجانية في الإصدار 5
We’re not on Font Awesome 6 yet, so you’ll need to search the version 5 set for available icons here: Find the Perfect Icon for Your Project in Font Awesome 5 | Font Awesome It looks like that icon was renamed shop in version 6, but it did exist in version 5 with a different name: store-alt. So if you update additional icons and custom tab icon to use store-alt it should work!
أعتقد أن الأمر نفسه ينطبق على pencil في الإصدار 5، وهو pencil-alt
أعتقد أنه نفس الشيء بالنسبة لـ pencil في الإصدار 5، إنه
pencil-alt
شكرا! لقد نجح الأمر!
تم تقسيم منشور إلى موضوع جديد: No New Topic button
طلب: إضافة خيار لتحديد ألوان الزر (الخلفية، النص + الأيقونة) لكل من السمة الفاتحة والداكنة. نظرًا لأن المواضيع الجديدة جزء من تنمية مجتمع ما، فإن وجود زر ملون له تأثير أكبر.
شكرا
من السهل جدًا القيام بذلك باستخدام CSS:
Use this code, changing the color obviously. #new-create-topic { background-color: red; }
(يمكنك استهداف السمات الداكنة والفاتحة باستخدام CSS)
تعديل: إضافة مثال مناسب
#new-create-topic {
background-color: light-dark(red,green);
}
سيؤدي هذا إلى تعيين لون الزر إلى اللون الأحمر في السمة الفاتحة، والأخضر في السمة الداكنة.
ما زلت لست على دراية بـ CSS في Discourse. أنا على دراية بـ CSS، لكنني لم أبدأ في استكشافها داخل Discourse بعد.
كيف/أين أضيف ذلك؟
ما زلت أعتقد أن هذه يمكن أن تكون ميزة لتجنب إضافة المزيد من التعقيد وللأشخاص الذين ليسوا على دراية بـ CSS على الإطلاق، فإنها تجعل المكون أسهل في التخصيص.
كيف/أين أضيف ذلك؟
إما على السمة (السمات) الخاصة بك أو مكون سمة جديد - والذي يجب بعد ذلك تضمينه في السمة (السمات) الخاصة بك:
لقد أضفت رمز CSS في مشاركتي أعلاه.
كنت أيضًا أختبر :hover وهي تعمل مع الزر والنص، ولكن ليس مع الأيقونة، إلا إذا مررت فوق الأيقونة نفسها. هل تعرف كيف تستهدف الأيقونة عند المرور فوق الزر، حتى لو لم يكن مؤشر الفأرة فوق الأيقونة؟
#new-create-topic:hover {
background-color: light-dark(red,red);
color: light-dark(red,white);
}
#new-create-topic .d-icon:hover {
color: light-dark(red,white);
}
قاعدتك الثانية تعني أنك تستهدف الأيقونة عند تمرير مؤشر الفأرة فوق الأيقونة، وليس الزر.
باستخدام صيغة SCSS، والتي
#new-create-topic:hover {
background-color: light-dark(red,red);
color: light-dark(red,white);
}
#new-create-topic:hover .d-icon {
color: light-dark(red,white);
}
(أيضًا لا حاجة لـ light-dark(red,red); إذا كنت تستخدم نفس اللون للضوء والظلام)
أوصي بـ SCSS لأنها أسهل في تنظيم الكود الرائع الخاص بنا، ولكن هذا شيء جديد لتعلمه 😄
#new-create-topic:hover {
background-color: light-dark(red,red);
.d-icon,
& {
color: light-dark(red,white);
}
}
قاعدتك الثانية تعني أنك تستهدف الأيقونة عند تمرير مؤشر الفأرة فوق الأيقونة، وليس الزر.
أنت على حق. خطئي… شكراً!
أيضًا لا حاجة لـ
light-dark(red,red);إذا كنت تستخدم نفس اللون للضوء والظلام
هذه مجرد اختبارات. أنا في الواقع أستخدم السمة الافتراضية ولا أعرف ما إذا كانت هذه السمة تحتوي على كلا الخيارين؟
فيما يتعلق بـ SCSS، لقد تعلمتها قبل بضع سنوات، لكنها كانت شيئًا لم أستخدمه حقًا أبدًا بما أنني لست مطورًا. أستخدم HTML و CSS كثيرًا، لذا أنا على دراية بهذين الاثنين أكثر قليلاً.
لقد وجدت هذا الرمز لإجراء هذا التعديل، لكنني لست متأكدًا مما إذا كانت هذه هي أفضل طريقة للقيام بذلك:
<script type="text/discourse-plugin" version="0.8">
api.onPageChange(() => {
const newTopicButton = document.querySelector('.header-create-topic');
const draftsButton = document.querySelector('.topic-drafts-menu-trigger');
if (newTopicButton && draftsButton && !document.querySelector('.fk-header-buttons')) {
const wrapper = document.createElement('div');
wrapper.className = 'fk-header-buttons';
const parent = newTopicButton.parentNode;
parent.insertBefore(wrapper, newTopicButton);
wrapper.appendChild(newTopicButton);
wrapper.appendChild(draftsButton);
}
});
</script>

