equal
deleted
inserted
replaced
|
1 import PropTypes from 'prop-types'; |
|
2 import React, { Component } from 'react'; |
|
3 import { connect } from 'react-redux'; |
|
4 // import logo from './logo.svg'; |
|
5 import { Navbar, Nav, NavItem } from 'react-bootstrap'; |
|
6 |
|
7 class AppNavbar extends Component { |
|
8 |
|
9 onClickHome = (e) => { |
|
10 e.preventDefault(); |
|
11 this.props.history.push('/'); |
|
12 } |
|
13 |
|
14 onClickSessions = (e) => { |
|
15 e.preventDefault(); |
|
16 this.props.history.push('/sessions'); |
|
17 } |
|
18 |
|
19 onClickLogin = (e) => { |
|
20 e.preventDefault(); |
|
21 this.props.history.push('/login'); |
|
22 } |
|
23 |
|
24 renderLogin() { |
|
25 return ( |
|
26 <NavItem onClick={this.onClickLogin} href="/login">Login</NavItem> |
|
27 ); |
|
28 } |
|
29 |
|
30 render() { |
|
31 return ( |
|
32 <Navbar fluid inverse fixedTop> |
|
33 <Navbar.Header> |
|
34 <Navbar.Brand> |
|
35 <a onClick={this.onClickHome} href="/">IRI Notes</a> |
|
36 </Navbar.Brand> |
|
37 <Navbar.Toggle /> |
|
38 </Navbar.Header> |
|
39 <Navbar.Collapse> |
|
40 <Nav> |
|
41 <NavItem onClick={this.onClickSessions} href="/sessions">Sessions</NavItem> |
|
42 </Nav> |
|
43 <Nav pullRight> |
|
44 {this.renderLogin()} |
|
45 </Nav> |
|
46 </Navbar.Collapse> |
|
47 </Navbar> |
|
48 ); |
|
49 } |
|
50 } |
|
51 |
|
52 AppNavbar.propTypes = { |
|
53 isAuthenticated: PropTypes.bool.isRequired |
|
54 }; |
|
55 |
|
56 function mapStateToProps(state, props) { |
|
57 return { |
|
58 isAuthenticated: state.get('isAuthenticated') |
|
59 }; |
|
60 } |
|
61 |
|
62 export default connect(mapStateToProps)(AppNavbar); |