diff --git a/api/setup/analyzeMenuUrl.cfm b/api/setup/analyzeMenuUrl.cfm index 5642aba..954dc09 100644 --- a/api/setup/analyzeMenuUrl.cfm +++ b/api/setup/analyzeMenuUrl.cfm @@ -2037,15 +2037,37 @@ - - - - - + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + diff --git a/portal/setup-wizard.html b/portal/setup-wizard.html index 28684f6..db07e72 100644 --- a/portal/setup-wizard.html +++ b/portal/setup-wizard.html @@ -2079,12 +2079,26 @@ console.log('Business data:', biz); + // Clean business name: strip ordering-site suffixes and embedded address + let bizDisplayName = (biz.name || '').trim(); + bizDisplayName = bizDisplayName.replace(/\s*[-–—|]\s*(Order\s+(pickup|online|delivery|food)|Online\s+Order|Delivery\s*[&and]+\s*Takeout|Takeout\s*[&and]+\s*Delivery|Menu\s*[&and]+\s*Order).*$/i, ''); + if (biz.addressLine1 && bizDisplayName.toLowerCase().includes(biz.addressLine1.toLowerCase())) { + bizDisplayName = bizDisplayName.replace(new RegExp(biz.addressLine1.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'i'), '').trim(); + } + bizDisplayName = bizDisplayName.replace(/[-–—|]+$/, '').replace(/^[-–—|]+/, '').trim(); + biz.name = bizDisplayName || biz.name; + // Parse address into components if it's a single string let addressLine1 = biz.addressLine1 || ''; let city = biz.city || ''; let state = biz.state || ''; let zip = biz.zip || ''; + // Clean city: if it contains commas (e.g. "Santa Monica, CA 90405, USA"), take just the city part + if (city.includes(',')) { + city = city.split(',')[0].trim(); + } + if (biz.address && !addressLine1) { console.log('Parsing address:', biz.address);