From 34ad1d9c39e3a41b31f5aea45228ac005f5b34bd Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Mon, 28 Feb 2022 18:39:37 -0800 Subject: [PATCH] New mobile menu. --- assets/bars.svg | 2 +- assets/xmark.svg | 2 +- components/common/HamburgerButton.js | 44 ++++++++++ components/common/HamburgerButton.module.css | 9 +++ components/common/Link.js | 3 +- components/common/Link.module.css | 10 +-- components/common/MobileMenu.js | 21 +++++ components/common/MobileMenu.module.css | 40 ++++++++++ components/layout/Footer.js | 39 +++++---- components/layout/Footer.module.css | 2 +- components/layout/Header.js | 79 +++++++----------- components/layout/Header.module.css | 84 ++++---------------- lib/constants.js | 2 + pages/_app.js | 5 +- 14 files changed, 189 insertions(+), 153 deletions(-) create mode 100644 components/common/HamburgerButton.js create mode 100644 components/common/HamburgerButton.module.css create mode 100644 components/common/MobileMenu.js create mode 100644 components/common/MobileMenu.module.css diff --git a/assets/bars.svg b/assets/bars.svg index 91c83c48..fdb2d6e4 100644 --- a/assets/bars.svg +++ b/assets/bars.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/xmark.svg b/assets/xmark.svg index 6d72bf6d..340f479e 100644 --- a/assets/xmark.svg +++ b/assets/xmark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/components/common/HamburgerButton.js b/components/common/HamburgerButton.js new file mode 100644 index 00000000..501b8c95 --- /dev/null +++ b/components/common/HamburgerButton.js @@ -0,0 +1,44 @@ +import Button from 'components/common/Button'; +import XMark from 'assets/xmark.svg'; +import Bars from 'assets/bars.svg'; +import { useState } from 'react'; +import styles from './HamburgerButton.module.css'; +import MobileMenu from './MobileMenu'; +import { FormattedMessage } from 'react-intl'; + +const menuItems = [ + { + label: , + value: '/dashboard', + }, + { label: , value: '/realtime' }, + { label: , value: '/settings' }, + { + label: , + value: '/settings/profile', + }, + { label: , value: '/logout' }, +]; + +export default function HamburgerButton() { + const [active, setActive] = useState(false); + + function handleClick() { + setActive(state => !state); + } + + function handleClose() { + setActive(false); + } + + return ( + <> +