import { useEffect, useState } from "react"; import ProjectCard from "./components/ProjectCard"; import { links, projects } from "./data"; import JSConfetti from "js-confetti"; import dayjs from "dayjs"; import { ChevronDownIcon } from "lucide-react"; export default function App() { const [bday, setBday] = useState(false); const [hideChevron, setHideChevron] = useState(false); useEffect(() => { const today = dayjs(); if (today.month() === 8 && today.date() === 23) { setBday(true); const confetti = new JSConfetti(); confetti.addConfetti(); } const handleScroll = () => { if (window.scrollY > 200) { setHideChevron(true); } else { setHideChevron(false); } }; window.addEventListener("scroll", handleScroll); // Cleanup listener on unmount return () => { window.removeEventListener("scroll", handleScroll); }; }, []); return (
{!hideChevron && ( )}
{bday && (
Level {dayjs().diff("2003-09-23", "years")}!
)}

Suraj “SilicoFlare”

TypeScript maniac, student, gamer and an avid Linux user.

Resume {Object.entries(links).map(([title, link]) => ( ))}

Projects

{projects.map((pro) => ( ))}
); }