turash/bugulma/frontend/hooks/pages/useOrganizationPage.ts
Damir Mukimov 6347f42e20
Consolidate repositories: Remove nested frontend .git and merge into main repository
- Remove nested git repository from bugulma/frontend/.git
- Add all frontend files to main repository tracking
- Convert from separate frontend/backend repos to unified monorepo
- Preserve all frontend code and development history as tracked files
- Eliminate nested repository complexity for simpler development workflow

This creates a proper monorepo structure with frontend and backend
coexisting in the same repository for easier development and deployment.
2025-11-25 06:02:57 +01:00

41 lines
1.5 KiB
TypeScript

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,
};
};