coreui-react-starter
Version:
Open Source Bootstrap React Admin Template
109 lines (93 loc) • 4.49 kB
JavaScript
import React, { Component } from 'react';
import { Dropdown, DropdownMenu, DropdownItem } from 'reactstrap';
class Header extends Component {
constructor(props) {
super(props);
this.toggle = this.toggle.bind(this);
this.state = {
dropdownOpen: false
};
}
toggle(e) {
e.preventDefault();
this.setState({
dropdownOpen: !this.state.dropdownOpen
});
}
sidebarToggle(e) {
e.preventDefault();
document.body.classList.toggle('sidebar-hidden');
}
sidebarMinimize(e) {
e.preventDefault();
document.body.classList.toggle('sidebar-minimized');
}
mobileSidebarToggle(e) {
e.preventDefault();
document.body.classList.toggle('sidebar-mobile-show');
}
asideToggle(e) {
e.preventDefault();
document.body.classList.toggle('aside-menu-hidden');
}
render() {
return (
<header className="app-header navbar">
<button className="navbar-toggler mobile-sidebar-toggler d-lg-none" onClick={this.mobileSidebarToggle} type="button">☰</button>
<a className="navbar-brand" href="#"></a>
<ul className="nav navbar-nav d-md-down-none">
<li className="nav-item">
<a className="nav-link navbar-toggler sidebar-toggler" onClick={this.sidebarToggle} href="#">☰</a>
</li>
<li className="nav-item px-3">
<a className="nav-link" href="#">Dashboard</a>
</li>
<li className="nav-item px-3">
<a className="nav-link" href="#">Users</a>
</li>
<li className="nav-item px-3">
<a className="nav-link" href="#">Settings</a>
</li>
</ul>
<ul className="nav navbar-nav ml-auto">
<li className="nav-item d-md-down-none">
<a className="nav-link" href="#"><i className="icon-bell"></i><span className="badge badge-pill badge-danger">5</span></a>
</li>
<li className="nav-item d-md-down-none">
<a className="nav-link" href="#"><i className="icon-list"></i></a>
</li>
<li className="nav-item d-md-down-none">
<a className="nav-link" href="#"><i className="icon-location-pin"></i></a>
</li>
<li className="nav-item">
<Dropdown isOpen={this.state.dropdownOpen} toggle={this.toggle}>
<a onClick={this.toggle} className="nav-link dropdown-toggle nav-link" data-toggle="dropdown" href="" role="button" aria-haspopup="true" aria-expanded={this.state.dropdownOpen}>
<img src={'img/avatars/6.jpg'} className="img-avatar" alt="admin@bootstrapmaster.com"/>
<span className="d-md-down-none">admin</span>
</a>
<DropdownMenu className="dropdown-menu-right">
<DropdownItem header className="text-center"><strong>Account</strong></DropdownItem>
<DropdownItem><i className="fa fa-bell-o"></i> Updates<span className="badge badge-info">42</span></DropdownItem>
<DropdownItem><i className="fa fa-envelope-o"></i> Messages<span className="badge badge-success">42</span></DropdownItem>
<DropdownItem><i className="fa fa-tasks"></i> Tasks<span className="badge badge-danger">42</span></DropdownItem>
<DropdownItem><i className="fa fa-comments"></i> Comments<span className="badge badge-warning">42</span></DropdownItem>
<DropdownItem header className="text-center"><strong>Settings</strong></DropdownItem>
<DropdownItem><i className="fa fa-user"></i> Profile</DropdownItem>
<DropdownItem><i className="fa fa-wrench"></i> Settings</DropdownItem>
<DropdownItem><i className="fa fa-usd"></i> Payments<span className="badge badge-default">42</span></DropdownItem>
<DropdownItem><i className="fa fa-file"></i> Projects<span className="badge badge-primary">42</span></DropdownItem>
<DropdownItem divider />
<DropdownItem><i className="fa fa-shield"></i> Lock Account</DropdownItem>
<DropdownItem><i className="fa fa-lock"></i> Logout</DropdownItem>
</DropdownMenu>
</Dropdown>
</li>
<li className="nav-item d-md-down-none">
<a className="nav-link navbar-toggler aside-menu-toggler" onClick={this.asideToggle} href="#">☰</a>
</li>
</ul>
</header>
)
}
}
export default Header;