import { GrowingZone } from '../../lib/vertical-farming/types'; import EnvironmentGauge from './EnvironmentGauge'; interface ZoneDetailCardProps { zone: GrowingZone; onClick?: () => void; isSelected?: boolean; expanded?: boolean; } export default function ZoneDetailCard({ zone, onClick, isSelected, expanded }: ZoneDetailCardProps) { const statusColors: Record = { empty: 'bg-gray-100 text-gray-600 border-gray-300', preparing: 'bg-yellow-100 text-yellow-800 border-yellow-400', planted: 'bg-blue-100 text-blue-800 border-blue-400', growing: 'bg-green-100 text-green-800 border-green-400', harvesting: 'bg-purple-100 text-purple-800 border-purple-400', cleaning: 'bg-orange-100 text-orange-800 border-orange-400', }; const daysUntilHarvest = zone.expectedHarvestDate ? Math.max(0, Math.ceil((new Date(zone.expectedHarvestDate).getTime() - Date.now()) / (1000 * 60 * 60 * 24))) : null; return (

{zone.name}

{zone.growingMethod.replace('_', ' ')}

{zone.status}
{zone.currentCrop && (

{zone.currentCrop}

{daysUntilHarvest !== null && (

Harvest in {daysUntilHarvest} days

)}
)}
Plants: {zone.plantIds.length}/{zone.plantPositions}
Area: {zone.areaSqm}m²
{zone.currentEnvironment && (
{zone.currentEnvironment.alerts.length > 0 && (
{zone.currentEnvironment.alerts.length} active alert(s)
)}
)}
); }