import { useEffect } from 'react';
import { useNavigate, useParams } from 'react-router-dom';
import { MainLayout } from '@/components/layout/MainLayout.tsx';
import PageHeader from '@/components/layout/PageHeader.tsx';
import CreateProposalModal from '@/components/organization/CreateProposalModal.tsx';
import OrganizationContent from '@/components/organization/OrganizationContent.tsx';
import OrganizationSidebar from '@/components/organization/OrganizationSidebar.tsx';
import OrganizationPageSkeleton from '@/components/organization/skeletons/OrganizationPageSkeleton.tsx';
import { Container, Grid, Stack } from '@/components/ui/layout';
import { useOrganizationData } from '@/hooks/pages/useOrganizationData.ts';
import { useOrganizationPage } from '@/hooks/pages/useOrganizationPage.ts';
const OrganizationPage = () => {
const { id } = useParams<{ id: string }>();
const navigate = useNavigate();
const { organization, relatedLandmark, similarOrgs, isLoading } = useOrganizationData(id);
const {
symbiosisState,
proposalState,
handleAnalyzeSymbiosis,
handleFetchWebIntelligence,
handleSelectOrg,
handleUpdateOrganization,
handleMapNavigation,
} = useOrganizationPage(organization);
useEffect(() => {
if (!isLoading && !organization) {
navigate('/map');
}
}, [organization, isLoading, navigate]);
if (isLoading) {
return ;
}
if (!organization) {
return null;
}
const handleFooterNavigate = (page: 'about' | 'contact' | 'privacy') => {
navigate(`/${page}`);
};
return (
navigate(-1)} />
{/* Sidebar */}
);
};
export default OrganizationPage;