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;