mirror of
https://github.com/SamyRai/turash.git
synced 2025-12-26 23:01:33 +00:00
- 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.
41 lines
1.5 KiB
TypeScript
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,
|
|
};
|
|
};
|