-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.tsx
64 lines (57 loc) · 1.53 KB
/
index.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
'use client'
import { FC } from 'react'
import { MenuIcon } from '@baseapp-frontend/design-system/components/web/icons'
import { Logo } from '@baseapp-frontend/design-system/components/web/logos'
import IconButton from '@mui/material/IconButton'
import Toolbar from '@mui/material/Toolbar'
import DefaultAccountMenu from './AccountMenu'
import { CustomAppBar } from './styled'
import { HeaderProps } from './types'
const Header: FC<HeaderProps> = ({
settings,
children,
onOpenNav,
LogoIcon,
LogoProps,
AccountMenu = DefaultAccountMenu,
AccountMenuProps,
ToolbarProps,
}) => {
const isNavHorizontal = settings.themeLayout === 'horizontal'
const isNavCentered = settings.themeLayout === 'centered'
return (
<CustomAppBar themeLayout={settings.themeLayout}>
<Toolbar
sx={{
height: 1,
px: { lg: 5 },
justifyContent: 'center',
gap: 2,
}}
{...ToolbarProps}
>
{LogoIcon && (isNavHorizontal || isNavCentered) && (
<Logo
{...LogoProps}
sx={{
display: { xs: 'none', lg: 'flex' },
...LogoProps?.sx,
}}
>
<LogoIcon />
</Logo>
)}
<IconButton
onClick={onOpenNav}
sx={{
display: { xs: 'flex', lg: 'none' },
}}
>
<MenuIcon />
</IconButton>
<AccountMenu {...AccountMenuProps}>{children}</AccountMenu>
</Toolbar>
</CustomAppBar>
)
}
export default Header