Hamburger Menu React JS Using Third Party Package ReactJS

Hamburger-Menu-React-JS

In this project, let's build a Hamburger Menu app by applying the concepts we have learned till now.

Refer to the image below:

Design Files

Click to view

Set Up Instructions

Click to view
  • Download dependencies by running npm install
  • Start up the app using npm start

Completion Instructions

Functionality to be added

The app must have the following functionalities

  • Initially, the Home Route should be displayed
  • When hamburger icon button in the header is clicked, then the popup should be opened

  • When the Home is clicked, then the page should be navigated to the Home Route
  • When the About is clicked, then the page should be navigated to the About Route
  • When the close button is clicked, then the popup should be closed
  • When the website logo in the Header is clicked, then the page should be navigated to the Home Route
Components Structure


Implementation Files

Use these files to complete the implementation:

  • src/App.js
  • src/components/Header/index.js
  • src/components/Header/styledComponents.js
  • src/components/Header/index.css
  • src/components/Home/index.js
  • src/components/Home/styledComponents.js
  • src/components/About/index.js
  • src/components/About/styledComponents.js
  • src/components/NotFound/index.js
  • src/components/NotFound/styledComponents.js

Quick Tips

Click to view

To build this project, take a look at the React Popup reading material

  • To style popup content use .popup-content class
<Popup
  modal
  trigger={
    //write code here
  }
  className="popup-content"
>
  //write code here
</Popup>

Important Note

Click to view

The following instructions are required for the tests to pass

  • Home Route should consist of / in the URL path
  • About Route should consist of /about in the URL path
  • No need to use the BrowserRouter in App.js as we have already included in index.js
  • Styled Components should be used for styling purposes
  • The hamburger icon button should have the data-testid as hamburgerIconButton
  • The close button in the popup should have the data-testid as closeButton
  • Roboto should be applied as font-family for Home and About links in Popup
  • GiHamburgerMenu from react-icons should be used for Hamburger Icon in the Header
  • IoMdClose from react-icons should be used for Close Icon in the Popup
  • AiFillHome from react-icons should be used for Home Icon in the Popup
  • BsInfoCircleFill from react-icons should be used for About Icon in the Popup

Resources

Image URLs Colors
Hex: #dcdcdc
Hex: #ffffff
Hex: #616e7c
Font-families
  • Roboto

Things to Keep in Mind

  • All components you implement should go in the src/components directory.
  • Don't change the component folder names as those are the files being imported into the tests.
  • Do not remove the pre-filled code
  • Want to quickly review some of the concepts you’ve been learning? Take a look at the Cheat Sheets.

GitHub

https://github.com/PavanKuchana/Hamburger-Menu-React-JS