استخدم مخطط الألوان اللوني إذا كان المخطط داكنًا، وإلا فاستخدم لوني في السمة

أريد القيام بشيء مشابه لهذا

.some-link {
  @if var(--scheme-type) == 'dark' {
    color: var(--primary);
  } @else {
    color: #3b5998;
}

لكن بالطبع هذا غير ممكن لأنه لا يوجد if في CSS، ولا يتم معالجة SCSS في وقت التشغيل.

وبحسب ما أستطيع رؤيته، لا يضيف Discourse أي فئات للإشارة إلى ما إذا كان الوضع الداكن نشطًا، ولا تسمح CSS باستخدام الخصائص المخصصة في المحددات.

هل لديك أي أفكار حول ما قد يكون أفضل حل بديل؟

أعتقد أن هذا هو ما تبحث عنه:

لذلك في color_definitions.scss يمكنك فعل ما يلي:

$my-theme-color: dark-light-choose($primary, red);

:root {
  --my-theme-color: #{$my-theme-color};
}

وبعد ذلك ستستخدم الخاصية المخصصة الجديدة للتغيير بين الوضع الداكن/الفاتح في سمتك:

body {
  color: var(--my-theme-color);
}

يا هلا، يبدو أن الأمر يعمل بنجاح :yum:

من الغريب قليلاً أن المعاملات ليست بنفس الترتيب الذي عليه في اسم الدالة.

لذا يجب أن يكون الأمر dark-light-choose(#3b5998, $primary)