27 lines
719 B
TypeScript
27 lines
719 B
TypeScript
import React from 'react'
|
|
import { MenuAsideItem } from '../interfaces'
|
|
import AsideMenuLayer from './AsideMenuLayer'
|
|
import OverlayLayer from './OverlayLayer'
|
|
|
|
type Props = {
|
|
menu: MenuAsideItem[]
|
|
isAsideMobileExpanded: boolean
|
|
onAsideMobileClose: () => void
|
|
}
|
|
|
|
export default function AsideMenu({
|
|
isAsideMobileExpanded = false,
|
|
...props
|
|
}: Props) {
|
|
return (
|
|
<>
|
|
<AsideMenuLayer
|
|
menu={props.menu}
|
|
className={`${isAsideMobileExpanded ? 'translate-x-0' : '-translate-x-full sm:translate-x-0'} left-0`}
|
|
onAsideMobileCloseClick={props.onAsideMobileClose}
|
|
/>
|
|
{isAsideMobileExpanded && <OverlayLayer zIndex="z-30" onClick={props.onAsideMobileClose} />}
|
|
</>
|
|
)
|
|
}
|