“{nicknames.map(n => n.name).join(", ")}”
)} @@ -264,23 +269,14 @@ export function ContactDetail({ contact, onEdit, onDelete, onAddToGroup, onDupli })} {addresses.map((a, i) => { - const lines: string[] = []; - if (a.full || a.fullAddress) { - lines.push((a.full || a.fullAddress) as string); - } else if (a.components && a.components.length > 0) { - const joined = a.components.filter(c => c.kind !== 'separator').map(c => c.value).filter(Boolean).join(", "); - if (joined) lines.push(joined); - } else { - const parts = [a.street, [a.postcode, a.locality].filter(Boolean).join(" "), a.region, a.country] - .map(s => (typeof s === "string" ? s.trim() : "")) - .filter(Boolean) as string[]; - lines.push(...parts); - } + // One line per part, in the order of the address's country: + // "Hauptstraße 1" / "10000 Berlin" / "Germany". + const lines = formatAddressLines(a, locale); return (