Skip to main content

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)