Feat: FileManager (#98) (#703)

* feat: add file manager module

- Complete file manager implementation with UI/UX
- Add drive management functionality
- Add file upload/download with progress tracking
- Add stamp integration and handling
- Add bulk operations and context menus

Co-authored-by: Roland Seres <roland.seres90@gmail.com>
Co-authored-by: nidishk <nidishkrishnan45@gmail.com>
This commit is contained in:
Bálint Ujvári
2025-11-12 11:26:00 +01:00
committed by GitHub
parent 1249c0df71
commit 5bfe2a0331
107 changed files with 21529 additions and 5578 deletions
@@ -0,0 +1,16 @@
import { useEffect } from 'react'
export function useClickOutside<T extends Element>(ref: React.RefObject<T>, onClickOutside: () => void, active = true) {
useEffect(() => {
if (!active) return
function handleDocumentClick(e: MouseEvent) {
if (ref.current && !ref.current.contains(e.target as Node)) {
onClickOutside()
}
}
document.addEventListener('mousedown', handleDocumentClick)
return () => document.removeEventListener('mousedown', handleDocumentClick)
}, [ref, onClickOutside, active])
}