postio / apps /frontend /src /components /layout /click.outside.tsx
Leon4gr45's picture
Upload folder using huggingface_hub (part 7)
ec4551b verified
Raw
History Blame Contribute Delete
837 Bytes
import { useEffect } from 'react';
export const useClickOutside = (callback: () => Promise<void>) => {
const handleClick = (event: MouseEvent) => {
const selector = document.querySelector('#add-edit-modal');
const copilotkit = document.querySelector('.copilotKitPopup');
const emoji = document.querySelector('.EmojiPickerReact');
if (
!selector?.contains(event.target as HTMLElement) &&
!copilotkit?.contains(event.target as HTMLElement) &&
!emoji
) {
callback();
}
};
useEffect(() => {
document
.querySelector('.mantine-Modal-root')
// @ts-ignore
?.addEventListener('click', handleClick);
return () => {
document
.querySelector('.mantine-Modal-root')
// @ts-ignore
?.removeEventListener('click', handleClick);
};
});
};