18a9c7e371
* Update `packages/` * Update examples * Update tests * Update bench * Update top level files * Fix build * trigger
81 lines
1.7 KiB
JavaScript
81 lines
1.7 KiB
JavaScript
import Link from 'next/link'
|
|
|
|
function Header({ user, loading }) {
|
|
return (
|
|
<header>
|
|
<nav>
|
|
<ul>
|
|
<li>
|
|
<Link href="/">
|
|
<a>Home</a>
|
|
</Link>
|
|
</li>
|
|
<li>
|
|
<Link href="/about">
|
|
<a>About</a>
|
|
</Link>
|
|
</li>
|
|
{!loading &&
|
|
(user ? (
|
|
<>
|
|
<li>
|
|
<Link href="/profile">
|
|
<a>Client-rendered profile</a>
|
|
</Link>
|
|
</li>
|
|
<li>
|
|
<Link href="/advanced/ssr-profile">
|
|
<a>Server rendered profile (advanced)</a>
|
|
</Link>
|
|
</li>
|
|
<li>
|
|
<a href="/api/logout">Logout</a>
|
|
</li>
|
|
</>
|
|
) : (
|
|
<li>
|
|
<a href="/api/login">Login</a>
|
|
</li>
|
|
))}
|
|
</ul>
|
|
</nav>
|
|
|
|
<style jsx>{`
|
|
header {
|
|
padding: 0.2rem;
|
|
color: #fff;
|
|
background-color: #333;
|
|
}
|
|
nav {
|
|
max-width: 42rem;
|
|
margin: 1.5rem auto;
|
|
}
|
|
ul {
|
|
display: flex;
|
|
list-style: none;
|
|
margin-left: 0;
|
|
padding-left: 0;
|
|
}
|
|
li {
|
|
margin-right: 1rem;
|
|
}
|
|
li:nth-child(2) {
|
|
margin-right: auto;
|
|
}
|
|
a {
|
|
color: #fff;
|
|
text-decoration: none;
|
|
}
|
|
button {
|
|
font-size: 1rem;
|
|
color: #fff;
|
|
cursor: pointer;
|
|
border: none;
|
|
background: none;
|
|
}
|
|
`}</style>
|
|
</header>
|
|
)
|
|
}
|
|
|
|
export default Header
|