Ignorar tema para o backend do admin, ou adicionar classname ao <html>?

Continuando a discussão de Tema diferente para o backend de administração?:

A solução alternativa recomendada atualmente para não aplicar temas à interface de administração é:

O Discourse suporta SCSS, o que significa que você só precisa adicionar body:not(.admin-interface) uma vez ao seu tema. Não é necessário adicioná-lo a cada regra.

À primeira vista, isso parece um pouco problemático, pois o seletor :root, onde várias cores são definidas, está acima de <body>, e as cores personalizadas ainda afetam tanto a interface de administração quanto a dos usuários.

Seria mais fácil se a tag <html> também tivesse a classe .admin-interface (ou uma variante dela). (Ou, melhor ainda, as personalizações de tema seriam ainda mais fáceis se um tema separado (padrão) pudesse ser configurado para a interface de administração.)

Se o Discourse permitisse que criadores de temas estilizassem apenas as partes visíveis aos usuários normais, isso provavelmente facilitaria a criação e personalização de temas.


Um tópico relacionado é o uso de um idioma separado para a interface de administração (discutido aqui: Can discourse have different language interfaces for admin only?) — isso seria especialmente útil para ajustar traduções em idiomas com cobertura muito precária (ou seja, incorreta) ou incompleta (muitas strings sem tradução).

Estou configurando o Discourse em estoniano e gostaria de corrigir as más traduções voltadas ao usuário conforme as vejo, mas usar a interface de administração em estoniano é muito confuso, pois muitos textos estão incorretos ou simplesmente não são compreensíveis.

Sim, acho que faria sentido para nós separarmos a área de administração em algum momento. Isso pode definitivamente ser um fardo adicional para a criação de temas, o que geralmente não é necessário. O WordPress também separa temas/estilos da área de administração.

Enquanto isso, criei um PR para adicionar uma classe admin-area à tag HTML. Usei um nome diferente e mantive a tag body antiga para não impactar temas existentes.

https://github.com/discourse/discourse/pull/12459