Updated: Can't make context last from the redirections due to github not allowing client-side routing, so the theme state and everything will be lost once a sub-directory is hit. This problem would not be on a dedicated host.

Frontend Mentor - REST Countries API with color theme switcher solution

This is a solution to the REST Countries API with color theme switcher challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.

Table of contents

Overview

The challenge

Users should be able to:

  • See all countries from the API on the homepage
  • Search for a country using an input field
  • Filter countries by region
  • Click on a country to see more detailed information on a separate page
  • Click through to the border countries on the detail page
  • Toggle the color scheme between light and dark mode (optional)

Screenshot

Links

My process

Built with

What I learned

I implemented downshift for the first time and it was a lot of fun. I learned how to implement a very powerful search combobox that is flavored with a cool animation thanks to framer-motion. I had to implement react-window along with it to avoid the tremendous cluttering that so many items can cause, which leverages a powerful performance. All in all, I enjoyed this challenge!