link-stack/apps/metamigo-frontend/components/layout/AppBar.tsx

57 lines
1.3 KiB
TypeScript
Raw Normal View History

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;