import { useEffect } from 'react'; import { useNavigate, useParams } from 'react-router-dom'; import { ActivityTargetableEntityType } from '@/activities/types/ActivityTargetableEntity'; import { CompanyTeam } from '@/companies/components/CompanyTeam'; import { useCompanyQuery } from '@/companies/hooks/useCompanyQuery'; import { useFavorites } from '@/favorites/hooks/useFavorites'; import { AppPath } from '@/types/AppPath'; import { IconBuildingSkyscraper } from '@/ui/display/icon'; import { PageBody } from '@/ui/layout/page/PageBody'; import { PageContainer } from '@/ui/layout/page/PageContainer'; import { PageFavoriteButton } from '@/ui/layout/page/PageFavoriteButton'; import { PageHeader } from '@/ui/layout/page/PageHeader'; import { ShowPageAddButton } from '@/ui/layout/show-page/components/ShowPageAddButton'; import { ShowPageLeftContainer } from '@/ui/layout/show-page/components/ShowPageLeftContainer'; import { ShowPageRightContainer } from '@/ui/layout/show-page/components/ShowPageRightContainer'; import { ShowPageSummaryCard } from '@/ui/layout/show-page/components/ShowPageSummaryCard'; import { ShowPageRecoilScopeContext } from '@/ui/layout/states/ShowPageRecoilScopeContext'; import { FieldContext } from '@/ui/object/field/contexts/FieldContext'; import { RecordInlineCell } from '@/ui/object/record-inline-cell/components/RecordInlineCell'; import { PropertyBox } from '@/ui/object/record-inline-cell/property-box/components/PropertyBox'; import { InlineCellHotkeyScope } from '@/ui/object/record-inline-cell/types/InlineCellHotkeyScope'; import { PageTitle } from '@/ui/utilities/page-title/PageTitle'; import { RecoilScope } from '@/ui/utilities/recoil-scope/components/RecoilScope'; import { useUpdateOneCompanyMutation } from '~/generated/graphql'; import { getLogoUrlFromDomainName } from '~/utils'; import { CompanyNameEditableField } from '../../modules/companies/editable-field/components/CompanyNameEditableField'; import { ShowPageContainer } from '../../modules/ui/layout/page/ShowPageContainer'; import { companyShowFieldDefinitions } from './constants/companyShowFieldDefinitions'; export const CompanyShow = () => { const companyId = useParams().companyId ?? ''; const { createFavorite, deleteFavorite } = useFavorites(); const navigate = useNavigate(); const { data, loading } = useCompanyQuery(companyId); const company = data?.findUniqueCompany; useEffect(() => { if (!loading && !company) { navigate(AppPath.NotFound); } }, [loading, company, navigate]); if (!company) return <>; const isFavorite = company.Favorite && company.Favorite?.length > 0 ? true : false; const handleFavoriteButtonClick = async () => { if (isFavorite) deleteFavorite(companyId); else createFavorite('company', companyId); }; return ( ( )} avatarType="squared" /> {companyShowFieldDefinitions.map((fieldDefinition) => { return ( ); })} ); };