Skip to content

Commit c5dca69

Browse files
Merge pull request #7 from marcoaraujojunior/develop
Clean code and add toggle in menu
2 parents dc11e9d + 33e6335 commit c5dca69

File tree

2 files changed

+33
-5
lines changed

2 files changed

+33
-5
lines changed

app/components/Menu/Menu.js

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,56 @@ 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+
let isActive = this.state.toggleNav ? '' : 'is-active';
23+
this.setState({toggleNav: isActive});
24+
}
25+
26+
handleLink(e) {
27+
this.setState({toggleNav: ''});
28+
}
29+
1630
handleView() {
1731
return (
1832
<nav className="nav has-shadow" id="top">
1933
<div className="container">
2034
<div className="nav-left">
2135
<a className="nav-item" href="../index.html">IClient</a>
2236
</div>
23-
<span className="nav-toggle">
37+
<span className={ `nav-toggle ${this.state.toggleNav}` } onClick={this.toggleNav}>
2438
<span></span>
2539
<span></span>
2640
<span></span>
2741
</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>
42+
<div className={ `nav-right nav-menu ${this.state.toggleNav}` }>
43+
<Link to="/"
44+
className="nav-item is-tab"
45+
onlyActiveOnIndex={true}
46+
activeClassName="is-active"
47+
onClick={this.handleLink}>Home
48+
</Link>
49+
<Link to="/client"
50+
className="nav-item is-tab"
51+
activeClassName="is-active"
52+
onClick={this.handleLink}>Client
53+
</Link>
54+
<Link to="/area"
55+
className="nav-item is-tab"
56+
activeClassName="is-active"
57+
onClick={this.handleLink}>Area
58+
</Link>
3259
<span className="nav-item">
3360
<a className="button" onClick={this.handleLogout}>Logout</a>
3461
</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)