add filters panel (partial)

This commit is contained in:
MathieuG-P
2022-11-20 00:54:30 +01:00
parent bbbbf50551
commit f815695298
14 changed files with 275 additions and 150 deletions
@@ -0,0 +1,22 @@
import { MutableRefObject, useEffect } from "react";
export function useClickOutside(ref: MutableRefObject<any>, handler: (e: MouseEvent) => void) {
useEffect(() => {
if(!handler){ return () => {}; }
const handleClickOutside = (event: MouseEvent) => {
if (ref.current && !ref.current.contains(event.target)) {
handler?.(event);
}
}
document.addEventListener("click", handleClickOutside);
return () => {
document.removeEventListener("click", handleClickOutside);
};
}, [ref]);
}