mirror of
https://github.com/bartvdbraak/omnidash.git
synced 2025-04-27 07:21:20 +00:00
27 lines
590 B
TypeScript
27 lines
590 B
TypeScript
import { useState, useEffect } from "react";
|
|
|
|
interface MousePosition {
|
|
x: number;
|
|
y: number;
|
|
}
|
|
|
|
export default function useMousePosition(): MousePosition {
|
|
const [mousePosition, setMousePosition] = useState<MousePosition>({
|
|
x: 0,
|
|
y: 0,
|
|
});
|
|
|
|
useEffect(() => {
|
|
const handleMouseMove = (event: MouseEvent) => {
|
|
setMousePosition({ x: event.clientX, y: event.clientY });
|
|
};
|
|
|
|
window.addEventListener("mousemove", handleMouseMove);
|
|
|
|
return () => {
|
|
window.removeEventListener("mousemove", handleMouseMove);
|
|
};
|
|
}, []);
|
|
|
|
return mousePosition;
|
|
}
|