import { FC, useEffect } from 'react' import LogoImage from '../assets/images/logo.svg' import LogoSmall from '../assets/images/logo-small.svg' import { useTranslation } from 'react-i18next' import { Card, Code, CodeCircle, DocumentLike, DocumentText, Element3, Home2, Logout, Messages3, NotificationStatus, People, Profile, Receipt21, Setting2, SmsTracking, Teacher, TicketDiscount, UserSquare } from 'iconsax-react' import SideBarItem from './SideBarItem' import { useLocation } from 'react-router-dom' import { Pages } from '../config/Pages' import { useSharedStore } from './store/sharedStore' import { clx } from '../helpers/utils' import ServicesSubMenu from './components/ServicesSubMenu' import { SideBarItemHasSubMenu } from '../config/SideBarSubMenu' import TransactionsSubMenu from './components/TransactionsSubMenu' import ReceiptSubMenu from './components/ReceiptSubMenu' import CustomerSubMenu from './components/CustomerSubMenu' const SideBar: FC = () => { const { t } = useTranslation('global') const { openSidebar, setOpenSidebar, hasSubMenu, setSubMenuName, setSubtMenu, subMenuName } = useSharedStore() const location = useLocation() const isActive = (name: string) => { return location.pathname.includes(name) } useEffect(() => { const split = location.pathname.split('/') console.log('split', split); if (SideBarItemHasSubMenu.includes(split[1])) { setSubMenuName(split[1]) setSubtMenu(true) } else { setSubMenuName('') setSubtMenu(false) } // eslint-disable-next-line react-hooks/exhaustive-deps }, [location.pathname]) const iconSizeSideBar = 20 return ( <> { openSidebar &&
setOpenSidebar(false)} /> }
{ !hasSubMenu ? : }
{t('sidebar.menu')}
} title={t('sidebar.mainpage')} isActive={isActive('dashboard')} link={Pages.dashboard} /> } title={t('sidebar.services')} isActive={isActive('services')} link={Pages.services.mine} name='services' /> } title={t('sidebar.customers')} isActive={isActive('customers')} link={Pages.customers.list} /> } title={t('sidebar.representatives')} isActive={isActive('representatives')} link={Pages.representative.list} /> } title={t('sidebar.developers')} isActive={isActive('developers')} link={Pages.developers.list} /> } title={t('sidebar.receipt_list')} isActive={isActive('receipts')} link={Pages.receipts.index} /> } title={t('sidebar.transactions')} isActive={isActive('transactions')} link={Pages.transactions} /> } title={t('sidebar.discounts')} isActive={isActive('discounts')} link={Pages.discount.list} /> } title={t('sidebar.code_referral')} isActive={isActive('referral-code')} link={Pages.referralCode.list} /> } title={t('sidebar.users')} isActive={isActive('users')} link={Pages.users.list} />
{t('sidebar.other')}
} title={t('sidebar.ticket')} isActive={isActive('tickets')} link={Pages.ticket.list} />
} title={t('sidebar.criticisms')} isActive={isActive('criticisms')} link={Pages.criticisms} />
{t('sidebar.mnage_content')}
} title={t('sidebar.ads')} isActive={isActive('ads')} link={Pages.ads.list} />
} title={t('sidebar.announcement')} isActive={isActive('announcement')} link={Pages.announcement.list} />
} title={t('sidebar.blog')} isActive={isActive('blog')} link={Pages.blog.list} />
} title={t('sidebar.learning')} isActive={isActive('learning')} link={Pages.learning} />
} title={t('sidebar.messages')} isActive={isActive('messages')} link={Pages.messages.list} />
} title={t('sidebar.setting')} isActive={isActive('setting')} link={Pages.setting} />
} title={t('sidebar.logout')} isActive={isActive('logout')} link={`#`} />
{ hasSubMenu && (openSidebar || window.innerWidth > 1000) &&
{ subMenuName === 'services' ? : subMenuName === 'transactions' ? : subMenuName === 'receipts' ? : subMenuName === 'customers' ? : null }
} ) } export default SideBar