2023-02-13 12:41:30 +00:00
|
|
|
import { forwardRef } from "react";
|
|
|
|
|
import { AppBar, UserMenu, MenuItemLink, useTranslate } from "react-admin";
|
2023-05-25 07:03:57 +00:00
|
|
|
import Typography from "@mui/material/Typography";
|
|
|
|
|
import SettingsIcon from "@mui/icons-material/Settings";
|
|
|
|
|
import { makeStyles } from "@mui/material/styles";
|
2023-02-13 12:41:30 +00:00
|
|
|
|
|
|
|
|
const useStyles = makeStyles({
|
|
|
|
|
title: {
|
|
|
|
|
flex: 1,
|
|
|
|
|
textOverflow: "ellipsis",
|
|
|
|
|
whiteSpace: "nowrap",
|
|
|
|
|
overflow: "hidden",
|
|
|
|
|
},
|
|
|
|
|
spacer: {
|
|
|
|
|
flex: 1,
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
|
2023-03-15 12:17:43 +00:00
|
|
|
// eslint-disable-next-line react/display-name
|
2023-02-13 12:41:30 +00:00
|
|
|
const ConfigurationMenu = forwardRef<any, any>((props, ref) => {
|
|
|
|
|
const translate = useTranslate();
|
|
|
|
|
return (
|
|
|
|
|
<MenuItemLink
|
|
|
|
|
ref={ref}
|
|
|
|
|
to="/configuration"
|
|
|
|
|
primaryText={translate("pos.configuration")}
|
|
|
|
|
leftIcon={<SettingsIcon />}
|
|
|
|
|
onClick={props.onClick}
|
|
|
|
|
sidebarIsOpen
|
|
|
|
|
/>
|
|
|
|
|
);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const CustomUserMenu = (props: any) => (
|
|
|
|
|
<UserMenu {...props}>
|
|
|
|
|
<ConfigurationMenu />
|
|
|
|
|
</UserMenu>
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
const CustomAppBar = (props: any) => {
|
2023-05-25 07:03:57 +00:00
|
|
|
// @ts-expect-error
|
2023-02-13 12:41:30 +00:00
|
|
|
const classes = useStyles();
|
|
|
|
|
return (
|
|
|
|
|
<AppBar {...props} elevation={1} userMenu={<CustomUserMenu />}>
|
|
|
|
|
<Typography
|
|
|
|
|
variant="h6"
|
|
|
|
|
color="inherit"
|
|
|
|
|
className={classes.title}
|
|
|
|
|
id="react-admin-title"
|
|
|
|
|
/>
|
|
|
|
|
<span className={classes.spacer} />
|
|
|
|
|
</AppBar>
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default CustomAppBar;
|