// Next Imports import { useParams } from 'next/navigation' // MUI Imports import { useTheme } from '@mui/material/styles' // Third-party Imports import PerfectScrollbar from 'react-perfect-scrollbar' // Type Imports import type { getDictionary } from '@/utils/getDictionary' import type { VerticalMenuContextProps } from '@menu/components/vertical-menu/Menu' // Component Imports import { Menu, MenuItem, MenuSection, SubMenu } from '@menu/vertical-menu' // import { GenerateVerticalMenu } from '@components/GenerateMenu' // Hook Imports import useVerticalNav from '@menu/hooks/useVerticalNav' // Styled Component Imports import StyledVerticalNavExpandIcon from '@menu/styles/vertical/StyledVerticalNavExpandIcon' // Style Imports import menuItemStyles from '@core/styles/vertical/menuItemStyles' import menuSectionStyles from '@core/styles/vertical/menuSectionStyles' // Menu Data Imports // import menuData from '@/data/navigation/verticalMenuData' type RenderExpandIconProps = { open?: boolean transitionDuration?: VerticalMenuContextProps['transitionDuration'] } type Props = { dictionary: Awaited> scrollMenu: (container: any, isPerfectScrollbar: boolean) => void } const RenderExpandIcon = ({ open, transitionDuration }: RenderExpandIconProps) => ( ) const VerticalMenu = ({ dictionary, scrollMenu }: Props) => { // Hooks const theme = useTheme() const verticalNavOptions = useVerticalNav() const params = useParams() // Vars const { isBreakpointReached, transitionDuration } = verticalNavOptions const { lang: locale } = params const ScrollWrapper = isBreakpointReached ? 'div' : PerfectScrollbar return ( // eslint-disable-next-line lines-around-comment /* Custom scrollbar instead of browser scroll, remove if you want browser scroll only */ scrollMenu(container, false) } : { options: { wheelPropagation: false, suppressScrollX: true }, onScrollY: container => scrollMenu(container, true) })} > {/* Incase you also want to scroll NavHeader to scroll with Vertical Menu, remove NavHeader from above and paste it below this comment */} {/* Vertical Menu */} } renderExpandedMenuItemIcon={{ icon: }} menuSectionStyles={menuSectionStyles(verticalNavOptions, theme)} > }> {dictionary['navigation'].overview} }> {dictionary['navigation'].profitloss} {dictionary['navigation'].products} {dictionary['navigation'].orders} {dictionary['navigation'].paymentMethods} {dictionary['navigation'].dailyReport} }> {dictionary['navigation'].overview} {dictionary['navigation'].invoices} {dictionary['navigation'].deliveries} {dictionary['navigation'].sales_orders} {dictionary['navigation'].quotes} }> {dictionary['navigation'].overview} {dictionary['navigation'].purchase_bills} {dictionary['navigation'].purchase_delivery} {dictionary['navigation'].purchase_orders} {dictionary['navigation'].purchase_quotes} } exactMatch={false} activeUrl='/apps/expense' > {dictionary['navigation'].expenses} } exactMatch={false} activeUrl='/apps/cash-bank' > {dictionary['navigation'].cash_and_bank} } exactMatch={false} activeUrl='/apps/account' > {dictionary['navigation'].account} } exactMatch={false} activeUrl='/apps/fixed-assets' > {dictionary['navigation'].fixed_assets} } exactMatch={false} activeUrl='/apps/report' > {dictionary['navigation'].reports} }> {dictionary['navigation'].list} {dictionary['navigation'].details} {dictionary['navigation'].edit} {dictionary['navigation'].add} {dictionary['navigation'].category} {dictionary['navigation'].units} {dictionary['navigation'].ingredients} {dictionary['navigation'].list} {dictionary['navigation'].details} {dictionary['navigation'].list} {dictionary['navigation'].list} {dictionary['navigation'].restock} {/* {dictionary['navigation'].settings} */} }> {dictionary['navigation'].list} }> {dictionary['navigation'].list} } exactMatch={false} activeUrl='/apps/user/list' > {dictionary['navigation'].user} } exactMatch={false} activeUrl='/apps/vendor/list' > {dictionary['navigation'].vendor} ) } export default VerticalMenu