import { useEffect , useState } from 'react' ; interface MouseCoordinates { x : number ; y : number ; } function returns { MouseCoordinates } export const useGetMouseCoordinates = ( ) : MouseCoordinates => { const [ mouseCoords , setMouseCoords ] = useState < { x : number ; y : number ; } > ( { x : 0 , y : 0 , } ) ; useEffect ( ( ) => { document . addEventListener ( 'contextmenu' , ( e ) => { setMouseCoords ( { x : e . clientX , y : e . clientY } ) ; } ) ; return document . removeEventListener ( 'contextmenu' , ( e ) => { setMouseCoords ( { x : e . clientX , y : e . clientY } ) ; } ) ; } , [ ] ) ; return mouseCoords ; } ;