fix: standardize trip name display with arrow separators app-wide

- Add `displayName` computed property to Trip model that always
  generates city list with " → " separator for consistent display
- Replace all `trip.name` usages with `trip.displayName` in UI files
- Update SuggestedTripsGenerator to use " → " separator
- Update PDFGenerator to use displayName for PDF titles

This ensures all trip names display consistently regardless of when
the trip was created or how the name was originally stored.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-01-14 11:36:13 -06:00
parent 2ad458bffd
commit 1e26cfebc8
30 changed files with 60 additions and 59 deletions

View File

@@ -70,6 +70,13 @@ struct Trip: Identifiable, Codable, Hashable {
return stop.city
}
}
/// Display name generated from cities - always uses " " separator for consistency
var displayName: String {
let cityList = cities
return cityList.isEmpty ? name : cityList.joined(separator: "")
}
var uniqueSports: Set<Sport> { preferences.sports }
var startDate: Date { stops.first?.arrivalDate ?? preferences.startDate }
var endDate: Date { stops.last?.departureDate ?? preferences.endDate }

View File

@@ -584,7 +584,7 @@ final class SuggestedTripsGenerator {
if cities.count <= 1 {
return cities.first ?? "Road Trip"
}
return cities.joined(separator: " - ")
return cities.joined(separator: " ")
}
// MARK: - Corridor Trip Building