@@ -9,121 +9,112 @@ import Notification from '../Notification';
9
9
import styles from './Header.scss' ;
10
10
11
11
export const Header = ( {
12
- location, selectedCategory, categories, user, notifications,
13
- routes, handleNotification, doLogout, toggleNotif, loggedUser,
12
+ location, selectedCategory, categories, user, notifications, handleNotification, doLogout, toggleNotif, loggedUser,
14
13
} ) => (
15
14
16
15
< nav styleName = "header" >
17
16
< ul >
18
17
< li styleName = "branding" >
19
18
DRONE MARKET
20
19
</ li >
21
- {
22
- ( ( ) => {
23
- if ( user . role == 'consumer' ) {
24
- return (
25
- < li styleName = "pages" >
20
+ { user . role === 'consumer' &&
21
+ < li styleName = "pages" >
22
+ < ul >
23
+ < li >
24
+ < Link to = "/home" activeClassName = "active" > Home</ Link >
25
+ </ li >
26
+ < li >
27
+ < Link to = "/my-request-status" activeClassName = "active" > My Requests</ Link >
28
+ </ li >
29
+ < li >
30
+ < Link to = "/browse-provider" activeClassName = "active" > Browse Services</ Link >
31
+ </ li >
32
+ < li > < Link to = "javascript:;" activeClassName = "active" > Analytics</ Link > </ li >
33
+ < li > < Link to = "/drones-map" activeClassName = "active" > Drone Traffic</ Link > </ li >
34
+ < li > < Link to = "/mission-planner" activeClassName = "active" > MissionPlanner</ Link > </ li >
35
+ </ ul >
36
+ </ li >
37
+ }
38
+ { user . role === 'provider' &&
39
+ < li styleName = "pages" >
40
+ < ul >
41
+ < li >
42
+ < Link to = "/dashboard" activeClassName = "active" > Dashboard</ Link >
43
+ </ li >
44
+ < li >
45
+ < Link to = "/my-request" activeClassName = "active" > Requests</ Link >
46
+ </ li >
47
+ < li >
48
+ < Link to = "/my-drone" activeClassName = "active" > My Drones</ Link >
49
+ </ li >
50
+ < li >
51
+ < Link to = "/my-services" activeClassName = "active" > My Services</ Link >
52
+ </ li >
53
+ < li > < Link to = "javascript:;" activeClassName = "active" > Analytics</ Link > </ li >
54
+ < li > < Link to = "/drones-map" activeClassName = "active" > Drone Traffic</ Link > </ li >
55
+ < li > < Link to = "/mission-planner" activeClassName = "active" > MissionPlanner</ Link > </ li >
56
+ </ ul >
57
+ </ li >
58
+ }
59
+ { user . role === 'pilot' &&
60
+ < li styleName = "pages" >
61
+ < ul >
62
+ < li > < Link to = "/pilot-missions" activeClassName = "active" > Pilot Missions</ Link > </ li >
63
+ </ ul >
64
+ </ li >
65
+ }
66
+ { ! loggedUser ? (
67
+ [
68
+ ( < li key = "location" styleName = "location" >
69
+ < i />
70
+ { location }
71
+ </ li > ) ,
72
+ ( < li key = "search" styleName = "search" >
73
+ < SearchInput placeholder = "Type your search here..." />
74
+ </ li > ) ,
75
+ ( < li key = "category" >
76
+ < Dropdown title = { selectedCategory } >
26
77
< ul >
27
- < li >
28
- < Link to = "/home" activeClassName = "active" > Home</ Link >
29
- </ li >
30
- < li >
31
- < Link to = "/my-request-status" activeClassName = "active" > My Requests</ Link >
32
- </ li >
33
- < li >
34
- < Link to = "/browse-provider" activeClassName = "active" > Browse Services</ Link >
35
- </ li >
36
- < li > < Link to = "javascript:;" activeClassName = "active" > Analytics</ Link > </ li >
37
- < li > < Link to = "/drones-map" activeClassName = "active" > Drone Traffic</ Link > </ li >
38
- < li > < Link to = "/mission-planner" activeClassName = "active" > MissionPlanner</ Link > </ li >
78
+ { categories . map ( ( item , i ) => < li key = { i } > < a href = "javascript:" > { item . name } </ a > </ li > ) }
39
79
</ ul >
40
- </ li >
41
- ) ;
42
- } else if ( user . role == 'provider' ) {
43
- return (
44
- < li styleName = "pages" >
80
+ </ Dropdown >
81
+ </ li > ) ,
82
+ ( < li key = "login" styleName = "login" >
83
+ < LogInModalContainer />
84
+ </ li > ) ,
85
+ ( < li key = "signup" styleName = "login" >
86
+ < SignupModalContainer />
87
+ </ li > ) ,
88
+ ]
89
+ ) : (
90
+ [
91
+ ( < li key = "notification" styleName = "notifications" onClick = { ( ) => handleNotification ( ! toggleNotif ) } >
92
+ { notifications . length > 0 && < span styleName = "counter" > { notifications . length } </ span > }
93
+ { toggleNotif && < Notification
94
+ notifications = { notifications } toggleNotif = { toggleNotif }
95
+ handleNotification = { handleNotification }
96
+ /> }
97
+ </ li > ) ,
98
+ ( < li key = "welcome" styleName = "user" >
99
+ < Dropdown title = { < span > Welcome,< br /> { user . name } </ span > } >
45
100
< ul >
46
101
< li >
47
- < Link to = "/dashboard" activeClassName = "active" > Dashboard</ Link >
48
- </ li >
49
- < li >
50
- < Link to = "/my-request" activeClassName = "active" > Requests</ Link >
102
+ < a href = "javascript:" > Profile</ a >
51
103
</ li >
52
104
< li >
53
- < Link to = "/my-drone" activeClassName = "active" > My Drones </ Link >
105
+ < a href = "javascript:" onClick = { doLogout ( ) } > Logout </ a >
54
106
</ li >
55
- < li >
56
- < Link to = "/my-services" activeClassName = "active" > My Services</ Link >
57
- </ li >
58
- < li > < Link to = "javascript:;" activeClassName = "active" > Analytics</ Link > </ li >
59
- < li > < Link to = "/drones-map" activeClassName = "active" > Drone Traffic</ Link > </ li >
60
- < li > < Link to = "/mission-planner" activeClassName = "active" > MissionPlanner</ Link > </ li >
61
107
</ ul >
62
- </ li >
63
- ) ;
64
- }
65
- } ) ( )
66
- }
67
- {
68
- ( ( ) => {
69
- if ( ! loggedUser ) {
70
- return (
71
- [
72
- ( < li key = "location" styleName = "location" >
73
- < i />
74
- { location }
75
- </ li > ) ,
76
- ( < li key = "search" styleName = "search" >
77
- < SearchInput placeholder = "Type your search here..." />
78
- </ li > ) ,
79
- ( < li key = "category" >
80
- < Dropdown title = { selectedCategory } >
81
- < ul >
82
- { categories . map ( ( item , i ) => < li key = { i } > < a href = "javascript:" > { item . name } </ a > </ li > ) }
83
- </ ul >
84
- </ Dropdown >
85
- </ li > ) ,
86
- ( < li key = "login" styleName = "login" >
87
- < LogInModalContainer />
88
- </ li > ) ,
89
- ( < li key = "signup" styleName = "login" >
90
- < SignupModalContainer />
91
- </ li > ) ,
92
- ]
93
- ) ;
94
- }
95
- return (
96
- [
97
- ( < li key = "notification" styleName = "notifications" onClick = { ( ) => handleNotification ( ! toggleNotif ) } >
98
- { notifications . length > 0 && < span styleName = "counter" > { notifications . length } </ span > }
99
- { toggleNotif && < Notification
100
- notifications = { notifications } toggleNotif = { toggleNotif }
101
- handleNotification = { handleNotification }
102
- /> }
103
- </ li > ) ,
104
- ( < li key = "welcome" styleName = "user" >
105
- < Dropdown title = { < span > Welcome,< br /> { user . name } </ span > } >
106
- < ul >
107
- < li >
108
- < a href = "javascript:" > Profile</ a >
109
- </ li >
110
- < li >
111
- < a href = "javascript:" onClick = { doLogout ( ) } > Logout</ a >
112
- </ li >
113
- </ ul >
114
- </ Dropdown >
115
- </ li > ) ,
116
- ]
117
- ) ;
118
- } ) ( )
108
+ </ Dropdown >
109
+ </ li > ) ,
110
+ ]
111
+ )
119
112
}
120
-
121
113
</ ul >
122
114
</ nav >
123
115
) ;
124
116
125
117
Header . propTypes = {
126
- routes : PropTypes . any . isRequired ,
127
118
location : PropTypes . string . isRequired ,
128
119
selectedCategory : PropTypes . string . isRequired ,
129
120
categories : PropTypes . array . isRequired ,
0 commit comments