diff --git a/src/_nav.js b/src/_nav.js
index dd413f1..19d78f5 100644
--- a/src/_nav.js
+++ b/src/_nav.js
@@ -12,10 +12,11 @@ import {
cilSpeedometer,
cilStar,
} from '@coreui/icons'
+import { CNavGroup, CNavItem, CNavTitle } from '@coreui/react'
const _nav = [
{
- component: 'CNavItem',
+ component: CNavItem,
name: 'Dashboard',
to: '/dashboard',
icon: ,
@@ -25,204 +26,181 @@ const _nav = [
},
},
{
- component: 'CNavTitle',
+ component: CNavTitle,
name: 'Theme',
},
{
- component: 'CNavItem',
+ component: CNavItem,
name: 'Colors',
to: '/theme/colors',
icon: ,
},
{
- component: 'CNavItem',
+ component: CNavItem,
name: 'Typography',
to: '/theme/typography',
icon: ,
},
{
- component: 'CNavTitle',
+ component: CNavTitle,
name: 'Components',
},
{
- component: 'CNavGroup',
+ component: CNavGroup,
name: 'Base',
to: '/base',
icon: ,
items: [
{
- component: 'CNavItem',
+ component: CNavItem,
name: 'Accordion',
to: '/base/accordion',
},
{
- component: 'CNavItem',
+ component: CNavItem,
name: 'Breadcrumb',
to: '/base/breadcrumbs',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Cards',
to: '/base/cards',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Carousel',
to: '/base/carousels',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Collapse',
to: '/base/collapses',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'List group',
to: '/base/list-groups',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Navs & Tabs',
to: '/base/navs',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Pagination',
to: '/base/paginations',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Popovers',
to: '/base/popovers',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Progress',
to: '/base/progress',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Spinners',
to: '/base/spinners',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Tables',
to: '/base/tables',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Tooltips',
to: '/base/tooltips',
},
],
},
{
- component: 'CNavGroup',
+ component: CNavGroup,
name: 'Buttons',
to: '/buttons',
icon: ,
items: [
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Buttons',
to: '/buttons/buttons',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Buttons groups',
to: '/buttons/button-groups',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Dropdowns',
to: '/buttons/dropdowns',
},
],
},
{
- component: 'CNavGroup',
+ component: CNavGroup,
name: 'Forms',
icon: ,
items: [
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Form Control',
to: '/forms/form-control',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Select',
to: '/forms/select',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Checks & Radios',
to: '/forms/checks-radios',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Range',
to: '/forms/range',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Input Group',
to: '/forms/input-group',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Floating Labels',
to: '/forms/floating-labels',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Layout',
to: '/forms/layout',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Validation',
to: '/forms/validation',
},
],
},
{
- component: 'CNavItem',
+ component: CNavItem,
name: 'Charts',
to: '/charts',
icon: ,
},
{
- component: 'CNavGroup',
+ component: CNavGroup,
name: 'Icons',
icon: ,
items: [
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'CoreUI Free',
to: '/icons/coreui-icons',
badge: {
@@ -231,52 +209,46 @@ const _nav = [
},
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'CoreUI Flags',
to: '/icons/flags',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'CoreUI Brands',
to: '/icons/brands',
},
],
},
{
- component: 'CNavGroup',
+ component: CNavGroup,
name: 'Notifications',
icon: ,
items: [
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Alerts',
to: '/notifications/alerts',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Badges',
to: '/notifications/badges',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Modal',
to: '/notifications/modals',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Toasts',
to: '/notifications/toasts',
},
],
},
{
- component: 'CNavItem',
+ component: CNavItem,
name: 'Widgets',
to: '/widgets',
icon: ,
@@ -286,35 +258,31 @@ const _nav = [
},
},
{
- component: 'CNavTitle',
+ component: CNavTitle,
name: 'Extras',
},
{
- component: 'CNavGroup',
+ component: CNavGroup,
name: 'Pages',
icon: ,
items: [
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Login',
to: '/login',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Register',
to: '/register',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Error 404',
to: '/404',
},
{
- component: 'CNavItem',
-
+ component: CNavItem,
name: 'Error 500',
to: '/500',
},
diff --git a/src/components/AppSidebarNav.js b/src/components/AppSidebarNav.js
index 1fc32d1..db6e3bd 100644
--- a/src/components/AppSidebarNav.js
+++ b/src/components/AppSidebarNav.js
@@ -2,12 +2,10 @@ import React from 'react'
import { NavLink, useLocation } from 'react-router-dom'
import PropTypes from 'prop-types'
-import { CBadge, CNavGroup, CNavGroupItems, CNavItem, CNavLink, CNavTitle } from '@coreui/react'
+import { CBadge } from '@coreui/react'
export const AppSidebarNav = ({ items }) => {
- const components = { CNavGroup, CNavGroupItems, CNavItem, CNavLink, CNavTitle }
const location = useLocation()
-
const navLink = (name, icon, badge) => {
return (
<>
@@ -24,13 +22,14 @@ export const AppSidebarNav = ({ items }) => {
const navItem = (item, index) => {
const { component, name, badge, icon, ...rest } = item
- const Component = components[component] || component
+ const Component = component
return (
@@ -39,17 +38,17 @@ export const AppSidebarNav = ({ items }) => {
)
}
const navGroup = (item, index) => {
- const { component, name, icon, items, to, ...rest } = item
- const Component = components[component] || component
+ const { component, name, icon, to, ...rest } = item
+ const Component = component
return (
- {item.items.map((item, index) =>
+ {item.items?.map((item, index) =>
item.items ? navGroup(item, index) : navItem(item, index),
)}
diff --git a/src/routes.js b/src/routes.js
index f0b717e..8631058 100644
--- a/src/routes.js
+++ b/src/routes.js
@@ -1,10 +1,10 @@
import React from 'react'
-// examples
-
+const Dashboard = React.lazy(() => import('./views/dashboard/Dashboard'))
const Colors = React.lazy(() => import('./views/theme/colors/Colors'))
const Typography = React.lazy(() => import('./views/theme/typography/Typography'))
+// Base
const Accordion = React.lazy(() => import('./views/components/base/accordion/Accordion'))
const Breadcrumbs = React.lazy(() => import('./views/components/base/breadcrumbs/Breadcrumbs'))
const Cards = React.lazy(() => import('./views/components/base/cards/Cards'))
@@ -19,12 +19,14 @@ const Spinners = React.lazy(() => import('./views/components/base/spinners/Spinn
const Tables = React.lazy(() => import('./views/components/base/tables/Tables'))
const Tooltips = React.lazy(() => import('./views/components/base/tooltips/Tooltips'))
+// Buttons
const Buttons = React.lazy(() => import('./views/components/buttons/buttons/Buttons'))
const ButtonGroups = React.lazy(() =>
import('./views/components/buttons/button-groups/ButtonGroups'),
)
const Dropdowns = React.lazy(() => import('./views/components/buttons/dropdowns/Dropdowns'))
+//Forms
const ChecksRadios = React.lazy(() => import('./views/components/forms/checks-radios/ChecksRadios'))
const FloatingLabels = React.lazy(() =>
import('./views/components/forms/floating-labels/FloatingLabels'),
@@ -36,25 +38,21 @@ const Range = React.lazy(() => import('./views/components/forms/range/Range'))
const Select = React.lazy(() => import('./views/components/forms/select/Select'))
const Validation = React.lazy(() => import('./views/components/forms/validation/Validation'))
+const Charts = React.lazy(() => import('./views/components/charts/Charts'))
+
+// Icons
const CoreUIIcons = React.lazy(() => import('./views/components/icons/coreui-icons/CoreUIIcons'))
const Flags = React.lazy(() => import('./views/components/icons/flags/Flags'))
const Brands = React.lazy(() => import('./views/components/icons/brands/Brands'))
+// Notifications
const Alerts = React.lazy(() => import('./views/components/notifications/alerts/Alerts'))
const Badges = React.lazy(() => import('./views/components/notifications/badges/Badges'))
const Modals = React.lazy(() => import('./views/components/notifications/modals/Modals'))
const Toasts = React.lazy(() => import('./views/components/notifications/toasts/Toasts'))
-// const Login = React.lazy(() => import('./views/examples/pages/login/Login'))
-// const Register = React.lazy(() => import('./views/examples/pages/register/Register'))
-// const Page404 = React.lazy(() => import('./views/examples/pages/page404/Page404'))
-// const Page500 = React.lazy(() => import('./views/examples/pages/page500/Page500'))
-
const Widgets = React.lazy(() => import('./views/components/widgets/Widgets'))
-const Charts = React.lazy(() => import('./views/components/charts/Charts'))
-const Dashboard = React.lazy(() => import('./views/dashboard/Dashboard'))
-
const routes = [
{ path: '/', exact: true, name: 'Home' },
{ path: '/dashboard', name: 'Dashboard', component: Dashboard },
@@ -98,10 +96,6 @@ const routes = [
{ path: '/notifications/badges', name: 'Badges', component: Badges },
{ path: '/notifications/modals', name: 'Modals', component: Modals },
{ path: '/notifications/toasts', name: 'Toasts', component: Toasts },
- // { path: '/login', name: 'Login', component: Login },
- // { path: '/register', name: 'Register', component: Register },
- // { path: '/404', name: '404', component: Page404 },
- // { path: '/500', name: '500', component: Page500 },
{ path: '/widgets', name: 'Widgets', component: Widgets },
]