more refactor

This commit is contained in:
Shreyaschorge
2025-07-07 20:19:22 +05:30
parent cc84b0a882
commit bbc8d81613
8 changed files with 896 additions and 892 deletions

View File

@@ -0,0 +1,18 @@
import { useEffect } from 'react';
export function useDetectClickOutside<T extends HTMLElement>(
ref: React.RefObject<T | null>,
callback: () => void
) {
useEffect(() => {
function handleClickOutside(event: MouseEvent) {
if (ref.current && !ref.current.contains(event.target as Node)) {
callback();
}
}
document.addEventListener('mousedown', handleClickOutside);
return () => {
document.removeEventListener('mousedown', handleClickOutside);
};
}, [ref, callback]);
}