2019-10-01 23:19:04 +02:00
|
|
|
import Link from 'next/link'
|
|
|
|
|
2019-11-11 04:24:53 +01:00
|
|
|
function Header({ user, loading }) {
|
2019-10-01 23:19:04 +02:00
|
|
|
return (
|
|
|
|
<header>
|
|
|
|
<nav>
|
|
|
|
<ul>
|
|
|
|
<li>
|
2019-11-11 04:24:53 +01:00
|
|
|
<Link href="/">
|
2019-10-01 23:19:04 +02:00
|
|
|
<a>Home</a>
|
|
|
|
</Link>
|
|
|
|
</li>
|
|
|
|
<li>
|
2019-11-11 04:24:53 +01:00
|
|
|
<Link href="/about">
|
2019-10-01 23:19:04 +02:00
|
|
|
<a>About</a>
|
|
|
|
</Link>
|
|
|
|
</li>
|
|
|
|
{!loading &&
|
|
|
|
(user ? (
|
|
|
|
<>
|
|
|
|
<li>
|
2019-11-11 04:24:53 +01:00
|
|
|
<Link href="/profile">
|
2019-10-01 23:19:04 +02:00
|
|
|
<a>Client-rendered profile</a>
|
|
|
|
</Link>
|
|
|
|
</li>
|
|
|
|
<li>
|
2019-11-11 04:24:53 +01:00
|
|
|
<Link href="/advanced/ssr-profile">
|
2019-10-01 23:19:04 +02:00
|
|
|
<a>Server rendered profile (advanced)</a>
|
|
|
|
</Link>
|
|
|
|
</li>
|
|
|
|
<li>
|
2019-11-11 04:24:53 +01:00
|
|
|
<a href="/api/logout">Logout</a>
|
2019-10-01 23:19:04 +02:00
|
|
|
</li>
|
|
|
|
</>
|
|
|
|
) : (
|
|
|
|
<li>
|
2019-11-11 04:24:53 +01:00
|
|
|
<a href="/api/login">Login</a>
|
2019-10-01 23:19:04 +02:00
|
|
|
</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
|