import { View } from "@react-three/drei"; import { Canvas } from "@react-three/fiber"; import { ReactNode, useEffect } from "react"; import { Hero } from "./components/Hero"; import { Item1 } from "./grid/Item1"; import { Item10 } from "./grid/Item10"; import { Item11 } from "./grid/Item11"; import { Item12 } from "./grid/Item12"; import { Item2 } from "./grid/Item2"; import { Item3 } from "./grid/Item3"; import { Item4 } from "./grid/Item4"; import { Item5 } from "./grid/Item5"; import { Item6 } from "./grid/Item6"; import { Item7 } from "./grid/Item7"; import { Item8 } from "./grid/Item8"; import { Item9 } from "./grid/Item9"; const Wrapper = ({ name, children }: { name: string; children: ReactNode }) => { return (
{children}
{name}
); }; function App() { const items = [ { component: Item1, name: "Rings" }, { component: Item2, name: "Loop" }, { component: Item3, name: "Coins" }, { component: Item4, name: "Core" }, { component: Item5, name: "Rubik" }, { component: Item6, name: "Travel" }, { component: Item7, name: "Stagger" }, { component: Item8, name: "Balance" }, { component: Item9, name: "Pulse" }, { component: Item10, name: "Pie" }, { component: Item11, name: "Newton's Cradle" }, { component: Item12, name: "Arrows" }, ]; useEffect(() => { const cards = document.querySelectorAll(".card"); const handlePointerMove = (e: PointerEvent) => { cards.forEach((card) => { const rect = card.getBoundingClientRect(); const x = e.clientX - rect.left; const y = e.clientY - rect.top; card.style.setProperty("--mouse-x", `${x}px`); card.style.setProperty("--mouse-y", `${y}px`); }); }; document .querySelector("[data-gird]") ?.addEventListener("pointermove", handlePointerMove); return () => { document .querySelector("[data-gird]") ?.removeEventListener("pointermove", handlePointerMove); }; }, []); return (
{items.map((item, index) => ( ))}
); } export default App;