| /* |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| import React, { Component } from 'react'; |
| import { Redirect, Route, Switch } from 'react-router-dom'; |
| import { Container } from 'reactstrap'; |
| |
| import { |
| AppAside, |
| AppBreadcrumb, |
| AppFooter, |
| AppHeader, |
| AppSidebar, |
| AppSidebarFooter, |
| AppSidebarForm, |
| AppSidebarHeader, |
| AppSidebarMinimizer, |
| AppSidebarNav, |
| } from '@coreui/react'; |
| // sidebar nav config |
| import navigation from '../../_nav'; |
| // routes config |
| import routes from '../../routes'; |
| import DefaultAside from './DefaultAside'; |
| import DefaultFooter from './DefaultFooter'; |
| import DefaultHeader from './DefaultHeader'; |
| |
| class DefaultLayout extends Component { |
| render() { |
| return ( |
| <div className="app"> |
| <AppHeader fixed> |
| <DefaultHeader /> |
| </AppHeader> |
| <div className="app-body"> |
| <AppSidebar fixed display="lg"> |
| <AppSidebarHeader /> |
| <AppSidebarForm /> |
| <AppSidebarNav navConfig={navigation} {...this.props} /> |
| <AppSidebarFooter /> |
| <AppSidebarMinimizer /> |
| </AppSidebar> |
| <main className="main"> |
| <AppBreadcrumb appRoutes={routes}/> |
| <Container fluid> |
| <Switch> |
| {routes.map((route, idx) => { |
| return route.component ? (<Route key={idx} path={route.path} exact={route.exact} name={route.name} render={props => ( |
| <route.component {...props} /> |
| )} />) |
| : (null); |
| }, |
| )} |
| <Redirect from="/" to="/dashboard" /> |
| </Switch> |
| </Container> |
| </main> |
| <AppAside fixed> |
| <DefaultAside /> |
| </AppAside> |
| </div> |
| <AppFooter> |
| <DefaultFooter /> |
| </AppFooter> |
| </div> |
| ); |
| } |
| } |
| |
| export default DefaultLayout; |