Nav.tsx 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import { FC, useContext } from "react";
  2. import { UserContext } from "../context/UserContext";
  3. import Link from "next/link";
  4. import { useRouter } from "next/router";
  5. const Nav: FC = () => {
  6. const context = useContext(UserContext);
  7. const { pathname } = useRouter();
  8. return (
  9. <header className="bg-prisma-50 w-full min-h-nav flex items-end">
  10. <nav className="w-full max-w-screen-lg flex mx-auto justify-between">
  11. <ul className="flex">
  12. <li className="">
  13. <Link href="/">
  14. <a className="py-7 px-4 block font-bold">Prisma</a>
  15. </Link>
  16. </li>
  17. </ul>
  18. <ul className="flex">
  19. {context.user ? (
  20. <li>
  21. <span className="py-7 px-4 block">
  22. Hello <b>{context.user.name}</b>
  23. </span>
  24. </li>
  25. ) : (
  26. <>
  27. <li>
  28. <Link href="/signup">
  29. <a
  30. className={`py-7 px-4 block ${
  31. pathname === "/signup" ? "font-bold" : ""
  32. }`}
  33. >
  34. Sign up
  35. </a>
  36. </Link>
  37. </li>
  38. <li className="">
  39. <Link href="/login">
  40. <a
  41. className={`py-7 px-4 block ${
  42. pathname === "/login" ? "font-bold" : ""
  43. }`}
  44. >
  45. Log in
  46. </a>
  47. </Link>
  48. </li>
  49. </>
  50. )}
  51. </ul>
  52. </nav>
  53. </header>
  54. );
  55. };
  56. export default Nav;