import { type 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 { Home2, Element3, Receipt21, TicketDiscount, DocumentText, Truck, Money3, UserSquare, Chart, Setting2, Logout, Briefcase, Headphone, } from 'iconsax-react' import SideBarItem from './SideBarItem' import { useLocation } from 'react-router-dom' import { useSharedStore } from './store/sharedStore' import { clx } from '../helpers/utils' import BlogSubMenu from './components/BlogSubMenu' import ShippingSubMenu from './components/ShippingSubMenu' import DashboardSubMenu from './components/DashboardSubMenu' import ProductsSubMenu from './components/ProductsSubMenu' import OrdersSubMenu from './components/OrdersSubMenu' import FinancialSubMenu from './components/FinancialSubMenu' import SellersSubMenu from './components/SellersSubMenu' import BuyersSubMenu from './components/BuyersSubMenu' import UsersSubMenu from './components/UsersSubMenu' import TicketsSubMenu from './components/TicketsSubMenu' import ReportsSubMenu from './components/ReportsSubMenu' import ChatSubMenu from './components/ChatSubMenu' import ContactSubMenu from './components/ContactSubMenu' import SettingsSubMenu from './components/SettingsSubMenu' import PagesSubMenu from './components/PagesSubMenu' import JobsSubMenu from './components/JobsSubMenu' import CategorySubMenu from './components/CategorySubMenu' import { Pages } from '../config/Pages' const SideBar: FC = () => { const { t } = useTranslation('global') const { openSidebar, setOpenSidebar, hasSubMenu, setSubMenuName, setSubtMenu, subMenuName } = useSharedStore() const location = useLocation() const isActive = (name: string) => { return window.location.href.includes(name) } useEffect(() => { const split = location.pathname.split('/') if (split[1] === 'dashboard' || split[1] === 'products' || split[1] === 'orders' || split[1] === 'blog' || split[1] === 'shipment' || split[1] === 'financial' || split[1] === 'sellers' || split[1] === 'buyers' || split[1] === 'admin' || split[1] === 'tickets' || split[1] === 'reports' || split[1] === 'chat' || split[1] === 'contact' || split[1] === 'settings' || split[1] === 'pages' || split[1] === 'jobs' || split[1] === 'category') { setSubMenuName(split[1]) setSubtMenu(true) } else { setSubMenuName('') setSubtMenu(false) } }, [location.pathname, setSubMenuName, setSubtMenu]) const iconSizeSideBar = 20 return ( <> { openSidebar &&
setOpenSidebar(false)} /> }
{ !hasSubMenu ? : }
{t('sidebar.menu')}
{/* داشبورد */} } title="داشبورد" isActive={isActive('dashboard')} link="/dashboard" activeName='dashboard' /> {/* محصولات */} } title="محصولات" isActive={isActive('products')} link={Pages.products.list} activeName='products' /> {/* سفارشات */} } title="سفارشات" isActive={isActive('orders')} link="/orders" activeName='orders' /> {/* تخفیف ها */} } title="تخفیف ها" isActive={isActive('coupon')} link={Pages.coupon.list} activeName='coupon' /> {/* بلاگ */} } title="بلاگ" isActive={isActive('blog')} link="/blog" activeName='blog' /> {/* روش های ارسال */} } title="روش های ارسال" isActive={isActive('shipment')} link={Pages.shipment.list} activeName='shipment' /> {/* مالی */} } title="مالی" isActive={isActive('financial')} link={Pages.financial.list} activeName='financial' /> {/* فروشندگان */} {/* } title="فروشندگان" isActive={isActive('sellers')} link={Pages.sellers.list} activeName='sellers' /> */} {/* خریداران */} } title="خریداران" isActive={isActive('buy-users')} link={Pages.buyUsers.list} activeName='buy-users' /> {/* کاربران */} {/* } title="ادمین ها" isActive={isActive('/admin')} link={Pages.admin.list} activeName='/admin' /> */} {/* تیکت ها */} {/* } title="تیکت ها" isActive={isActive('tickets')} link={Pages.ticket.list} activeName='tickets' /> */} {/* گزارش ها */} } title="گزارش ها" isActive={isActive('reports')} link={Pages.report.product} activeName='reports' /> {/* گفت و گو */} {/* } title="گفت و گو" isActive={isActive('chat')} link={Pages.messages.list} activeName='chat' /> */} {/* ارتباط با ما */} } title="ارتباط با ما" isActive={isActive('contact')} link={Pages.contactUs.list} activeName='contact' /> {/* تنظیمات */} } title="تنظیمات" isActive={isActive('settings')} link="/settings" activeName='settings' /> {/* مدیریت صفحات */} } title="مدیریت صفحات" isActive={isActive('pages')} link={Pages.pages.aboutUs} activeName='pages' /> {/* مشاغل */} } title="مشاغل" isActive={isActive('jobs')} link={Pages.jobs.list} activeName='jobs' />
} title="خروج" isActive={isActive('logout')} link={`#`} isLogout activeName='' />
{/* منوی فرعی */} { hasSubMenu && (openSidebar || window.innerWidth > 1139) &&
{ subMenuName === 'blog' ? : subMenuName === 'dashboard' ? : subMenuName === 'products' ? : subMenuName === 'orders' ? : subMenuName === 'shipment' ? : subMenuName === 'financial' ? : subMenuName === 'sellers' ? : subMenuName === 'buy-users' ? : subMenuName === 'admin' ? : subMenuName === 'tickets' ? : subMenuName === 'reports' ? : subMenuName === 'chat' ? : subMenuName === 'contact-us' ? : subMenuName === 'settings' ? : subMenuName === 'pages' ? : subMenuName === 'jobs' ? : subMenuName === 'category' ? : null }
} ) } export default SideBar