import React from 'react'; import { useParams, useNavigate } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; import { useCompany } from '@/api/hooks'; import { Tabs, TabItem } from '@/components/shared/Tabs'; import { Card } from '@/components/ui/Card'; import { Button } from '@/components/ui/Button'; import { Badge } from '@/components/ui/Badge'; import { EmptyState } from '@/components/ui/EmptyState'; import { Skeleton } from '@/components/ui/Skeleton'; import { Avatar } from '@/components/ui/Avatar'; import { TagPicker } from '@/components/tags/TagPicker'; import { AddressList } from '@/components/AddressList'; export function CompanyDetailPage() { const { id } = useParams<{ id: string }>(); const navigate = useNavigate(); const { t } = useTranslation(); const { data: company, isLoading, isError } = useCompany(id); if (isLoading) { return (
); } if (isError || !company) { return (
navigate('/companies')}>{t('common.back')}} />
); } const contacts = company.contacts ?? []; const overviewTab: TabItem = { key: 'overview', label: t('companies.overview'), content: (

{company.name}

{company.account_number || '—'}

{company.industry ? {company.industry} :

}

{company.phone || '—'}

{company.email ? ( {company.email} ) :

}
{company.website ? ( {company.website} ) :

}
{company.description && (

{company.description}

)}
), }; const contactsTab: TabItem = { key: 'contacts', label: t('companies.contacts'), badge: contacts.length, content: contacts.length === 0 ? ( ) : ( ), }; const addressesTab: TabItem = { key: 'addresses', label: t('address.title'), content: ( ), }; const tagsTab: TabItem = { key: 'tags', label: t('tags.title'), content: ( ), }; const filesTab: TabItem = { key: 'files', label: t('companies.files'), content: , }; const activityTab: TabItem = { key: 'activity', label: t('companies.activity'), content: , }; return (

{company.name}

); }