الشريط الجانبي للدردشة

:information_source: ملخص يفتح تلقائيًا ويعرض الدردشة مثل الشريط الجانبي، طالما توفرت المساحة، ويستفيد من الارتفاع
:hammer_and_wrench: المستودع GitHub - Arkshine/discourse-chat-sidebar
:question: دليل التثبيت كيفية تثبيت سمة أو مكون سمة
:open_book: جديد في سمات Discourse؟ دليل المبتدئين لاستخدام سمات Discourse

Install this theme component

Credits: @Alon1 (sponsored request)[1]

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

  • دعم تغيير حجم النوافذ
  • دعم المحرر
  • يمكن تثبيته إما على المحتوى أو النافذة من كلا الجانبين
  • يمكن للمستخدم اختيار الموضع (محفوظ في التخزين المحلي للمتصفح)
  • يمكن العودة إلى حالة الدردشة الأصلية إذا تم فتحها سابقًا
  • تفضيلات المستخدم الأصلية للدردشة لم تتأثر
  • دعم جزئي للسمات (معظم السمات الشائعة)

يجب أن يعمل هذا مع معظم السمات.
أخبرني إذا كانت هناك خيارات مفقودة أو شيء لا يعمل مع سمة ما! :smile:

الإعدادات

الاسم الافتراضي الوصف
breakpoint auto نقطة التوقف بالبكسل لظهور الشريط الجانبي للدردشة.
قم بتعيينها على auto لاستخدام عرض الشريط الجانبي والمحتوى الافتراضي كنقطة توقف طبيعية (موصى به).
width 400px عرض الشريط الجانبي للدردشة.
position [2] right موضع الشريط الجانبي للدردشة.

left: التثبيت على الجانب الأيسر من المحتوى
right: التثبيت على الجانب الأيمن من المحتوى
outside-left: التثبيت على الجانب الأيسر من النافذة
outside-right: التثبيت على الجانب الأيمن من النافذة
theme_style عند الإمكان، استخدم نمط السمة الحالي على هذه مواضع الشريط الجانبي للدردشة.
متوفر فقط لمعظم السمات الشائعة.
هذا ليس إعدادًا موثوقًا (يمكن تغيير اسم السمة).
عطّل لاستخدام نمط السمة الافتراضي.
allow_user_preference[3] السماح للمستخدمين بتعيين تفضيلات الشريط الجانبي للدردشة الخاصة بهم.
ملاحظة: يتم حفظ هذا في التخزين المحلي لمتصفح المستخدم.

القيم المتاحة:
position: السماح للمستخدمين بتعيين موضع الشريط الجانبي للدردشة

للمستقبل

  • اختبارات
  • انتقالات أكثر سلاسة
  • المزيد من تفضيلات المستخدم؟

ملاحظات المطور

في البداية، حاولت إدراج مكون ChatDrawer في منفذ آخر لتسهيل معالجته وإبقائه في التدفق. للأسف، لا يمكن قمع المكون الأصلي بالكامل (أفكر في الأحداث). على الأقل، لم أتمكن من العثور على طريقة لتجاوزه.

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


  1. إذا كنت مهتمًا، حالة استخدام Alon هنا. ↩︎

  2. تأكد من تحديث الصفحة. ↩︎

  3. هام: يستخدم هذا الإعداد أحدث واجهة برمجة التطبيقات لعرض الأيقونة في الرأس ويتطلب أحدث إصدار من Discourse. ↩︎

24 إعجابًا

عمل رائع! :clap: :slight_smile:

هل يدعم هذا https://meta.discourse.org/t/discourse-bars-a-sidebar-framework/298216 ، لأنه سيكون من الجيد دمجه مع أدوات الشريط الجانبي الأخرى؟

7 إعجابات

للأسف، لا يمكنه دعم “Discourse Bars” في الوقت الحالي.
يستخدم المكون درج الدردشة الأصلي، ويتم تحديد الموضع يدويًا.
ما لم نتمكن من استخدام/نقل المكون الأصلي <ChatDrawer /> حيثما نريد، فسيكون ذلك صعبًا، على ما أعتقد. أتفق معك، على الرغم من ذلك؛ سيكون ذلك رائعًا! :slight_smile:

على الأقل يمكن عرضه بجانب الشريط الجانبي للشريط

يستخدم المكون الخاص بي العنصر #main-outlet-wrapper كمرجع، لذا سيعمل أي شيء بداخله بشكل جيد.

4 إعجابات

يا إلهي هذا رائع!

3 إعجابات

هل يعمل هذا فقط إذا تم طي اللوحة الجانبية؟ ألاحظ أنه إذا لم أقم بطي اللوحة الجانبية، فإن الشريط الجانبي للدردشة لا يظهر.

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

في هذا الإصدار الحالي، لا يتم إجبار المحتوى الرئيسي على الانكماش، إذا لم تكن هناك مساحة كافية لوضع الشريط الجانبي للدردشة. هذا حسب التصميم.

ربما تكون هناك مواقف يمكن أن يكون هذا مفيدًا فيها. لا أمانع في إضافة خيار للمستخدم للسماح بذلك. :thinking:

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

حسناً، فهمت، شكراً على المكون، إنه يعمل بشكل جيد حقاً.

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

هل هذا المكون لم يعد يعمل اعتبارًا من 3.6.0.beta2-latest؟ لا يهم ما أختاره، فهو دائمًا على اليمين مثل التجربة الافتراضية… هل يعمل لدى أي شخص؟

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

إعجابَين (2)

لم أختبر بعد، ولكن شكراً على الإبلاغ، سأتحقق من الأمر قريباً!

إعجابَين (2)

مكون رائع :+1: إنها فكرة جيدة جدًا

لقد قدمت طلب سحب لإصلاح الإهمالات المعروفة. :+1:

شكراً لـ @DevTeVe على اختباره!

4 إعجابات

شكراً جزيلاً لك على بذل قصارى جهدك لمساعدتي :heart:!

إذن، كنت أتحدث خارج نطاق الخدمة مع @Arkshine، وبما أن لدي بعض الاقتراحات، فقد قررنا أن هذا مكان أفضل لتركها!

  1. نافذة دردشة قابلة لتغيير الحجم (العرض والارتفاع)
  2. السماح لها بالبقاء عائمة حتى لو كانت تغطي النص على الشاشة.
  3. سيكون من الرائع لو كان العرض تلقائيًا أيضًا؛ بهذه الطريقة، ستجد دائمًا طريقة للتكيف، حتى لو بدت صغيرة، وفي الإعدادات (ليس افتراضيًا)، سيكون لدينا شيء مثل “الحد الأدنى للبكسل” وتحذير يقول، “إذا تم تعيينه، فستعود الدردشة إلى الوضع الافتراضي إذا لم تكن على الأقل قيمة xxx.”
إعجابَين (2)