This project was bootstrapped with Create React App.
-
This project was implemented using Context API because I don't expect the user to change the theme often. If the user wants to have more fine-grained control over the theme, I would use Redux instead.
-
By clicking the button you will switch between 2 themes (like Binance has 2 themes... light and dark.) I save the theme in localStorage to keep the user selection.
-
The app is responsive, changing layout on smaller screens.
-
I have used functional components with hooks, but I can also use class components if you have legacy code.
-
I have used SASS modules for general styling that I don't expect the user to want to change.
-
I use ESLint and Prettier in order to enforce consistent rules and formatting to keep the project easy to maintain
-
For components, I use an Atomic folder structure
Run yarn start
to run the app in development mode.
Open http://localhost:3000 to view it in the browser.