|
1 | | -export function Navbar() { |
| 1 | +import Image from "next/image"; |
| 2 | +import Link from "next/link"; |
| 3 | +import { useRouter } from "next/router"; |
| 4 | +import { useState } from "react"; |
| 5 | +import { FiAlignJustify, FiX } from "react-icons/fi"; |
| 6 | + |
| 7 | +export default function Navbar() { |
| 8 | + const router = useRouter(); |
| 9 | + const [menuOpen, setMenuOpen] = useState(false); |
| 10 | + const handleNav = () => { |
| 11 | + setMenuOpen(!menuOpen); |
| 12 | + }; |
2 | 13 | return ( |
3 | | - <div className="medium-sm fixed left-0 top-0 flex h-16 w-screen items-center justify-between bg-light"> |
4 | | - {/* Logo container */} |
5 | | - <div className="ml-10 rounded p-2 text-center">LOGO</div> |
| 14 | + <> |
| 15 | + <nav className="medium-sm fixed left-0 top-0 flex h-16 w-screen items-center justify-between bg-light"> |
| 16 | + {/* Logo container */} |
| 17 | + {/* <div className="ml-10 rounded p-2 text-center">LOGO</div> */} |
| 18 | + <div className="relative ml-10 h-10 w-28"> |
| 19 | + <Image |
| 20 | + className="object-contain" |
| 21 | + src="https://squadrone.com.au/wp-content/uploads/2024/11/squadrone-logo-01-scaled.webp" |
| 22 | + alt="Squadrone Logo" |
| 23 | + width={2560} |
| 24 | + height={889} |
| 25 | + /> |
| 26 | + </div> |
6 | 27 |
|
7 | | - {/* Navbar traversal options container */} |
8 | | - <div className="flex items-center gap-8"> |
9 | | - <div className="p-2 text-primary">Home</div> |
10 | | - <div className="p-2 text-dark">Schedule</div> |
11 | | - <div className="p-2 text-dark">Format & Rules</div> |
12 | | - <div className="p-2 text-dark">Sponsor & Guest</div> |
13 | | - <div className="p-2 text-dark">Leaderboard</div> |
14 | | - <div className="mr-10 rounded-2xl bg-primary p-3 px-6 font-semibold text-light"> |
15 | | - View Live Results |
| 28 | + {/* Navbar traversal options container */} |
| 29 | + <div className="hidden items-center gap-8 sm:flex"> |
| 30 | + <Link href="/" className="nav-link-active"> |
| 31 | + Home |
| 32 | + </Link> |
| 33 | + <Link href="/schedule" className="nav-link"> |
| 34 | + Schedule |
| 35 | + </Link> |
| 36 | + <Link href="/format-rules" className="nav-link text-dark"> |
| 37 | + Format & Rules |
| 38 | + </Link> |
| 39 | + <Link href="/sponsor-guest" className="nav-link text-dark"> |
| 40 | + Sponsor & Guest |
| 41 | + </Link> |
| 42 | + <Link href="/leaderboard" className="nav-link text-dark"> |
| 43 | + Leaderboard |
| 44 | + </Link> |
| 45 | + <div className="mr-10 rounded-2xl bg-primary p-3 px-6 font-semibold text-light"> |
| 46 | + View Live Results |
| 47 | + </div> |
| 48 | + </div> |
| 49 | + <div onClick={handleNav} className="mr-5 cursor-pointer sm:hidden"> |
| 50 | + <FiAlignJustify size={35} /> |
| 51 | + </div> |
| 52 | + </nav> |
| 53 | + <div |
| 54 | + className={ |
| 55 | + menuOpen |
| 56 | + ? "fixed right-0 top-0 h-screen w-[65%] bg-light p-10 shadow-xl duration-500 ease-out" |
| 57 | + : "fixed right-[-100%] duration-500 ease-in" |
| 58 | + } |
| 59 | + > |
| 60 | + <div className="flex w-full items-center justify-end"> |
| 61 | + <div onClick={handleNav} className="cursor-pointer"> |
| 62 | + <FiX size={35} /> |
| 63 | + </div> |
| 64 | + </div> |
| 65 | + <div className="flex flex-col py-6"> |
| 66 | + <Link href="/" className="nav-link-active"> |
| 67 | + Home |
| 68 | + </Link> |
| 69 | + <Link href="/schedule" className="nav-link"> |
| 70 | + Schedule |
| 71 | + </Link> |
| 72 | + <Link href="/format-rules" className="nav-link text-dark"> |
| 73 | + Format & Rules |
| 74 | + </Link> |
| 75 | + <Link href="/sponsor-guest" className="nav-link text-dark"> |
| 76 | + Sponsor & Guest |
| 77 | + </Link> |
| 78 | + <Link href="/leaderboard" className="nav-link text-dark"> |
| 79 | + Leaderboard |
| 80 | + </Link> |
16 | 81 | </div> |
17 | 82 | </div> |
18 | | - </div> |
| 83 | + </> |
19 | 84 | ); |
20 | 85 | } |
0 commit comments