mirror of
https://github.com/bartvdbraak/omnidash.git
synced 2025-04-27 15:31:21 +00:00
24 lines
579 B
TypeScript
24 lines
579 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;
|
|
}
|