Skip to content

Commit 0469445

Browse files
authored
Merge pull request #1799 from hermannsalan/new-header
New header links, and community page banner
2 parents 0454876 + 4341fb2 commit 0469445

File tree

5 files changed

+135
-160
lines changed

5 files changed

+135
-160
lines changed

src/frontend/src/components/Header/index.tsx

Lines changed: 52 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,43 +2,74 @@ import React from "react";
22
import { Link } from "react-router-dom";
33
import Logo from "../Logo";
44

5-
export default class Header extends React.Component {
5+
interface HeaderState {
6+
isOpen: boolean;
7+
}
8+
9+
export default class Header extends React.Component<{}, HeaderState> {
10+
constructor(props: {}) {
11+
super(props);
12+
this.state = {
13+
isOpen: false
14+
};
15+
}
16+
17+
private toggleMenu = (): void => {
18+
this.setState((prevState) => ({ isOpen: !prevState.isOpen }));
19+
};
20+
621
public render() {
22+
const { isOpen } = this.state;
23+
724
return (
8-
<div className="bg-white shadow">
25+
<header className="fixed top-0 w-100 z-max bg-white shadow-4">
926
<nav
10-
className="mw8 relative center flex flex-wrap justify-between pa3"
27+
className="relative flex flex-column flex-row-l justify-between-l items-center pa3 center mw9"
1128
aria-label="Primary"
1229
>
13-
<div className="logo mb4 mb0-ns">
14-
<Link to="/" aria-label="Home">
15-
<Logo />
16-
</Link>
30+
<div className="w-100 w-auto-l flex justify-between items-center">
31+
<div className="logo">
32+
<Link to="/" aria-label="Home" className="mh4">
33+
<Logo className="" />
34+
</Link>
35+
</div>
36+
37+
<button
38+
className="db dn-l pointer bg-transparent bn pa2 z-max"
39+
onClick={this.toggleMenu}
40+
aria-label="Toggle navigation"
41+
>
42+
<div className="w2 h1 relative pointer">
43+
<div className={`bg-navy h-25 w-100 mb1 transition-all ${isOpen ? "rotate-45 absolute top-0" : ""}`} />
44+
<div className={`bg-navy h-25 w-100 mb1 transition-all ${isOpen ? "dn" : ""}`} />
45+
<div className={`bg-navy h-25 w-100 transition-all ${isOpen ? "rotate-135 absolute top-0" : ""}`} />
46+
</div>
47+
</button>
1748
</div>
18-
<div className="mt5 mt2-ns">
19-
<Link
20-
to="/manual"
21-
className="link hover-blue f5 fw6 pv2 ph0 ph3-ns mr4-ns"
49+
50+
<div className={`${isOpen ? "flex" : "dn"} flex-l flex-column flex-row-l items-center static-l pa0-l shadow-none-l w-auto-l z-999 mt3 mt0-l`}>
51+
<Link
52+
className="link navy hover-blue f5 fw6 pv3 pv2-l ph3-l mr4-l nowrap"
53+
to="/community"
2254
>
23-
Manual
55+
Community Board
2456
</Link>
25-
{/*
26-
<Link
27-
to="/community"
28-
className="link hover-blue f5 fw6 pv2 ph0 ph3-ns mr4-ns"
57+
<Link
58+
className="link navy hover-blue f5 fw6 pv3 pv2-l ph3-l mr4-l nowrap"
59+
to="/manual"
2960
>
30-
Community
61+
Manual
3162
</Link>
32-
*/}
63+
3364
<Link
3465
to="/record-search"
35-
className="absolute top-1 right-1 static-ns bg-blue white bg-animate hover-bg-dark-blue f5 fw6 br2 pv2 ph3"
66+
className="link f5 fw6 pv2 ph3 blue br2 ba b--blue hover-bg-dark-blue hover-white tc mt3 mt0-l ml4-l"
3667
>
3768
Search
3869
</Link>
3970
</div>
4071
</nav>
41-
</div>
72+
</header>
4273
);
4374
}
44-
}
75+
}

0 commit comments

Comments
 (0)