Adiciona um intervalo de atualização e a sincronização do useUser entre diferentes abas #804
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Baseado na sugestão dada em #801, esse PR mantém mais atualizados os dados do usuário no Header.
Primeiro ele mantém a sincronização dos dados entre as abas em foco no mesmo dispositivo, então qualquer interação em uma aba (login, logout, tabcoins etc.) irá fazer os dados de qualquer outra aba que entrar em foco mostrar os dados mais atuais que já estarão no cache local (
localStorage
).Além disso, ao entrar em foco, se for verificado que o último fetch ocorreu a mais de 10 minutos, um novo fetch para
/api/v1/user
irá ocorrer para atualizar possíveis mudanças ocorridas em outros dispositivos (por exemplo o recebimento de tabcoins de outros usuários).Nada muda no primeiro carregamento da página (ou ao dar refresh), ou seja, continuamos fazendo o fetch dos dados do usuário se algum cache local for encontrado, independentemente da idade desse cache.