Extract business logic and UI into reusable pieces: Custom Hooks: - useFocusGroupAutoSave: debounced auto-save with retry logic - useFolderManagement: folder CRUD operations - usePersonaFiltering: filter state and persona filtering - useDiscussionGuideGeneration: guide generation and progress UI Components: - SaveStatusIndicator: auto-save status display - FolderSidebar: folder list and management - PersonaFilterDialog: persona filter modal - CopyGuideDialog: copy guide from other focus groups Tab Components: - SetupTab: form and asset uploader - ReviewTab: discussion guide viewer - ParticipantsTab: persona selection grid Reduces FocusGroupModerator from 2,396 to ~600 lines (75% reduction). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| use-mobile.tsx | ||
| useCancellableGeneration.ts | ||
| useDiscussionGuideGeneration.ts | ||
| useFocusGroupAutoSave.ts | ||
| useFolderManagement.ts | ||
| usePersonaDetails.ts | ||
| usePersonaFiltering.ts | ||
| usePersonaStorage.ts | ||
| useStableWebSocket.ts | ||
| useWebSocket.ts | ||