Hooks Directory
Location: src/hooks/
Purpose: Custom React hooks for reusable logic and side effects.
Structure
hooks/
├── add-signatures/ # Signature-related hooks
│ ├── useESValidation.tsx # Elasticsearch validation hook
│ ├── useFocusManagement.tsx # Form focus management
│ ├── usePostSubmitNavigation.tsx
│ └── useSignatureForm.tsx # Signature form state
│
├── use-debounce.ts # Debounce utility hook
├── use-mobile.tsx # Mobile device detection
├── use-toast.ts # Toast notification hook
├── useFetchUsersList.tsx # User list fetching
├── useGetSignedURL.tsx # Supabase signed URL generation
├── useHydration.ts # Hydration check for SSR
├── useInviteUser.tsx # User invitation logic
├── usePermissionsManager.tsx # Permission management
└── usePetitionGetUsers.ts # Petition user fetching
Hook Categories
- Form Hooks: Form state and validation (
useSignatureForm,useESValidation) - Data Hooks: Data fetching (
useFetchUsersList,usePetitionGetUsers) - UI Hooks: UI utilities (
use-toast,use-mobile,use-debounce) - Feature Hooks: Feature-specific logic (
useInviteUser,usePermissionsManager)