import { ReactNode } from 'react'; import Switch from '../form/switch/Switch'; import Button from '../ui/button/Button'; import Badge from '../ui/badge/Badge'; import SiteSetupChecklist from '../sites/SiteSetupChecklist'; import SiteTypeBadge from '../sites/SiteTypeBadge'; import { Site } from '../../services/api'; import { BoxCubeIcon as SettingsIcon, EyeIcon, FileIcon, TrashBinIcon } from '../../icons'; interface SiteCardProps { site: Site; icon: ReactNode; onToggle: (siteId: number, enabled: boolean) => void; onSettings: (site: Site) => void; onDetails: (site: Site) => void; onDelete?: (site: Site) => void; isToggling?: boolean; } export default function SiteCard({ site, icon, onToggle, onSettings, onDetails, onDelete, isToggling = false, }: SiteCardProps) { const handleToggle = (enabled: boolean) => { onToggle(site.id, enabled); }; // Setup checklist state derived from site data const hasIndustry = !!site.industry || !!site.industry_name; const hasSectors = site.active_sectors_count > 0; const hasWordPressIntegration = site.has_integration ?? false; const hasKeywords = (site.keywords_count ?? 0) > 0; return (
{icon}

{site.name}

{site.domain && (

{site.domain}

)}
{site.description && (

{site.description}

)}
{site.industry_name && ( {site.industry_name} )} {site.active_sectors_count} / 5 Sectors
{/* Setup Checklist - Compact View */}
{/* Status badge and toggle in top right */}
{site.is_active ? 'Active' : 'Inactive'} Button
); }