لوحات الألوان يتم تحميلها بشكل غير صحيح مع 2.7.0.beta5

تم التحديث إلى الإصدار 2.7.0.beta5 هذا الصباح، وتغيرت العديد من الألوان. يبدو أن لوحة الألوان لا تُقرأ بشكل صحيح، ويتم استخدام لوحة الألوان الافتراضية التي تظهر عند النقر على “لوحة جديدة” بدلاً منها. الموضوعان أدناه يستخدمان لوحتي ألوان مختلفتين، لكن كلاهما ينتهي بلوحة الألوان الافتراضية لـ Discourse “لوحة ألوان جديدة” → لوحة أساسية: فاتحة المحددة في السطر الأول من ملف CSS

المثال 1:
هذه هي لوحة ألوان الموضوع:

وهذا هو السطر الأول من ملف CSS:

$primary: #222222 !default; $secondary: #ffffff !default; $tertiary: #0088cc !default; $quaternary: #e45735 !default; $header_background: #ffffff !default; $header_primary: #333333 !default; $highlight: #ffff4d !default; $danger: #e45735 !default; $success: #009900 !default; $love: #fa6c8d !default;

المثال 2:
هذه هي لوحة ألوان الموضوع:

وهذا هو السطر الأول من ملف CSS:

$primary: #222222 !default; $secondary: #ffffff !default; $tertiary: #0088cc !default; $quaternary: #e45735 !default; $header_background: #ffffff !default; $header_primary: #333333 !default; $highlight: #ffff4d !default; $danger: #e45735 !default; $success: #009900 !default; $love: #fa6c8d !default;

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

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

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

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

لم أتمكن من إعادة إنتاج هذه المشكلة… إذا قمت بتغيير لوحة الألوان في سمة موجودة، هل تظل غير صحيحة؟

3 إعجابات

يبدو أننا نواجه نفس المشكلة. تم التحديث إلى الإصدار 2.7.0.beta5 (6c57f6f49d) ولم يعد مخطط الألوان يُطبَّق على مكون السمة لدينا.

نستخدم:

#meta-links {
    background-color: $header_background;
}

لكن لون الخلفية كان #fff بدلاً من اللون المحدد في مخطط الألوان.

جربت ما يلي:

  • إعادة تعيين مخطط الألوان للسمة
  • نسخ مخطط الألوان وتعيين النسخة للسمة
  • إعادة تعيين مكون السمة للسمة

لكن يبدو أن ذلك لم ينجح. الحل البديل الحالي هو تعيين اللون يدوياً في CSS.

إعجابَين (2)

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

إعجابَين (2)

شكرًا لك @gkln و @smrtey على التفاصيل الإضافية… إحدى الخطوات التي يمكنك تجربتها هي تعطيل المكونات واحدًا تلو الآخر لمعرفة ما إذا كان ذلك يغير أي شيء… من الممكن وجود خطأ صامت لم يتم الإشارة إليه في مكان ما، وقد يكون هذا هو السبب في تعطيل CSS للمكونات.

يبدو أن المشكلة تحدث مع أي مكون يستخدم متغيرات ألوان SCSS. يعمل كل شيء بشكل صحيح إذا أضفت الألوان يدوياً إلى كل مكون على حدة:

$primary: #22262a !important; $secondary: #fefefe !important; $tertiary: #2572e4 !important; $quaternary: #518ee9 !important; $header_background: #1550a7 !important; $header_primary: #fcfcfc !important; $highlight: #9edaf5 !important; $danger: #ff7114 !important; $success: #85cc54 !important; $love: #de0100 !important;

لكن هذا ليس حلاً مثالياً على الإطلاق. لا أرى كيف يمكنني تشخيص هذه المشكلة. لا يوجد أي احتمال أن أملك القدرة على معرفة ما قد يجعل Discourse تحميل لوحة ألوان مختلفة.

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

حسناً، قام @pmusaraj بفحص أكثر دقة واكتشف الخلل… وقد تم إصلاحه هنا:

…لذلك، تحديث مواقعك مرة أخرى يجب أن يحل المشكلة.

إذا كانت هذه مكونات سمة (theme components) قمت بإنشائها، فنحن نوصي بتحديثها لاستخدام خصائص CSS المخصصة بدلاً من متغيرات SCSS الخاصة بنا. هذا التحول يعني أنه يمكنك استخدام الوضع المظلم التلقائي، ويجعل تجاوز الألوان أسهل. مزيد من التفاصيل هنا:

6 إعجابات