import { lazy } from 'react'
import { Route } from 'react-router-dom'

const Filaments = lazy(
  () => import('../components/Dashboard/Management/Filaments')
)
const FilamentInfo = lazy(
  () => import('../components/Dashboard/Management/Filaments/FilamentInfo.jsx')
)
const FilamentSkus = lazy(
  () => import('../components/Dashboard/Management/FilamentSkus.jsx')
)
const FilamentSkuInfo = lazy(
  () =>
    import('../components/Dashboard/Management/FilamentSkus/FilamentSkuInfo.jsx')
)
const Parts = lazy(() => import('../components/Dashboard/Management/Parts.jsx'))
const PartInfo = lazy(
  () => import('../components/Dashboard/Management/Parts/PartInfo.jsx')
)
const PartSkus = lazy(
  () => import('../components/Dashboard/Management/PartSkus.jsx')
)
const PartSkuInfo = lazy(
  () => import('../components/Dashboard/Management/PartSkus/PartSkuInfo.jsx')
)
const Products = lazy(
  () => import('../components/Dashboard/Management/Products.jsx')
)
const ProductInfo = lazy(
  () => import('../components/Dashboard/Management/Products/ProductInfo.jsx')
)
const ProductCategories = lazy(
  () => import('../components/Dashboard/Management/ProductCategories.jsx')
)
const ProductCategoryInfo = lazy(
  () =>
    import('../components/Dashboard/Management/ProductCategories/ProductCategoryInfo.jsx')
)
const ProductSkus = lazy(
  () => import('../components/Dashboard/Management/ProductSkus.jsx')
)
const ProductSkuInfo = lazy(
  () =>
    import('../components/Dashboard/Management/ProductSkus/ProductSkuInfo.jsx')
)
const Vendors = lazy(() => import('../components/Dashboard/Management/Vendors'))
const VendorInfo = lazy(
  () => import('../components/Dashboard/Management/Vendors/VendorInfo')
)
const Materials = lazy(
  () => import('../components/Dashboard/Management/Materials')
)
const MaterialInfo = lazy(
  () => import('../components/Dashboard/Management/Materials/MaterialInfo.jsx')
)
const Couriers = lazy(
  () => import('../components/Dashboard/Management/Couriers')
)
const CourierInfo = lazy(
  () => import('../components/Dashboard/Management/Couriers/CourierInfo.jsx')
)
const CourierServices = lazy(
  () => import('../components/Dashboard/Management/CourierServices')
)
const CourierServiceInfo = lazy(
  () =>
    import('../components/Dashboard/Management/CourierServices/CourierServiceInfo.jsx')
)
const Settings = lazy(
  () => import('../components/Dashboard/Management/Settings')
)
const AuditLogs = lazy(
  () => import('../components/Dashboard/Management/AuditLogs.jsx')
)
const NoteTypes = lazy(
  () => import('../components/Dashboard/Management/NoteTypes.jsx')
)
const NoteTypeInfo = lazy(
  () => import('../components/Dashboard/Management/NoteTypes/NoteTypeInfo.jsx')
)
const NoteInfo = lazy(
  () => import('../components/Dashboard/Management/Notes/NoteInfo.jsx')
)
const Users = lazy(() => import('../components/Dashboard/Management/Users.jsx'))
const UserInfo = lazy(
  () => import('../components/Dashboard/Management/Users/UserInfo.jsx')
)
const AppPasswords = lazy(
  () => import('../components/Dashboard/Management/AppPasswords.jsx')
)
const AppPasswordInfo = lazy(
  () =>
    import('../components/Dashboard/Management/AppPasswords/AppPasswordInfo.jsx')
)
const Hosts = lazy(() => import('../components/Dashboard/Management/Hosts.jsx'))
const HostInfo = lazy(
  () => import('../components/Dashboard/Management/Hosts/HostInfo.jsx')
)
const DocumentSizes = lazy(
  () => import('../components/Dashboard/Management/DocumentSizes.jsx')
)
const DocumentSizeInfo = lazy(
  () =>
    import('../components/Dashboard/Management/DocumentSizes/DocumentSizeInfo.jsx')
)
const DocumentTemplates = lazy(
  () => import('../components/Dashboard/Management/DocumentTemplates.jsx')
)
const DocumentTemplateInfo = lazy(
  () =>
    import('../components/Dashboard/Management/DocumentTemplates/DocumentTemplateInfo.jsx')
)
const DocumentPrinters = lazy(
  () => import('../components/Dashboard/Management/DocumentPrinters.jsx')
)
const DocumentPrinterInfo = lazy(
  () =>
    import('../components/Dashboard/Management/DocumentPrinters/DocumentPrinterInfo.jsx')
)
const DocumentJobs = lazy(
  () => import('../components/Dashboard/Management/DocumentJobs.jsx')
)
const DocumentJobInfo = lazy(
  () =>
    import('../components/Dashboard/Management/DocumentJobs/DocumentJobInfo.jsx')
)
const DocumentTemplateDesign = lazy(
  () =>
    import('../components/Dashboard/Management/DocumentTemplates/DocumentTemplateDesign.jsx')
)
const Files = lazy(() => import('../components/Dashboard/Management/Files.jsx'))
const FileInfo = lazy(
  () => import('../components/Dashboard/Management/Files/FileInfo.jsx')
)
const TaxRates = lazy(
  () => import('../components/Dashboard/Management/TaxRates.jsx')
)
const TaxRateInfo = lazy(
  () => import('../components/Dashboard/Management/TaxRates/TaxRateInfo.jsx')
)
const TaxRecords = lazy(
  () => import('../components/Dashboard/Management/TaxRecords.jsx')
)
const TaxRecordInfo = lazy(
  () =>
    import('../components/Dashboard/Management/TaxRecords/TaxRecordInfo.jsx')
)
const About = lazy(() => import('../components/Dashboard/Management/About.jsx'))

