Skip to content

Commit 2d12f8b

Browse files
committed
feat: added sticky navbar for easy access & removed completion tracker
1 parent f11d611 commit 2d12f8b

File tree

4 files changed

+29
-19
lines changed

4 files changed

+29
-19
lines changed

site/src/app/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ import { personalDetails, experiencesArray, projectsArray, skillsArray } from '@
1313
export default function Portfolio() {
1414
return (
1515
<div className="bg-neutral-100 dark:bg-neutral-950 text-gray-800 dark:text-gray-200 transition-colors duration-300">
16-
<Navbar />
1716
<div className="mx-auto max-w-full px-4 sm:px-12 md:px-16 lg:max-w-5xl xl:max-w-6xl 2xl:max-w-7xl">
17+
<Navbar />
1818
<Header {...personalDetails} />
1919
<main className="container mx-auto py-8 z-1">
2020
<About />

site/src/components/Header.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { ArrowUpRight, Copy, CopyCheck } from 'lucide-react'
2-
import ThemeSwitch from './ThemeSwitch'
32
import { useMediaQuery } from '@/hooks/useMediaQuery'
43
import BlurFade, { BLUR_FADE_DELAY } from '@/components/ui/BlurFade'
54
import Image from 'next/image'
@@ -43,7 +42,6 @@ const Header = ({name, pronouns, currentEducation, currentJob, githubLink, linke
4342
<BlurFade delay={BLUR_FADE_DELAY}>
4443
<div className="flex items-center justify-center md:justify-start">
4544
<h1 className="text-4xl md:text-5xl lg:text-6xl font-bold mr-4">{name}</h1>
46-
<ThemeSwitch />
4745
</div>
4846
</BlurFade>
4947
<div className="flex justify-center md:justify-start mt-4 space-x-4">

site/src/components/Navbar.tsx

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
11
import useReadingProgress from '@/hooks/useReadingProgress'
2+
import ThemeSwitch from './ThemeSwitch';
23

34
const Navbar = () => {
45
const completion = useReadingProgress();
56

67
return (
7-
<nav className="z-50 py-0.5 sticky top-0">
8-
{/* <div className="flex items-center justify-between container mx-auto text-xl"></div> */}
9-
<div className="h-0.5 overflow-hidden">
10-
<span
11-
className="absolute bg-emerald-600 dark:bg-emerald-400 h-full w-full top-0 bottom-0"
12-
style={{ transform: `translateX(${completion - 100}%)` }}
13-
/>
14-
</div>
15-
</nav>
8+
<div className="sticky top-0 z-50 py-6 backdrop-blur-sm">
9+
<nav className="flex items-center justify-between">
10+
<ul className="flex gap-4 sm:gap-8">
11+
<li><a href="#about" className="hover:underline hover:underline-offset-4">home</a></li>
12+
<li><a href="#experience" className="hover:underline hover:underline-offset-4">experience</a></li>
13+
<li><a href="#education" className="hover:underline hover:underline-offset-4">education</a></li>
14+
<li><a href="#projects" className="hover:underline hover:underline-offset-4">projects</a></li>
15+
</ul>
16+
<div className="flex gap-0 sm:gap-4">
17+
<ThemeSwitch />
18+
</div>
19+
</nav>
20+
</div>
1621
)
1722
}
1823

site/src/components/ThemeSwitch.tsx

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
'use client'
1+
"use client";
22

33
import { Moon, Sun } from 'lucide-react'
44
import { useState, useEffect } from 'react'
@@ -23,10 +23,17 @@ export default function ThemeSwitch() {
2323
// priority={false}
2424
)
2525

26-
if (resolvedTheme === 'dark') {
27-
return <Sun onClick={() => setTheme('light')} />
28-
}
29-
if (resolvedTheme === 'light') {
30-
return <Moon onClick={() => setTheme('dark')} />
31-
}
26+
return (
27+
<button
28+
className="cursor-pointer"
29+
onClick={() => {
30+
setTheme(resolvedTheme === "dark" ? "light" : "dark");
31+
}}>
32+
{
33+
resolvedTheme === 'dark'
34+
? <Sun className="w-4 h-4 md:w-5 md:h-5 text-orange-300"/>
35+
: <Moon className="w-4 h-4 md:w-5 md:h-5 text-indigo-500"/>
36+
}
37+
</button>
38+
)
3239
}

0 commit comments

Comments
 (0)