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 (
);
};
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;