REST Countries | Astro, React and Tailwind CSS

Solution retrospective
It was my first advanced challenge and I'm happy that I was able to meet all the requirements.
What challenges did you encounter, and how did you overcome them?It had been a while since I worked with React Hooks, so handling state control and theme switching was a bit challenging.
What specific areas of your project would you like help with?I'm not sure if I structured the components or managed the application state very well. I also tried to make it accessible, but I still don't really know how to properly test that.
Please log in to post a comment
Log in with GitHubCommunity feedback
- @R3ygoski
Olá Alan, parabéns pela conclusão do projeto, ele está muito bom e se assemelhando muito ao design original.
Sobre suas dúvidas quanto a acessibilidade, você pode testar tanto apertando as teclas Tab e Shift+Tab para testar a acessibilidade usando apenas o teclado.
Também para melhorar ainda mais o teste você pode baixar o NVDA, você o encontra aqui: NVDA. Ele é um leitor de tela para deficientes visuais, então você consegue entender como uma pessoa com deficiência visual visualizaria sua página.
Não sei se em outros navegadores tem isso, mas no Edge você consegue simular como ficaria visão embaçada e também como ficaria visão com daltonismo. O que ajuda a ver se está tudo em um tamanho adequado e em uma cor adequada.
Agora sobre sua outra dúvida quanto a estruturação dos componentes, a primeira vista parece sim estar bem estruturado. Nunca utilizei o Astro pra valer então não sei se ele tem algo específico quanto a isso, mas se for seguir a ideia do React, então sim, está. A única sugestão que tenho a isso seria de tentar componentizar mais a página do
[id].astro
, como essasli
que são relacionadas ao dados.Uma pequena observação, quando utiliza o filtro por continente e depois pesquisa, o filtro não volta ser "filter by region", o que pode causar uma confusão, como por exemplo, eu deixo o filtro em "Americas" e na pesquisa escrevo "Japão" teoricamente não deveria aparecer nada. Você pode utilizar uma Context API para facilitar o gerenciamento entre esses 2, ou seja, quando pesquisar o filtro volta a ser nenhum.
Uma sugestão, utilize algum formatador de texto, pois tem algumas classes que elas estão muito grandes, e acaba dificultando a leitura, mas claro isso é 100% opcional. O mesmo vale para a tabulação, acredito que você utilizou tabulação de 4 espaços, talvez fosse mais interessante utilizar 2 espaços, mas novamente, é 100% opcional, opte por aquela que você tem facilidade de legibilidade.
E uma outra pequena observação a respeito da estilização, talvez fosse interessante fazer com que os dois dropdowns fossem semelhantes no quesito de estilo, pois o dropdown de região é bem diferente do dropdown do theme. Mas note que pra fazer isso, como você irá remover o select, você terá que utilizar alguns
aria
erole
.E é isso, seu projeto já está muito bom, achei interessante essa forma que você utilizou para a criação do Theme, onde utiliza um dropdown, bem criativo. Caso tenha ficado qualquer dúvida, só comentar abaixo que tentarei ajudar da melhor forma possível.
Marked as helpful
Join our Discord community
Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!
Join our Discord