Olá, o problema descrito nestes dois tópicos:
Ainda está ocorrendo para mim (testando a versão mais recente/trial do Discourse hospedado)
Olá, o problema descrito nestes dois tópicos:
Ainda está ocorrendo para mim (testando a versão mais recente/trial do Discourse hospedado)
@mk0r Não consigo reproduzir este problema aqui no Meta. Eu uso o tema/esquema de cores Grey Amber aqui, que não é o tema padrão para o Meta:
E a meta tag theme-color tem a cor certa para mim:
<meta name="theme-color" content="#36393e">
#36393e é a cor de fundo do cabeçalho do esquema Grey Amber. Se eu abrir o Meta em uma janela anônima sem fazer login, a meta tag theme-color tem o fundo do cabeçalho do esquema de cores padrão (o esquema Light):
<meta name="theme-color" content="#ffffff">
Você tentou limpar o cache/cookies do navegador para o seu site? Se isso não ajudar, você pode tentar ver se consegue reproduzir este problema aqui no Meta e compartilhar os passos para reproduzir o problema?
Obrigado por verificar, consigo reproduzir — está especificamente relacionado ao modo escuro.
theme-color permanece o mesmo de quando está no modo padrão/claro, pelo menos para mim, aqui no meta e na minha instalação.
Eu até tentei adicionar isto ao head:
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="black" />
Ele aparece no código fonte, mas não está afetando nada, talvez porque a primeira tag meta não especifica prefers-color-scheme: light?
O principal problema para mim é a barra de status brilhante que entra em conflito com a página escura no celular e o fato de ser branco brilhante no “scroll to refresh”.
Acabei de me inscrever para comentar, pois acho que este é o mesmo problema que estou tendo.
Usando o que acho que você chama de aplicativo web progressivo (no Android 13, a opção de instalar o aplicativo ao visualizar um fórum Discourse no Chrome, neste caso é https://llllllll.co/) o aplicativo reflete corretamente as configurações de modo escuro do sistema, mas a barra de status permanece em modo claro. Este problema não está presente no Chrome. Veja a imagem abaixo: aplicativo à esquerda, navegador Chrome à direita.
Que pena que isso não tenha recebido atenção
Não sou técnico o suficiente para escrever um pull request, mas sinto que este deve ser um conserto bem trivial? Talvez pareça picuinha, mas há razões estéticas e funcionais pelas quais eu esperaria que isso pudesse ser consertado ![]()
Investiguei isso novamente na semana passada e consegui reproduzir este bug com os seguintes passos:
Configure seu sistema operacional para usar o modo escuro (no Windows 11, isso é feito em Configurações → Personalizar → Cores → Escolha seu modo)
Em suas preferências do Discourse, selecione esquemas de cores diferentes para os modos normal e escuro e recarregue a página
Agora você deverá ver o esquema de cores que selecionou para o modo escuro ter efeito na interface do usuário (como esperado), mas a meta tag theme-color conterá o valor da cor header_background do esquema de cores que você selecionou para o modo claro, quando na verdade deveria ser o modo escuro.
Isso é um pouco complicado de consertar porque no lado do servidor – que é onde todas as meta tags são renderizadas – não temos o contexto de se o cliente/navegador usará o esquema de cores claro ou escuro. Nós simplesmente incluímos as definições de cores para ambos os esquemas, claro e escuro, e então o cliente/navegador escolhe aquele que corresponde à preferência do usuário de acordo com a consulta de mídia prefers-color-scheme.
No entanto, parece que a meta tag theme-color aceita um atributo media, então deveríamos ser capazes de incluir outra meta tag theme-color para o esquema escuro com media definido como (prefers-color-scheme: dark). Tentarei fazer isso esta semana.
Penso que pode ser o caso de que, se na primeira meta tag você não especificar o modo claro ou escuro e na segunda meta tag você especificar o modo escuro, o modo escuro ainda será pego da primeira. Portanto, acho que é preciso especificar ambas as tags, tanto para o modo claro quanto para o escuro.
Sim, acho que minha alteração fará com que a meta tag para o esquema claro tenha media="(prefers-color-scheme: light)" e a para o esquema escuro tenha media="(prefers-color-scheme: dark)", e os navegadores deverão ser capazes de escolher a que corresponde às preferências do usuário.
FYI @mk0r Eu corrigi este problema 2 dias atrás em:
Obrigado
Parece muito bom, mas infelizmente não funciona para mim. Acho que media="all" está substituindo media="(prefers-color-scheme: dark") também no modo escuro?
Hmmm, você pode compartilhar como está testando isso e qual navegador você usa?
Ah sim, claro, desculpe, esqueci.
Eu tentei em:
Android 12
Chrome 106.0.5249.126 PWA
MacOS 12.4
Chrome 105.0.5195.125 PWA
Eu olhei para o conserto que foi curtido no GitHub e acho que o problema pode ser o descrito na minha mensagem anterior
Talvez eu esteja indo além do meu conhecimento técnico, mas estava apenas olhando para estas linhas:
it "renderiza meta theme-color para o esquema claro com media=all e outro para o esquema escuro com media=(prefers-color-scheme: dark)" do
expect(helper.discourse_theme_color_meta_tags).to eq(<<~HTML)
<meta name="theme-color" media="all" content="#abcdef">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#defabc">
HTML
Acredito que meta name="theme-color" media="all" tenha precedência sobre meta name="theme-color" media="(prefers-color-scheme: dark)" mesmo quando o usuário está no modo escuro.
Veja aqui:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta/name/theme-color
e
https://web.dev/learn/design/theming/
Acho que as páginas renderizadas finais precisam ter as seguintes linhas para funcionar corretamente:
<meta name="color-scheme" content="light dark">
<meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#000000" media="(prefers-color-scheme: dark)">
Onde esses valores hexadecimais seriam substituídos pelos valores do esquema de cores escolhido.
Se a instalação/tema não tiver um esquema de cores escuro diferente, os valores seriam os mesmos.
Percebo que isso é um pouco detalhista, mas realmente faz a diferença, então essa correção é muito apreciada. Acho que a alternativa seria podermos selecionar o theme-color para all ou para os modos escuro e claro através da interface de administração do usuário. Ou não ter um theme-color de forma alguma, para que o dispositivo apenas defina a cor da interface do navegador e respeite a preferência escura/clara do usuário.
Espero que isso ajude ![]()
FYI @Don e @mk0r, isso deve estar corrigido de verdade agora:
(não tenho certeza de quem é kaden-stytch no Meta, mas quem quer que você seja, obrigado!
)
Sim, obrigado
Agora funciona perfeitamente! ![]()
Este tópico foi fechado automaticamente após 2 dias. Novas respostas não são mais permitidas.