Interactive Rating Component – HTML, CSS & JavaScript Solution

Solution retrospective
I'm most proud of how well the layout adapts to different screen sizes and how intuitive the user interaction turned out. Next time, I’d consider using a component-based JavaScript framework like React or Vue to practice state management and modular structure.
(pt-BR) Tenho orgulho principalmente de como o layout se adapta bem a diferentes tamanhos de tela e de como a interação do usuário ficou intuitiva. Da próxima vez, eu consideraria usar um framework baseado em componentes como React ou Vue para praticar gerenciamento de estado e estrutura modular.
What challenges did you encounter, and how did you overcome them?One challenge was managing the toggle between the rating and thank-you states in a clean way. I overcame it by creating utility functions to manage DOM class changes and by keeping the logic modular. I also took time to make the design pixel-perfect according to the JPGs.
(pt-BR) Um dos desafios foi gerenciar a troca entre os estados de avaliação e de agradecimento de forma limpa. Superei isso criando funções utilitárias para manipular as classes no DOM e mantendo a lógica modular. Também me dediquei a deixar o design o mais próximo possível do layout fornecido em JPG.
What specific areas of your project would you like help with?I'd love feedback on the JavaScript structure:
- Could the DOM manipulation or event handling be optimized further?
- Are there better practices for managing the UI state without using a framework?
- Any accessibility issues I might have missed?
(pt-BR) Gostaria de receber feedback sobre a estrutura do JavaScript:
- A manipulação do DOM ou o tratamento de eventos poderia ser otimizado?
- Existem melhores práticas para gerenciar o estado da interface sem usar um framework?
- Há algum problema de acessibilidade que eu possa ter deixado passar?
Please log in to post a comment
Log in with GitHubCommunity feedback
- @UmairFaiser
Awesome work
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