Skip to content

Commit dee1c35

Browse files
committed
Changed navbar <p> to Links, added mobile view scaffold & react icons
1 parent fec3fe4 commit dee1c35

6 files changed

Lines changed: 103 additions & 15 deletions

File tree

client/next.config.mjs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ const isWindowsDevContainer = () =>
77

88
/** @type {import('next').NextConfig} */
99
const nextConfig = {
10+
images: {
11+
domains: ["squadrone.com.au"],
12+
},
1013
reactStrictMode: true,
1114
// dumb fix for windows docker
1215
webpack: isWindowsDevContainer()

client/package-lock.json

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

client/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
"next": "15.3.3",
2828
"react": "19.1.0",
2929
"react-dom": "19.1.0",
30+
"react-icons": "^5.5.0",
3031
"tailwind-merge": "^3.3.1",
3132
"tailwindcss-animate": "^1.0.7"
3233
},
Lines changed: 79 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,85 @@
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+
};
213
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>
627

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>
1681
</div>
1782
</div>
18-
</div>
83+
</>
1984
);
2085
}

client/src/pages/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { Inter as FontSans } from "next/font/google";
22
import { useState } from "react";
33

4-
import { Navbar } from "@/components/ui/navbar";
54
import { usePings } from "@/hooks/pings";
65
import { cn } from "@/lib/utils";
76

87
import { Button } from "../components/ui/button";
8+
import Navbar from "../components/ui/navbar";
99

1010
const fontSans = FontSans({
1111
subsets: ["latin"],

client/src/styles/globals.css

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,3 +100,12 @@
100100
@apply font-worksans text-[16px] font-normal;
101101
}
102102
}
103+
104+
@layer components {
105+
.nav-link {
106+
@apply text-dark hover:text-primary transition-colors duration-200;
107+
}
108+
.nav-link-active {
109+
@apply text-primary;
110+
}
111+
}

0 commit comments

Comments
 (0)