17 lines
		
	
	
	
		
			461 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
	
		
			461 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 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 };
 | |
| };
 |