import type { SaleRow, ListingRow } from '@/lib/queries/assets'; import { fmtDate, fmtMoney, fmtRelative, cn } from '@/lib/format'; import { humanize } from '@/lib/taxonomy'; import { EmptyState, VsRiv } from '@/components/ui/primitives'; import { FeeBasisPill, GradeBadge, SourceLink, Thumb, VerificationBadge } from '@/components/market/bits'; /** Phone-first card lists for sales and listings (tables stay for md+). */ export function SalesCards({ items, className, emptyDescription = 'Sales appear once connectors ingest verified transactions.' }: { items: SaleRow[]; className?: string; emptyDescription?: string }) { if (!items.length) return ; return ( ); } export function ListingsCards({ items, className, emptyDescription = 'Live listings appear once marketplace connectors run.' }: { items: ListingRow[]; className?: string; emptyDescription?: string }) { if (!items.length) return ; return ( ); }