From e4056b1a1d0b209909df9e83c00cd367c5c16af5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20FAMIBELLE-PRONZOLA?= Date: Mon, 19 Jul 2021 23:40:54 +0200 Subject: [PATCH] Create RezoMenu component --- components/rezo-menu.js | 93 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 components/rezo-menu.js diff --git a/components/rezo-menu.js b/components/rezo-menu.js new file mode 100644 index 0000000..2184fe5 --- /dev/null +++ b/components/rezo-menu.js @@ -0,0 +1,93 @@ +import {useRef, useState} from 'react' +import PropTypes from 'prop-types' +import {useRouter} from 'next/router' +import {Button, ListItemIcon, ListItemText, Menu, MenuItem, withStyles} from '@material-ui/core' +import PublicIcon from '@material-ui/icons/Public' + +const StyledMenu = withStyles({ + paper: { + border: '1px solid #d3d4d5' + } +})(props => ( + +)) + +const StyledMenuItem = withStyles(theme => ({ + root: { + '&:hover': { + backgroundColor: theme.palette.primary.main, + '& .MuiListItemIcon-root, & .MuiListItemText-primary': { + color: theme.palette.common.white + } + } + } +}))(MenuItem) + +const siteDomain = process.env.NEXT_PUBLIC_PROD_DOMAIN || 'localhost' + +export default function RezoMenu({data}) { + const router = useRouter() + const [anchorElement, setAnchorElement] = useState(null) + const anchorRef = useRef(null) + + const handleClick = event => { + setAnchorElement(event.currentTarget) + } + + const handleClose = rezo => { + setAnchorElement(null) + if (typeof rezo === 'string') { + const url = `https://${rezo}.${siteDomain}` + router.push(url) + } + } + + return ( + <> + + + {data.map(({id, tit, icon}) => ( + handleClose(id)}> + + {icon} + + + + ))} + + + ) +} + +RezoMenu.propTypes = { + data: PropTypes.array.isRequired +}