mirror of
https://github.com/mastodon/mastodon.git
synced 2024-12-27 05:25:03 +01:00
18 lines
461 B
TypeScript
18 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 };
|
||
|
};
|