const ManagementRoutes = [
  <Route key='filaments' path='management/filaments' element={<Filaments />} />,
  <Route
    key='filaments-info'
    path='management/filaments/info'
    element={<FilamentInfo />}
  />,
  <Route
    key='filamentskus'
    path='management/filamentskus'
    element={<FilamentSkus />}
  />,
  <Route
    key='filamentskus-info'
    path='management/filamentskus/info'
    element={<FilamentSkuInfo />}
  />,
  <Route key='parts' path='management/parts' element={<Parts />} />,
  <Route
    key='parts-info'
    path='management/parts/info'
    element={<PartInfo />}
  />,
  <Route key='partskus' path='management/partskus' element={<PartSkus />} />,
  <Route
    key='partskus-info'
    path='management/partskus/info'
    element={<PartSkuInfo />}
  />,
  <Route key='products' path='management/products' element={<Products />} />,
  <Route
    key='products-info'
    path='management/products/info'
    element={<ProductInfo />}
  />,
  <Route
    key='productcategories'
    path='management/productcategories'
    element={<ProductCategories />}
  />,
  <Route
    key='productcategories-info'
    path='management/productcategories/info'
    element={<ProductCategoryInfo />}
  />,
  <Route
    key='productskus'
    path='management/productskus'
    element={<ProductSkus />}
  />,
  <Route
    key='productskus-info'
    path='management/productskus/info'
    element={<ProductSkuInfo />}
  />,
  <Route key='vendors' path='management/vendors' element={<Vendors />} />,
  <Route key='hosts' path='management/hosts' element={<Hosts />} />,
  <Route
    key='hosts-info'
    path='management/hosts/info'
    element={<HostInfo />}
  />,
  <Route
    key='users-info'
    path='management/users/info'
    element={<UserInfo />}
  />,
  <Route
    key='vendors-info'
    path='management/vendors/info'
    element={<VendorInfo />}
  />,
  <Route key='files' path='management/files' element={<Files />} />,
  <Route
    key='files-info'
    path='management/files/info'
    element={<FileInfo />}
  />,
  <Route key='materials' path='management/materials' element={<Materials />} />,
  <Route
    key='materials-info'
    path='management/materials/info'
    element={<MaterialInfo />}
  />,
  <Route key='couriers' path='management/couriers' element={<Couriers />} />,
  <Route
    key='couriers-info'
    path='management/couriers/info'
    element={<CourierInfo />}
  />,
  <Route
    key='courierServices'
    path='management/courierServices'
    element={<CourierServices />}
  />,
  <Route
    key='courierServices-info'
    path='management/courierServices/info'
    element={<CourierServiceInfo />}
  />,
  <Route key='notetypes' path='management/notetypes' element={<NoteTypes />} />,
  <Route
    key='notetypes-info'
    path='management/notetypes/info'
    element={<NoteTypeInfo />}
  />,
  <Route key='note-info' path='management/notes/info' element={<NoteInfo />} />,
  <Route
    key='documentsizes'
    path='management/documentsizes'
    element={<DocumentSizes />}
  />,
  <Route
    key='documentsizes-info'
    path='management/documentsizes/info'
    element={<DocumentSizeInfo />}
  />,
  <Route
    key='documenttemplates'
    path='management/documenttemplates'
    element={<DocumentTemplates />}
  />,
  <Route
    key='documenttemplates-info'
    path='management/documenttemplates/info'
    element={<DocumentTemplateInfo />}
  />,
  <Route
    key='documentprinters'
    path='management/documentprinters'
    element={<DocumentPrinters />}
  />,
  <Route
    key='documentprinters-info'
    path='management/documentprinters/info'
    element={<DocumentPrinterInfo />}
  />,
  <Route
    key='documentjobs'
    path='management/documentjobs'
    element={<DocumentJobs />}
  />,
  <Route
    key='documentjobs-info'
    path='management/documentjobs/info'
    element={<DocumentJobInfo />}
  />,
  <Route
    key='documenttemplates-design'
    path='management/documenttemplates/design'
    element={<DocumentTemplateDesign />}
  />,
  <Route key='users' path='management/users' element={<Users />} />,
  <Route
    key='apppasswords'
    path='management/apppasswords'
    element={<AppPasswords />}
  />,
  <Route
    key='apppasswords-info'
    path='management/apppasswords/info'
    element={<AppPasswordInfo />}
  />,
  <Route key='settings' path='management/settings' element={<Settings />} />,
  <Route key='about' path='management/about' element={<About />} />,
  <Route key='auditlogs' path='management/auditlogs' element={<AuditLogs />} />,
  <Route key='taxrates' path='management/taxrates' element={<TaxRates />} />,
  <Route
    key='taxrates-info'
    path='management/taxrates/info'
    element={<TaxRateInfo />}
  />,
  <Route
    key='taxrecords'
    path='management/taxrecords'
    element={<TaxRecords />}
  />,
  <Route
    key='taxrecords-info'
    path='management/taxrecords/info'
    element={<TaxRecordInfo />}
  />
]

export default ManagementRoutes
