Adicionei os Filtros Rápidos abaixo do Input de Busca, os filtros funcionam de forma simples, realmente filtrando apenas pelos abrigos que já estão carregados, ou seja, ao clicar nos filtros não é realizado uma nova busca dos abrigos.
Limitações
Os dados filtrados dependem dos abrigos carregados inicialmente e posteriormente com o onFetchMoreData.
Novos abrigos carregados com o filtro ativo podem demorar algumas vezes para aparecer quando o usuário clicar no botão de carregar mais abrigos, pois podem demorar para aparecer mais abrigos que atendam aos critérios do filtro.
Um exemplo como pode ver abaixo é ao ativar simultâneamente os filtros de Disponível e Aceita Pets:
Inicialmente não é encontrado nenhum abrigo que corresponda aos critérios dos filtros simultâneos, mas ao carregar mais alguns abrigos antes de ativar os filtros, já é possível encontrar algum abrigo correspondente:
Observação, na imagem o filtro Disponível está ativo mas ainda está filtrando o abrigo com Consultar Disponibilidade isso no momento está acontecendo pois o filtro classifica como Indisponível apenas abrigos em que a capacidade de pessoas abrigadas é igual ou maior que a quantidade de pessoas no abrigo, no caso da imagem o abrigo Capela Santa Rita De Cássia - São Leopoldo possui a informação de capacidade de pessoas, mas não tem disponível a quantidade, logo o filtro ainda consegue identificar que o abrigo está disponível.
Conclusão
Apesar de ser uma implementação rápida e simples, também possui suas limitações que podem também indicar não ser tão eficaz.
Solução/Feat para a Issue #258
Adicionei os Filtros Rápidos abaixo do Input de Busca, os filtros funcionam de forma simples, realmente filtrando apenas pelos abrigos que já estão carregados, ou seja, ao clicar nos filtros não é realizado uma nova busca dos abrigos.
Limitações
onFetchMoreData
.Um exemplo como pode ver abaixo é ao ativar simultâneamente os filtros de Disponível e Aceita Pets:
Inicialmente não é encontrado nenhum abrigo que corresponda aos critérios dos filtros simultâneos, mas ao carregar mais alguns abrigos antes de ativar os filtros, já é possível encontrar algum abrigo correspondente:
Conclusão
Apesar de ser uma implementação rápida e simples, também possui suas limitações que podem também indicar não ser tão eficaz.