Usa lo schema di colori colore se lo schema è scuro, altrimenti usa il mio colore nel tema

Vorrei fare qualcosa del genere

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

ma ovviamente non è possibile perché non esiste un if in CSS e SCSS non viene elaborato a runtime.

Per quanto ne so, Discourse non aggiunge classi per indicare se il tema scuro è attivo e CSS non consente l’uso di proprietà personalizzate nei selettori.

Avete qualche idea su quale potrebbe essere la soluzione migliore?

Penso che questo sia ciò che stai cercando:

Quindi, in color_definitions.scss puoi fare:

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

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

e poi utilizzerai la nuova proprietà personalizzata per il cambio scuro/chiaro nel tuo tema:

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

Yay, sembra funzionare :yum:

Un po’ strano che i parametri non siano nello stesso ordine del nome della funzione.

Quindi deve essere dark-light-choose(#3b5998, $primary)