@@ -99,7 +99,12 @@ export default class Navigation extends Component {
99
99
static propTypes = {
100
100
children : PropTypes . node . isRequired ,
101
101
leftItems : PropTypes . arrayOf ( PropTypes . any ) . isRequired ,
102
- rightItems : PropTypes . arrayOf ( PropTypes . any ) . isRequired
102
+ rightItems : PropTypes . arrayOf ( PropTypes . any ) . isRequired ,
103
+ mobileOnly : PropTypes . bool
104
+ } ;
105
+
106
+ static defaultProps = {
107
+ mobileOnly : true
103
108
} ;
104
109
105
110
state = {
@@ -115,13 +120,15 @@ export default class Navigation extends Component {
115
120
handleToggle = ( ) => this . setState ( { visible : ! this . state . visible } ) ;
116
121
117
122
render ( ) {
118
- const { children, leftItems, rightItems } = this . props ;
123
+ const {
124
+ children, leftItems, rightItems, mobileOnly
125
+ } = this . props ;
119
126
const { visible } = this . state ;
120
127
const styles = require ( './Navigation.scss' ) ;
121
128
122
129
return (
123
130
< div style = { { flex : 1 } } >
124
- < Responsive { ... Responsive . onlyMobile } >
131
+ { mobileOnly && (
125
132
< NavBarMobile
126
133
leftItems = { leftItems }
127
134
onPusherClick = { this . handlePusher }
@@ -132,11 +139,27 @@ export default class Navigation extends Component {
132
139
>
133
140
< NavBarChildren > { children } </ NavBarChildren >
134
141
</ NavBarMobile >
135
- </ Responsive >
136
- < Responsive minWidth = { Responsive . onlyTablet . minWidth } >
137
- < NavBarDesktop leftItems = { leftItems } rightItems = { rightItems } />
138
- < NavBarChildren > { children } </ NavBarChildren >
139
- </ Responsive >
142
+ ) }
143
+ { ! mobileOnly && (
144
+ < Responsive { ...Responsive . onlyMobile } >
145
+ < NavBarMobile
146
+ leftItems = { leftItems }
147
+ onPusherClick = { this . handlePusher }
148
+ onToggle = { this . handleToggle }
149
+ rightItems = { rightItems }
150
+ visible = { visible }
151
+ styles = { styles }
152
+ >
153
+ < NavBarChildren > { children } </ NavBarChildren >
154
+ </ NavBarMobile >
155
+ </ Responsive >
156
+ ) }
157
+ { ! mobileOnly && (
158
+ < Responsive minWidth = { Responsive . onlyTablet . minWidth } >
159
+ < NavBarDesktop leftItems = { leftItems } rightItems = { rightItems } />
160
+ < NavBarChildren > { children } </ NavBarChildren >
161
+ </ Responsive >
162
+ ) }
140
163
</ div >
141
164
) ;
142
165
}
0 commit comments