Add avatar asset

This commit is contained in:
gpt-engineer-app[bot] 2026-03-07 21:30:47 +00:00
parent 7e4eb6bf69
commit c5a617f544
3 changed files with 165 additions and 5 deletions

View file

@ -0,0 +1,22 @@
import { useState, useEffect, useCallback, RefObject } from 'react';
export function useMousePosition(containerRef?: RefObject<HTMLElement>) {
const [position, setPosition] = useState({ x: 0, y: 0 });
const handleMouseMove = useCallback((e: MouseEvent) => {
if (containerRef?.current) {
const rect = containerRef.current.getBoundingClientRect();
setPosition({ x: e.clientX - rect.left, y: e.clientY - rect.top });
} else {
setPosition({ x: e.clientX, y: e.clientY });
}
}, [containerRef]);
useEffect(() => {
const target = containerRef?.current || window;
target.addEventListener('mousemove', handleMouseMove as EventListener);
return () => target.removeEventListener('mousemove', handleMouseMove as EventListener);
}, [handleMouseMove, containerRef]);
return position;
}