# blockspare/3.3.3/admin/components/MobileMenu.js

BlockSpare – Gutenberg Blocks for News, Magazine, Blog &amp; Business Websites, version 3.3.3. 62 lines.

- Page: https://pluginprobe.com/plugins/blockspare/3.3.3/code/admin/components/MobileMenu.js
- Raw: https://pluginprobe.com/plugins/blockspare/3.3.3/raw/admin/components/MobileMenu.js
- Modified: 2024-03-26T14:27:04+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/blockspare/3.3.3/code/admin/components/MobileMenu.js#L10-L20`.

```javascript
import React, {useState, useEffect } from 'react'
import { mobileMenu, menuClose } from '../data/icons'

const MobileMenu = ({ current, activeNavHandler }) => {
    const [active, setActive] = useState(false)
    const menuHandler = () => {
        setActive(!active)
    }
    const menuActiveItemHandler = (i) => {
        activeNavHandler(i)
        setActive(false)
    }
    useEffect(() => {
        if(active) {
            document.body.style.overflow = "hidden";
        }
        return () => (document.body.style.overflow = "scroll");
    },[active]);
    return (
        <>
            <div className='mobile-menu-icon' onClick={menuHandler}>
                {mobileMenu}
            </div>
            {active && (
                <div className="mobile-menu-content">
                    <div className="mobile-menu-close" onClick={() => setActive(false)}>
                        {menuClose}
                    </div>
                    <nav className="navigation-items-mobile">
                        {navs.map((item, i) => (
                            <a key={i} className={`navigation-item ${current === i ? "active" : " "}`} onClick={() => menuActiveItemHandler(i)}>{item.title}</a>
                        ))}
                    </nav>
                </div>
            )}
        </>
    )
}

export default MobileMenu


const navs = [
    {
        title: "Welcome",
    },
    // {
    //     title: "Blocks",
    // },
    {
        title: "Designs"
    },
    // {
    //     title: "Settings",
    // },
    // {
    //     title: "Colors"
    // },
    // {
    //     title: "Typography"
    // }
]
```
