Puxar para atualizar no aplicativo iOS

← Preencha "repoName" e "repoURL" para o botão de instalação automática →

Instale este componente de tema

Olá :wave:

Falta uma função nos PWAs do iOS, eles não contêm o ‘puxar para atualizar’, então se você quiser recarregar, terá que fechar o PWA e reabri-lo. Este componente de tema tenta preencher essa lacuna com uma função de ‘puxar para atualizar’. Desativei isso nas páginas de chat porque isso não funciona com segurança nos canais… O ponto de ativação é o #main-outlet, então se você puxar para baixo abaixo do cabeçalho na parte superior da página, ele acionará o carregador.

Quando você puxa para baixo, ele aparece continuamente e, quando você atinge o ponto pronto, ele começa a girar lentamente com um efeito de destaque. Quando você solta, ele começa a girar mais rápido e mantemos o carregador no topo da página durante a recarga.

Ele contém algumas configurações de tema para personalizar o carregador.

Obrigado a todos que testaram em dispositivos mais novos em este tópico :hugs:

A FAZER:

  • Tentar recriar o carregador padrão do Safari ou algo parecido. :white_check_mark:
  • Encontrar uma maneira de manter o carregador durante a recarga :white_check_mark:
    • usar animações CSS em vez de Javascript para manter o carregador durante a recarga
12 curtidas

Funciona com o DiscourseHub também :flushed_face: Que ótimo.

Tenho que puxar para baixo 2-3 segundos, e isso é um pouco longo, mas não sei se vem de dispositivos i ou do componente. Não é um grande problema, no entanto.

3 curtidas

Quando você puxa rapidamente, ele simplesmente atualiza imediatamente. Mas quando você puxa em uma velocidade relativamente mais lenta, o chevron é renderizado primeiro, seguido pelo spinner de carregamento. Estou imaginando que o atraso entre o chevron e o spinner de carregamento é intencional para melhor feedback e para evitar gatilhos desnecessários. Por favor, corrija-me se eu estiver errado, @Don.

3 curtidas

Olá :waving_hand:

Veja como está agora. Tentei fazer algo semelhante ao carregador padrão do Safari. Quando você puxa para baixo, ele aparece continuamente e, quando você atinge o ponto de prontidão, ele começa a girar lentamente com um efeito de destaque. Quando você solta, ele começa a girar mais rápido e mantemos o carregador no topo da página, antes de realmente começar a recarregar a página, ele esconde o carregador.

1 curtida

Essa pergunta é tão estúpida, e talvez eu devesse ficar feliz, mas por que não vejo nenhum tipo de efeito de carregamento? Bem, eu nem vejo o do Discourse — exceto aqui no Meta às vezes quando uso PWA. Serviço de internet bom demais :joy:?

1 curtida

O que você quer dizer?
Isto ainda não foi feito. Você pode compartilhar uma gravação de tela do que você vê no seu site durante a recarga?

1 curtida

Claro, mas não. No momento, este componente não faz nada. O iPad faz coisas mais estranhas com PWAs de vez em quando. Reiniciar ajuda. PWAs são um pouco problemáticos agora, e pioraram após o último iPadOS. Mas agora reiniciar também não ajudou.

Posso reverter e, se sim, como?

E essa “não atualização” começou após a atualização de ontem do componente, suponho. Não verifiquei, no entanto. Mas pode ser uma coincidência também e o problema real é o SO.

O iPhone funciona, no entanto. Ele mostra primeiro aquele… não me lembro o nome em inglês… seta para baixo e depois um spinner. Isso nunca aconteceu no iPad, mas a tela desceu e, quando solta, atualizou o fórum.

Se eu mudar o tema, ele atualiza — vejo aquele piscar bem rápido. Mas da segunda vez, não. Quando mudo o tema novamente, funciona uma vez, mas não duas.

Realmente estranho.

Sim, vejo que isso provavelmente ocorre porque apliquei o estilo apenas à visualização móvel e seu iPad está na visualização de desktop. Vou corrigir isso com a atualização. Acho que podemos substituir as setas e o spinner por um novo carregador no estilo Safari.

Em qual tema o componente não está funcionando?

Todos esses são iguais. E não, não acho que seja um conflito entre componentes, porque ele faz o mesmo, ou seja, nada, exceto uma vez, mesmo quando é o único em uso.

Plugins são outra coisa, não faço ideia.

Nunca me lembro que o iPad não é um celular.

Atualizei o componente com o novo loader no estilo Safari. Ele deve funcionar melhor no iPad agora também. Na verdade, o iPad tem um footer-nav na parte superior que o escondia. Esqueci disso. :smile:

1 curtida

Ótimo trabalho, como sempre. Funciona bem e facilita a troca de idiomas agora. Obrigado!

Navegação no rodapé no topo — isso soa… logicamente :flushed_face:

1 curtida

Este é apenas o nome dele porque no iPhone fica na parte inferior, mas no iPad fica na parte superior. Então, tecnicamente, é uma navegação superior no iPad, mas eu a chamo de navegação de rodapé por hábito. :sweat_smile:

Estou apenas pensando se devemos adicionar a recarga automática quando você puxa para a posição pronta ou manter a recarga quando você a solta? Talvez haja alguns conflitos com isso, ainda não testei. O carregador do Safari gira uma vez e depois apenas as linhas são destacadas. Não podemos fazer isso porque a animação de destaque da linha para durante a recarga. Mas o giro pode acontecer naquele momento também. Assim, podemos colocar o carregador em estado de carregamento. Talvez seja melhor mantê-lo assim, agora ele tem animações CSS suaves e agradáveis que podem rodar durante a recarga e não exatamente o mesmo que o carregador do Safari, mas meio que semelhante… qual era o objetivo, a propósito :thinking: