import { Bed, MapPin } from 'lucide-react'; import type { PropertyProperties } from '@/types'; interface PropertyCardCompactProps { property: PropertyProperties; isActive?: boolean; isHighlighted?: boolean; avgPricePerSqm?: number; onClick?: () => void; } export function PropertyCardCompact({ property, isActive = false, isHighlighted = false, avgPricePerSqm, onClick, }: PropertyCardCompactProps) { // BUY listings may have null numeric fields; coerce so renders don't throw. const safeNum = (v: unknown): number => (typeof v === 'number' && Number.isFinite(v) ? v : 0); const safeTotalPrice = safeNum(property.total_price); const safeQm = safeNum(property.qm); const safeQmprice = safeNum(property.qmprice); const safeRooms = safeNum(property.rooms); const isGoodDeal = avgPricePerSqm && safeQmprice > 0 && safeQmprice < avgPricePerSqm * 0.9; const isExpensive = avgPricePerSqm && safeQmprice > avgPricePerSqm * 1.1; const priceIndicator = isGoodDeal ? { dotColor: 'bg-[var(--deal-good)]', label: 'Good deal' } : isExpensive ? { dotColor: 'bg-[var(--deal-above)]', label: 'Above avg' } : null; return (