لقد بحثت في هذا مرة أخرى الأسبوع الماضي وتمكنت من إعادة إنتاج هذه المشكلة باتباع الخطوات التالية:
-
قم بتكوين نظام التشغيل الخاص بك لاستخدام الوضع المظلم (في نظام التشغيل Windows 11، يتم ذلك في الإعدادات → تخصيص → الألوان → اختر وضعك)
-
في تفضيلات Discourse الخاصة بك، حدد مخططات ألوان مختلفة للوضع العادي والمظلم وأعد تحميل الصفحة
-
الآن يجب أن ترى مخطط الألوان الذي حددته للوضع المظلم يسري في واجهة المستخدم (كما هو متوقع)، ولكن علامة
theme-colorالوصفية ستحتوي على قيمة لونheader_backgroundلمخطط الألوان الذي حددته للوضع الفاتح عندما يجب أن تكون في الواقع للوضع المظلم.
هذا الأمر صعب الإصلاح بعض الشيء لأننا على جانب الخادم - وهو المكان الذي يتم فيه عرض جميع العلامات الوصفية - ليس لدينا سياق حول ما إذا كان العميل/المتصفح سيستخدم مخطط الألوان الفاتح أو المظلم. نحن ببساطة نضمن تعريفات الألوان لكل من المخططين الفاتح والمظلم، ثم يختار العميل/المتصفح المخطط الذي يتوافق مع تفضيل المستخدم وفقًا للاستعلام الإعلامي prefers-color-scheme.
ومع ذلك، يبدو أن علامة theme-color الوصفية تقبل سمة media، لذلك يجب أن نكون قادرين على تضمين علامة theme-color وصفية أخرى للمخطط المظلم مع تعيين media إلى (prefers-color-scheme: dark). سأحاول إنجاز هذا هذا الأسبوع.