Skip to content

Layout Builder In ReactJs with using concept Context Consumer and Provider Component

Notifications You must be signed in to change notification settings

kulhara-ankit/layout-builder-reactjs

Repository files navigation

In this project, let's build a Layout Builder App by applying the concepts we have learned till now.

Refer to the image below:


Layout Builder Output

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 checkboxes for Content, Left Navbar, Right Navbar should be checked and all the elements in the layout should be displayed
  • When the Content checkbox is unchecked, then the content element should not be displayed
  • When the Left Navbar checkbox is unchecked, then the Left Navbar element should not be displayed
  • When the Right Navbar checkbox is unchecked, then the Right Navbar element should not be displayed
  • When any of the checkbox is checked, then the respective element should be displayed accordingly
  • The Configuration Context has an object as a value with the following properties
    • showContent - this key is used to display the Content Element
    • showLeftNavbar - this key is used to display the Left Navbar Element
    • showRightNavbar - this key is used to display the Right Navbar Element
    • onToggleShowContent - this method is used to update the value of the showContent
    • onToggleShowLeftNavbar - this method is used to update the value of the showLeftNavbar
    • onToggleShowRightNavbar - this method is used to update the value of the showRightNavbar
Components Structure
layout builder component structure breakdown

Implementation Files

Use these files to complete the implementation:

  • src/App.js
  • src/App.css
  • src/components/ConfigurationController/index.js
  • src/components/ConfigurationController/index.css
  • src/components/Layout/index.js
  • src/components/Layout/index.css
  • src/components/Header/index.js
  • src/components/Header/index.css
  • src/components/Body/index.js
  • src/components/Body/index.css
  • src/components/Footer/index.js
  • src/components/Footer/index.css

Resources

Colors
Hex: #475569
Hex: #e2e8f0
Hex: #f1f5f9
Hex: #64748b
Hex: #cbd5e1
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.

About

Layout Builder In ReactJs with using concept Context Consumer and Provider Component

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published