import React, { createElement, forwardRef } from 'react' import { AppBar as RAAppBar, MenuItemLink, useTranslate, usePermissions, getResources, } from 'react-admin' import { useSelector } from 'react-redux' import { makeStyles, MenuItem, ListItemIcon, Divider } from '@material-ui/core' import ViewListIcon from '@material-ui/icons/ViewList' import InfoIcon from '@material-ui/icons/Info' import { AboutDialog } from '../dialogs' import PersonalMenu from './PersonalMenu' import ActivityPanel from './ActivityPanel' import UserMenu from './UserMenu' import config from '../config' const useStyles = makeStyles((theme) => ({ root: { color: theme.palette.text.secondary, }, active: { color: theme.palette.text.primary, }, icon: { minWidth: theme.spacing(5) }, })) 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') return ( <> {label} ) }) const settingsResources = (resource) => resource.hasList && resource.options && resource.options.subMenu === 'settings' const CustomUserMenu = ({ onClick, ...rest }) => { const translate = useTranslate() const resources = useSelector(getResources) const classes = useStyles(rest) const { permissions } = usePermissions() const renderSettingsMenuItemLink = (resource) => { const label = translate(`resources.${resource.name}.name`, { smart_count: 2, }) return ( } onClick={onClick} sidebarIsOpen={true} /> ) } return ( <> {config.devActivityPanel && permissions === 'admin' && } {resources.filter(settingsResources).map(renderSettingsMenuItemLink)} ) } const AppBar = (props) => } /> export default AppBar