♻️ refactor(ui): Dependencies
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
import React, { useEffect } from 'react';
|
||||
|
||||
export const useOutsideClick = (ref: React.RefObject<HTMLDivElement>, callback: Function) => {
|
||||
useEffect(() => {
|
||||
const listener = (event: any) => {
|
||||
if (!ref.current || ref.current.contains(event.target)) {
|
||||
return;
|
||||
}
|
||||
callback(event);
|
||||
};
|
||||
|
||||
document.addEventListener('mousedown', listener);
|
||||
document.addEventListener('touchstart', listener);
|
||||
|
||||
return () => {
|
||||
document.removeEventListener('mousedown', listener);
|
||||
document.removeEventListener('touchstart', listener);
|
||||
};
|
||||
}, [ref, callback]);
|
||||
};
|
||||
Reference in New Issue
Block a user