import { useCallback } from 'react'; import { useAuth } from '@/contexts/AuthContext.tsx'; import type { Organization } from '@/types'; import { useOrganizations } from '@/hooks/useOrganizations'; import { useOrganizationActions } from '@/hooks/pages/useOrganizationActions'; import { useOrganizationAI } from '@/hooks/pages/useOrganizationAI'; import { useOrganizationProposals } from '@/hooks/pages/useOrganizationProposals.ts'; export const useOrganizationPage = (organization: Organization | undefined) => { const { updateOrganization } = useOrganizations(); const { isAuthenticated } = useAuth(); const actions = useOrganizationActions(); const ai = useOrganizationAI(organization); const proposals = useOrganizationProposals(organization); const handleUpdateOrganization = (updatedOrg: Organization) => { updateOrganization(updatedOrg); }; const handleAnalyzeSymbiosis = useCallback(() => { if (!isAuthenticated) return; ai.handleAnalyzeSymbiosis(); }, [isAuthenticated, ai.handleAnalyzeSymbiosis]); const handleFetchWebIntelligence = useCallback(() => { if (!isAuthenticated) return; ai.handleFetchWebIntelligence(); }, [isAuthenticated, ai.handleFetchWebIntelligence]); return { symbiosisState: ai.symbiosisState, proposalState: proposals.proposalState, handleAnalyzeSymbiosis, handleFetchWebIntelligence, handleSelectOrg: actions.handleSelectOrg, handleUpdateOrganization, handleMapNavigation: actions.handleMapNavigation, actions: proposals.actions, }; };