-
-
Notifications
You must be signed in to change notification settings - Fork 268
/
Copy pathDefaultLayout.js
100 lines (96 loc) · 3.5 KB
/
DefaultLayout.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import React, { Component } from 'react';
import { Redirect, Route, Switch } from 'react-router-dom';
import { Container, Nav, NavItem, NavLink, Badge, DropdownToggle, DropdownMenu } from 'reactstrap';
import {
AppAside,
AppAsideToggler,
AppBreadcrumb,
AppFooter,
AppHeader,
AppHeaderDropdown,
AppNavbarBrand,
AppSidebar,
AppSidebarFooter,
AppSidebarForm,
AppSidebarHeader,
AppSidebarMinimizer,
AppSidebarNav,
AppSidebarToggler,
} from '../../../../src';
// sidebar nav config
import navigation from '../../_nav.js';
// routes config
import routes from '../../routes.js';
import logo from '../../assets/img/brand/logo.svg'
import sygnet from '../../assets/img/brand/sygnet.svg'
import avatar from '../../assets/img/avatars/6.jpg'
class DefaultLayout extends Component {
render() {
return (
<div className="app">
<AppHeader fixed>
<AppSidebarToggler className="d-lg-none" display="md" mobile />
<AppNavbarBrand
full={{ src: logo, width: 89, height: 25, alt: 'CoreUI Logo' }}
minimized={{ src: sygnet, width: 30, height: 30, alt: 'CoreUI Logo' }}
/>
<AppSidebarToggler className="d-md-down-none" display="lg" />
<Nav className="ml-auto" navbar>
<NavItem className="d-md-down-none">
<NavLink href="#"><i className="icon-bell"></i><Badge pill color="danger">5</Badge></NavLink>
</NavItem>
<NavItem className="d-md-down-none">
<NavLink href="#"><i className="icon-list"></i></NavLink>
</NavItem>
<NavItem className="d-md-down-none">
<NavLink href="#"><i className="icon-location-pin"></i></NavLink>
</NavItem>
<AppHeaderDropdown>
<DropdownToggle nav>
<img src={avatar} className="img-avatar" alt="[email protected]" />
</DropdownToggle>
<DropdownMenu right style={{ right: 'auto', height: '400px' }}>
AppHeaderDropdown
</DropdownMenu>
</AppHeaderDropdown>
</Nav>
<AppAsideToggler className="d-md-down-none" />
<AppAsideToggler className="d-lg-none" mobile />
</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}>
</AppBreadcrumb>
<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 hidden display="lg">
Aside
</AppAside>
</div>
<AppFooter>
<span><a href="https://coreui.io">CoreUI</a> © 2018 creativeLabs.</span>
<span className="ml-auto">Powered by <a href="https://coreui.io/react">CoreUI for React</a></span>
</AppFooter>
</div>
);
}
}
export default DefaultLayout;