Skip to content

Commit 816cfc4

Browse files
committed
Toggle when mobile view
1 parent 66164bd commit 816cfc4

File tree

2 files changed

+36
-5
lines changed

2 files changed

+36
-5
lines changed

app/components/Menu/Menu.js

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,59 @@ class Menu extends React.Component{
66
super(props, context);
77
this.handleLogout = this.handleLogout.bind(this);
88
this.handleView = this.handleView.bind(this);
9+
this.toggleNav = this.toggleNav.bind(this);
10+
this.handleLink = this.handleLink.bind(this);
11+
this.state = {
12+
toggleNav: ''
13+
};
914
}
1015

1116
handleLogout() {
1217
delete localStorage.token;
1318
this.context.router.push("/");
1419
}
1520

21+
toggleNav() {
22+
if (this.state.toggleNav) {
23+
this.setState({toggleNav: ''});
24+
} else {
25+
this.setState({toggleNav: 'is-active'});
26+
}
27+
}
28+
29+
handleLink(e) {
30+
this.setState({toggleNav: ''});
31+
}
32+
1633
handleView() {
1734
return (
1835
<nav className="nav has-shadow" id="top">
1936
<div className="container">
2037
<div className="nav-left">
2138
<a className="nav-item" href="../index.html">IClient</a>
2239
</div>
23-
<span className="nav-toggle">
40+
<span className={ `nav-toggle ${this.state.toggleNav}` } onClick={this.toggleNav}>
2441
<span></span>
2542
<span></span>
2643
<span></span>
2744
</span>
28-
<div className="nav-right nav-menu">
29-
<Link to="/" className="nav-item is-tab is-active">Home</Link>
30-
<Link to="/client" className="nav-item is-tab">Client</Link>
31-
<Link to="/area" className="nav-item is-tab">Area</Link>
45+
<div className={ `nav-right nav-menu ${this.state.toggleNav}` }>
46+
<Link to="/"
47+
className="nav-item is-tab"
48+
onlyActiveOnIndex={true}
49+
activeClassName="is-active"
50+
onClick={this.handleLink}>Home
51+
</Link>
52+
<Link to="/client"
53+
className="nav-item is-tab"
54+
activeClassName="is-active"
55+
onClick={this.handleLink}>Client
56+
</Link>
57+
<Link to="/area"
58+
className="nav-item is-tab"
59+
activeClassName="is-active"
60+
onClick={this.handleLink}>Area
61+
</Link>
3262
<span className="nav-item">
3363
<a className="button" onClick={this.handleLogout}>Logout</a>
3464
</span>

public/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<html lang="en">
33
<head>
44
<meta charset="utf-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
56
<title>React Client</title>
67
</head>
78
<body>

0 commit comments

Comments
 (0)