You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
17 lines
461 B
17 lines
461 B
import { useCallback, useState } from 'react'; |
|
|
|
export const useHovering = (animate?: boolean) => { |
|
const [hovering, setHovering] = useState<boolean>(animate ?? false); |
|
|
|
const handleMouseEnter = useCallback(() => { |
|
if (animate) return; |
|
setHovering(true); |
|
}, [animate]); |
|
|
|
const handleMouseLeave = useCallback(() => { |
|
if (animate) return; |
|
setHovering(false); |
|
}, [animate]); |
|
|
|
return { hovering, handleMouseEnter, handleMouseLeave }; |
|
};
|
|
|