import { useLocation } from 'react-router-dom'
import DashboardSidebar from '../common/DashboardSidebar'
import FilamentIcon from '../../Icons/FilamentIcon'
import PartIcon from '../../Icons/PartIcon'
import ProductIcon from '../../Icons/ProductIcon'
import VendorIcon from '../../Icons/VendorIcon'
import MaterialIcon from '../../Icons/MaterialIcon'
import NoteTypeIcon from '../../Icons/NoteTypeIcon'
import SettingsIcon from '../../Icons/SettingsIcon'
import AuditLogIcon from '../../Icons/AuditLogIcon'
import DeveloperIcon from '../../Icons/DeveloperIcon'
import PersonIcon from '../../Icons/PersonIcon'
import HostIcon from '../../Icons/HostIcon'
import DocumentPrinterIcon from '../../Icons/DocumentPrinterIcon'
import DocumentTemplateIcon from '../../Icons/DocumentTemplateIcon'
import DocumentIcon from '../../Icons/DocumentIcon'
import DocumentSizeIcon from '../../Icons/DocumentSizeIcon'
import DocumentJobIcon from '../../Icons/DocumentJobIcon'
import FileIcon from '../../Icons/FileIcon'
const items = [
{
key: 'filaments',
icon: ,
label: 'Filaments',
path: '/dashboard/management/filaments'
},
{
key: 'parts',
icon: ,
label: 'Parts',
path: '/dashboard/management/parts'
},
{
key: 'products',
icon: ,
label: 'Products',
path: '/dashboard/management/products'
},
{
key: 'vendors',
icon: ,
label: 'Vendors',
path: '/dashboard/management/vendors'
},
{
key: 'materials',
icon: ,
label: 'Materials',
path: '/dashboard/management/materials'
},
{ type: 'divider' },
{
key: 'noteTypes',
icon: ,
label: 'Note Types',
path: '/dashboard/management/notetypes'
},
{
key: 'documents',
icon: ,
label: 'Documents',
children: [
{
key: 'documentPrinters',
icon: ,
label: 'Document Printers',
path: '/dashboard/management/documentprinters'
},
{
key: 'documentJobs',
icon: ,
label: 'Document Jobs',
path: '/dashboard/management/documentjobs'
},
{
key: 'documentTemplates',
icon: ,
label: 'Document Templates',
path: '/dashboard/management/documenttemplates'
},
{
key: 'documentSizes',
icon: ,
label: 'Document Sizes',
path: '/dashboard/management/documentsizes'
}
]
},
{ type: 'divider' },
{
key: 'hosts',
icon: ,
label: 'Hosts',
path: '/dashboard/management/hosts'
},
{ type: 'divider' },
{
key: 'users',
icon: ,
label: 'Users',
path: '/dashboard/management/users'
},
{
key: 'settings',
icon: ,
label: 'Settings',
path: '/dashboard/management/settings'
},
{
key: 'files',
icon: ,
label: 'Files',
path: '/dashboard/management/files'
},
{
key: 'auditLogs',
icon: ,
label: 'Audit Logs',
path: '/dashboard/management/auditlogs'
}
]
if (import.meta.env.MODE === 'development') {
items.push(
{ type: 'divider' },
{
key: 'developer',
icon: ,
label: 'Developer',
path: '/dashboard/developer/sessionstorage'
}
)
}
const routeKeyMap = {
'/dashboard/management/filaments': 'filaments',
'/dashboard/management/parts': 'parts',
'/dashboard/management/users': 'users',
'/dashboard/management/products': 'products',
'/dashboard/management/vendors': 'vendors',
'/dashboard/management/materials': 'materials',
'/dashboard/management/notetypes': 'noteTypes',
'/dashboard/management/settings': 'settings',
'/dashboard/management/auditlogs': 'auditLogs',
'/dashboard/management/files': 'files',
'/dashboard/management/hosts': 'hosts',
'/dashboard/management/documentsizes': 'documentSizes',
'/dashboard/management/documentprinters': 'documentPrinters',
'/dashboard/management/documenttemplates': 'documentTemplates',
'/dashboard/management/documentjobs': 'documentJobs'
}
const ManagementSidebar = (props) => {
const location = useLocation()
const selectedKey = (() => {
const match = Object.keys(routeKeyMap).find((path) =>
location.pathname.startsWith(path)
)
return match ? routeKeyMap[match] : 'filaments'
})()
return
}
export default ManagementSidebar