diff --git a/frontend/src/app/globals.css b/frontend/src/app/globals.css
index c841fb8..0344a83 100644
--- a/frontend/src/app/globals.css
+++ b/frontend/src/app/globals.css
@@ -139,3 +139,7 @@
pointer-events: none;
}
}
+
+* {
+ cursor: none;
+}
diff --git a/frontend/src/app/not-found.tsx b/frontend/src/app/not-found.tsx
new file mode 100644
index 0000000..092f66b
--- /dev/null
+++ b/frontend/src/app/not-found.tsx
@@ -0,0 +1,7 @@
+export default function NotFound() {
+ return (
+
+ 404 | This page could not be found
+
+ );
+}
diff --git a/frontend/src/components/CustomCircleCursor.tsx b/frontend/src/components/CustomCircleCursor.tsx
index 92ea1eb..a3fe4e0 100644
--- a/frontend/src/components/CustomCircleCursor.tsx
+++ b/frontend/src/components/CustomCircleCursor.tsx
@@ -1,9 +1,10 @@
"use client";
-import { useRef, useEffect, FC } from "react";
+import { useRef, useEffect, FC, useState } from "react";
import gsap from "gsap";
const GSAPCursor: FC = () => {
const cursorRef = useRef(null);
+ const [position, setPosition] = useState({ x: 0, y: 0 });
// For touch devices, return null
if (typeof window !== "undefined" && "ontouchstart" in window) return null;
@@ -31,14 +32,32 @@ const GSAPCursor: FC = () => {
};
}, []);
+ useEffect(() => {
+ const handleMouseMove = (e: MouseEvent) => {
+ setPosition({ x: e.clientX, y: e.clientY });
+ };
+ window.addEventListener("mousemove", handleMouseMove);
+ return () => window.removeEventListener("mousemove", handleMouseMove);
+ }, []);
+
return (
-
+
);
};
diff --git a/frontend/src/components/Navbar.tsx b/frontend/src/components/Navbar.tsx
index d11dd38..0529c6b 100644
--- a/frontend/src/components/Navbar.tsx
+++ b/frontend/src/components/Navbar.tsx
@@ -11,47 +11,47 @@ import {
export function NavigationMenu() {
return (
-
-