Inicialmente, eu ficaria satisfeito com um esquema de cores claro e um escuro definidos dentro do meu único tema. Mas há CSS que gostaria de alterar especificamente quando o esquema de cores escuro estiver em uso.
Existe alguma maneira de configurar um tema escuro como uma espécie de tema filho, para que ele possa herdar todos os estilos do seu tema pai (claro), mas tenha seu próprio esquema de cores e consista apenas de sobrescritas do pai?
Você pode compartilhar qual CSS gostaria de alterar especificamente apenas para o esquema de cores escuro? Em teoria, se forem apenas cores, você pode fazer isso usando definições de cores. Se for algo mais do que isso, será necessário usar temas separados (e você também terá que abrir mão da troca automática do modo escuro).
Consultei a postagem do @pmusarajaqui e, após algumas experimentações, fiz o seguinte:
Em common/color_definitions.scss, defini variáveis para representar o background-color e a cor da fonte de .nav-pills. Meu modo escuro não especifica uma cor de fonte, e meu modo claro não especifica um background-color, mas preciso especificar algo para que dark-light-choose() funcione, então usei as variáveis do núcleo do Discourse ($primary e $quaternary-low, respectivamente):
// SCSS de uso geral para os modos escuro e claro:
.nav-pills>li>a:hover {
background-color: var(--custom-nav-pills-bg);
&:not(.active) {
color: var(--custom-nav-pills);
}
}
Ops, obrigado. Editei minha postagem para corrigir isso.
Ah, ok. Eu li esta postagem muito rapidamente e assumi que era uma boa prática sempre incluir um fallback. Percebi que isso é apenas para compatibilidade com versões anteriores, algo que eu não preciso. Obrigado pela esclarecimento. Editei o código em minha postagem acima para refletir isso.