@@ -12,6 +12,22 @@ const CommonNav = () => (
12
12
</ React . Fragment >
13
13
) ;
14
14
15
+ const OrganizerDropdown = ( { user } ) => (
16
+ < NavDropdown title = "Organizers" id = "protected-nav-dropdown" >
17
+ < style > { '.privateItem a {padding-top: 5px !important;}' } </ style >
18
+ { hasPermission ( user , 'permissions' ) && (
19
+ < MenuItem className = "privateItem" href = { routes . PERMISSIONS } >
20
+ Permissions
21
+ </ MenuItem >
22
+ ) }
23
+ { hasPermission ( user , 'credentials' ) && (
24
+ < MenuItem className = "privateItem" href = { routes . CREDENTIALS } >
25
+ Credentials
26
+ </ MenuItem >
27
+ ) }
28
+ </ NavDropdown >
29
+ ) ;
30
+
15
31
const PHNavbar = ( { auth, id, user } ) => (
16
32
< Navbar collapseOnSelect bsStyle = "default" style = { { marginBottom : '10px' , maxWidth : '100%' } } >
17
33
< Navbar . Header >
@@ -31,19 +47,9 @@ const PHNavbar = ({ auth, id, user }) => (
31
47
< Link to = { `/member/${ id } ` } > Profile</ Link >
32
48
</ li >
33
49
< CommonNav />
34
- < NavDropdown title = "Organizers" id = "protected-nav-dropdown" >
35
- < style > { `.privateItem a {padding-top: 5px !important;}` } </ style >
36
- { hasPermission ( user , 'permissions' ) && (
37
- < MenuItem className = "privateItem" href = { routes . PERMISSIONS } >
38
- Permissions
39
- </ MenuItem >
40
- ) }
41
- { hasPermission ( user , 'credentials' ) && (
42
- < MenuItem className = "privateItem" href = { routes . CREDENTIALS } >
43
- Credentials
44
- </ MenuItem >
45
- ) }
46
- </ NavDropdown >
50
+ { ( hasPermission ( user , 'permissions' ) || hasPermission ( user , 'credentials' ) ) && (
51
+ < OrganizerDropdown user = { user } />
52
+ ) }
47
53
< li role = "presentation" >
48
54
< Link to = { routes . LOGOUT } > Logout</ Link >
49
55
</ li >
@@ -60,91 +66,21 @@ const PHNavbar = ({ auth, id, user }) => (
60
66
</ Navbar >
61
67
) ;
62
68
63
- // const CommonNav = () => (
64
- // <React.Fragment>
65
- // <li>
66
- // <Link to="/members">Members</Link>
67
- // </li>
68
- // <li>
69
- // <Link to="/events">Events</Link>
70
- // </li>
71
- // <li>
72
- // <Link to="/calendar">Calendar</Link>
73
- // </li>
74
- // </React.Fragment>
75
- // );
76
-
77
- // const Navbars = ({ auth, id }) => (
78
- // <nav className="navbar navbar-default navbar-static-top">
79
- // <div className="container">
80
- // <div className="navbar-header">
81
- // <button
82
- // type="button"
83
- // className="navbar-toggle collapsed"
84
- // data-toggle="collapse"
85
- // data-target="#navbar"
86
- // aria-expanded="false"
87
- // aria-controls="navbar"
88
- // >
89
- // <span className="sr-only">Toggle navigation</span>
90
- // <span className="icon-bar" />
91
- // <span className="icon-bar" />
92
- // <span className="icon-bar" />
93
- // </button>
94
- // <Link id="nav-brand" className="navbar-brand" to="/">
95
- // <div className="nav-logo" />
96
- // <span className="nav-name">Purdue Hackers</span>
97
- // </Link>
98
- // </div>
99
- // <div className="collapse navbar-collapse" id="navbar">
100
- // <ul className="nav navbar-nav navbar-right">
101
- // {auth && id ? (
102
- // <React.Fragment>
103
- // <li>
104
- // <Link to={`/member/${id}`}>Profile</Link>
105
- // </li>
106
-
107
- // <CommonNav />
108
- // <li>
109
- // <Link to="/logout">Logout</Link>
110
- // </li>
111
- // </React.Fragment>
112
- // ) : (
113
- // <React.Fragment>
114
- // <CommonNav />
115
- // <li>
116
- // <Link to="/login">Login</Link>
117
- // </li>
118
- // <li>
119
- // <Link to="/signup">Join</Link>
120
- // </li>
121
- // </React.Fragment>
122
- // )}
123
- // </ul>
124
- // </div>
125
- // </div>
126
- // </nav>
127
- // );
128
-
129
- // Navbar.propTypes = {
130
- // auth: PropTypes.bool,
131
- // id: PropTypes.string
132
- // };
133
-
134
- // Navbar.defaultProps = {
135
- // auth: null,
136
- // id: null
137
- // };
138
-
139
69
PHNavbar . propTypes = {
140
70
auth : PropTypes . bool ,
141
- id : PropTypes . string
71
+ id : PropTypes . string ,
72
+ user : PropTypes . object
142
73
} ;
143
74
144
75
PHNavbar . defaultProps = {
145
76
auth : null ,
146
- id : null
77
+ id : null ,
78
+ user : null
147
79
} ;
148
80
81
+ OrganizerDropdown . propTypes = { user : PropTypes . object } ;
82
+
83
+ OrganizerDropdown . defaultProps = { user : null } ;
84
+
149
85
// export default Navbar;
150
86
export default PHNavbar ;
0 commit comments