4466ba436b
## Description This PR ensures that the default prettier config is used for examples and templates. This config is compatible with `prettier@3` as well (upgrading prettier is bigger change that can be a future PR). ## Changes - Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will be needed upgrading to prettier@3) - Added `examples/.prettierrc.json` with default config (this will change every example) - Added `packages/create-next-app/templates/.prettierrc.json` with default config (this will change every template) ## Related - Fixes #54402 - Closes #54409
80 lines
1.7 KiB
JavaScript
80 lines
1.7 KiB
JavaScript
import Link from "next/link";
|
|
import { useUser } from "../lib/hooks";
|
|
|
|
export default function Navbar() {
|
|
const [user, { mutate }] = useUser();
|
|
|
|
async function handleLogout() {
|
|
await fetch("/api/logout");
|
|
mutate({ user: null });
|
|
}
|
|
|
|
return (
|
|
<header>
|
|
<nav>
|
|
<ul>
|
|
<li>
|
|
<Link href="/" legacyBehavior>
|
|
Home
|
|
</Link>
|
|
</li>
|
|
{user ? (
|
|
<>
|
|
<li>
|
|
<Link href="/profile" legacyBehavior>
|
|
Profile
|
|
</Link>
|
|
</li>
|
|
<li>
|
|
<a role="button" onClick={handleLogout}>
|
|
Logout
|
|
</a>
|
|
</li>
|
|
</>
|
|
) : (
|
|
<>
|
|
<li>
|
|
<Link href="/signup" legacyBehavior>
|
|
Sign up
|
|
</Link>
|
|
</li>
|
|
<li>
|
|
<Link href="/login" legacyBehavior>
|
|
Login
|
|
</Link>
|
|
</li>
|
|
</>
|
|
)}
|
|
</ul>
|
|
</nav>
|
|
<style jsx>{`
|
|
nav {
|
|
max-width: 42rem;
|
|
margin: 0 auto;
|
|
padding: 0.2rem 1.25rem;
|
|
}
|
|
ul {
|
|
display: flex;
|
|
list-style: none;
|
|
margin-left: 0;
|
|
padding-left: 0;
|
|
}
|
|
li {
|
|
margin-right: 1rem;
|
|
}
|
|
li:first-child {
|
|
margin-left: auto;
|
|
}
|
|
a {
|
|
color: #fff;
|
|
text-decoration: none;
|
|
cursor: pointer;
|
|
}
|
|
header {
|
|
color: #fff;
|
|
background-color: #666;
|
|
}
|
|
`}</style>
|
|
</header>
|
|
);
|
|
}
|