Navbar Component
components/Navbar.js
import Link from 'next/link';
// Top navbar
export default function Navbar() {
const user = null;
const username = null;
return (
<nav className="navbar">
<ul>
<li>
<Link href="/">
<button className="btn-logo">FEED</button>
</Link>
</li>
{/* user is signed-in and has username */}
{username && (
<>
<li className="push-left">
<Link href="/admin">
<button className="btn-blue">Write Posts</button>
</Link>
</li>
<li>
<Link href={`/${username}`}>
<img src={user?.photoURL} />
</Link>
</li>
</>
)}
{/* user is not signed OR has not created username */}
{!username && (
<li>
<Link href="/enter">
<button className="btn-blue">Log in</button>
</Link>
</li>
)}
</ul>
</nav>
);
}
Usage in the App Component
pages/_app.js
import Navbar from '../components/Navbar';
function MyApp({ Component, pageProps }) {
return (
<>
<Navbar />
<Component {...pageProps} />
</>
);
}