Skip to content

Commit 734bbf9

Browse files
committed
Added mobileOnly menu since semantic ui Responsive component does not support SSR.
1 parent ec6a14c commit 734bbf9

File tree

1 file changed

+31
-8
lines changed

1 file changed

+31
-8
lines changed

src/components/Navigation/Navigation.js

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,12 @@ export default class Navigation extends Component {
9999
static propTypes = {
100100
children: PropTypes.node.isRequired,
101101
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
103108
};
104109

105110
state = {
@@ -115,13 +120,15 @@ export default class Navigation extends Component {
115120
handleToggle = () => this.setState({ visible: !this.state.visible });
116121

117122
render() {
118-
const { children, leftItems, rightItems } = this.props;
123+
const {
124+
children, leftItems, rightItems, mobileOnly
125+
} = this.props;
119126
const { visible } = this.state;
120127
const styles = require('./Navigation.scss');
121128

122129
return (
123130
<div style={{ flex: 1 }}>
124-
<Responsive {...Responsive.onlyMobile}>
131+
{mobileOnly && (
125132
<NavBarMobile
126133
leftItems={leftItems}
127134
onPusherClick={this.handlePusher}
@@ -132,11 +139,27 @@ export default class Navigation extends Component {
132139
>
133140
<NavBarChildren>{children}</NavBarChildren>
134141
</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+
)}
140163
</div>
141164
);
142165
}

0 commit comments

Comments
 (0)