import { ExternalLink } from 'lucide-react'; import type { Item } from '@shared/models/item'; import { ItemPricesPanel } from './item-prices-panel'; import { formatAttributeValue, getPriceSummaryDisplay } from './project-items-utils'; import { ItemThumbnail } from './item-thumbnail'; interface ProjectItemsMobileListProps { items: Item[]; visibleAttributes: string[]; expandedItemId: string | null; onTogglePrices: (itemId: string) => void; onEditItem: (item: Item) => void; projectId: string | undefined; } export function ProjectItemsMobileList({ items, visibleAttributes, expandedItemId, onTogglePrices, onEditItem, projectId }: ProjectItemsMobileListProps) { return (
{items.map((item) => { const attributes = (item.attributes ?? {}) as Record; const priceDisplay = getPriceSummaryDisplay(item.priceSummary); const isExpanded = expandedItemId === item.id; const panelId = `item-${item.id}-prices-mobile`; const displayName = item.manufacturer ? `${item.manufacturer} ${item.model}` : item.model; return (
{item.sourceUrl ? ( Open source link ) : null}
{item.note ?

Note: {item.note}

: null}
{visibleAttributes.map((attribute) => (
{attribute} {formatAttributeValue(attributes[attribute])}
))}
{priceDisplay.secondary ? ( {priceDisplay.secondary} ) : null}
{isExpanded ? (
) : null}
); })}
); }