Elemento #topic-progress Mantém Visibilidade Durante o Carregamento

O elemento #topic-progress aparece de forma anti-padrão enquanto o spinner está visível.

Você pode reproduzir o comportamento: basta abrir um tópico e clicar no link do título no topo usando a visualização móvel para provocar o spinner.

Alguma ideia de como ocultar o #topic-progress enquanto o spinner estiver visível?

1 curtida

Consegue reproduzir aqui ou é específico daquele site?

1 curtida

Surpreendentemente, o meta está isento dessa falha, mas consegui reproduzi-la em nossos servidores de produção e na maioria dos outros sites que conheço.

Outro exemplo:

Edição: parece que, quando um tópico tem muitas postagens, o elemento (progresso do tópico) não fica visível sem rolar a página. É por isso que não consegui reproduzi-lo em alguns sites antes, como o meta.

Apoio fazer algo com o widget de progresso do tópico móvel durante o carregamento do próximo lote. Parece um refinamento razoável, mas não tenho certeza se ocultar totalmente é o que buscamos.

Ocultar a linha do tempo inteira seria um anti padrão, pois faria os elementos pularem.

@design, alguma opinião?

Claramente não é algo que precise ser alterado com urgência, mas pode ser interessante refinar.

2 curtidas

Obrigado pela sua resposta. Entendo sua preocupação com o salto causado ao ocultar a linha do tempo completa; por isso, apenas reservar um espaço de preenchimento será viável.

Não é inteiramente um problema de CSS; fixar ou ajustar o progresso do tópico para baixo enquanto o spinner está ativo está relacionado ao JavaScript.

Ainda estou curioso sobre o motivo de não ser possível reproduzir isso aqui. É possível reproduzir em try.discourse.org? Isso é específico ao layout CSS desses sites, como cabeçalhos adicionais e assim por diante?

1 curtida

Na verdade, consegui reproduzir o problema aqui, conforme minha resposta acima.

2 curtidas

Que bom — desculpe, eu perdi isso.

1 curtida

Acho que isso não vai causar um efeito de ‘bounce’ no mobile, pois usamos posicionamento fixo ao rolar e posicionamento absoluto quando ele se ancora, então ele nunca influencia o layout de qualquer forma.

Fiz um teste rápido onde apenas o escondi com CSS quando ele recebe a classe ‘docked’ (porque é por isso que o posicionamento salta ao carregar; a página é curta e a barra de progresso se ancora)… sem ‘bounce’ quando ele desaparece/reaparece.

A outra opção é desancorá-lo e mantê-lo em posição fixa durante o carregamento, mas o problema disso é que, se você pular para o topo da página vindo de bem lá embaixo (como quando está nos tópicos sugeridos)… acho que você veria um salto de posição quando a linha do tempo passar de ancorada para posição fixa?

De qualquer forma, vou testar e ver o que funciona melhor.

4 curtidas