quintodrome/ui/src/layout/AppBar.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

57 lines
1.4 KiB
JavaScript
Raw Normal View History

import React, { forwardRef } from 'react'
import { AppBar as RAAppBar, UserMenu, useTranslate } from 'react-admin'
import { makeStyles, MenuItem, ListItemIcon } from '@material-ui/core'
import InfoIcon from '@material-ui/icons/Info'
import AboutDialog from './AboutDialog'
2020-02-05 19:08:04 -09:00
2020-03-31 06:49:47 -08:00
const useStyles = makeStyles((theme) => ({
root: {
2020-03-31 06:49:47 -08:00
color: theme.palette.text.secondary,
},
active: {
color: theme.palette.text.primary,
},
icon: { minWidth: theme.spacing(5) },
2020-03-31 06:49:47 -08:00
}))
const AboutMenuItem = forwardRef(({ onClick, ...rest }, ref) => {
const classes = useStyles(rest)
const translate = useTranslate()
const [open, setOpen] = React.useState(false)
const handleOpen = () => {
setOpen(true)
}
const handleClose = () => {
onClick && onClick()
setOpen(false)
}
const label = translate('menu.about')
2020-03-31 06:49:47 -08:00
return (
<>
<MenuItem
ref={ref}
onClick={handleOpen}
className={classes.root}
activeClassName={classes.active}
>
<ListItemIcon className={classes.icon}>
<InfoIcon titleAccess={label} />
</ListItemIcon>
{label}
</MenuItem>
<AboutDialog onClose={handleClose} open={open} />
</>
2020-03-31 06:49:47 -08:00
)
})
2020-02-05 19:08:04 -09:00
const CustomUserMenu = (props) => (
<UserMenu {...props}>
<AboutMenuItem />
2020-02-05 19:08:04 -09:00
</UserMenu>
)
const AppBar = (props) => <RAAppBar {...props} userMenu={<CustomUserMenu />} />
export default AppBar