diff --git a/SportsTime/Core/Models/Domain/Trip.swift b/SportsTime/Core/Models/Domain/Trip.swift index 75fa449..7a58aa3 100644 --- a/SportsTime/Core/Models/Domain/Trip.swift +++ b/SportsTime/Core/Models/Domain/Trip.swift @@ -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 { preferences.sports } var startDate: Date { stops.first?.arrivalDate ?? preferences.startDate } var endDate: Date { stops.last?.departureDate ?? preferences.endDate } diff --git a/SportsTime/Core/Services/SuggestedTripsGenerator.swift b/SportsTime/Core/Services/SuggestedTripsGenerator.swift index 588efb5..74a391c 100644 --- a/SportsTime/Core/Services/SuggestedTripsGenerator.swift +++ b/SportsTime/Core/Services/SuggestedTripsGenerator.swift @@ -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 diff --git a/SportsTime/Export/PDFGenerator.swift b/SportsTime/Export/PDFGenerator.swift index b4acdca..d9c198e 100644 --- a/SportsTime/Export/PDFGenerator.swift +++ b/SportsTime/Export/PDFGenerator.swift @@ -103,7 +103,7 @@ final class PDFGenerator { .foregroundColor: UIColor.black ] let titleRect = CGRect(x: margin, y: y, width: contentWidth, height: 50) - (trip.name as NSString).draw(in: titleRect, withAttributes: titleAttributes) + (trip.displayName as NSString).draw(in: titleRect, withAttributes: titleAttributes) y += 55 // Date range diff --git a/SportsTime/Features/Home/Views/HomeView.swift b/SportsTime/Features/Home/Views/HomeView.swift index 373cb8a..21ffd50 100644 --- a/SportsTime/Features/Home/Views/HomeView.swift +++ b/SportsTime/Features/Home/Views/HomeView.swift @@ -329,7 +329,7 @@ struct SavedTripCard: View { } VStack(alignment: .leading, spacing: 4) { - Text(trip.name) + Text(trip.displayName) .font(.body) .foregroundStyle(Theme.textPrimary(colorScheme)) @@ -653,7 +653,7 @@ struct SavedTripListRow: View { .frame(width: 20) VStack(alignment: .leading, spacing: Theme.Spacing.xs) { - Text(trip.name) + Text(trip.displayName) .font(.headline) .foregroundStyle(Theme.textPrimary(colorScheme)) diff --git a/SportsTime/Features/Home/Views/Variants/Airbnb/HomeContent_Airbnb.swift b/SportsTime/Features/Home/Views/Variants/Airbnb/HomeContent_Airbnb.swift index dfbd0a5..9ae7f88 100644 --- a/SportsTime/Features/Home/Views/Variants/Airbnb/HomeContent_Airbnb.swift +++ b/SportsTime/Features/Home/Views/Variants/Airbnb/HomeContent_Airbnb.swift @@ -215,7 +215,7 @@ struct HomeContent_Airbnb: View { VStack(alignment: .leading, spacing: 4) { HStack { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 14, weight: .medium)) .foregroundStyle(textPrimary) .lineLimit(1) @@ -302,7 +302,7 @@ struct HomeContent_Airbnb: View { ) VStack(alignment: .leading, spacing: 6) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 15, weight: .medium)) .foregroundStyle(textPrimary) .lineLimit(1) diff --git a/SportsTime/Features/Home/Views/Variants/AppleMaps/HomeContent_AppleMaps.swift b/SportsTime/Features/Home/Views/Variants/AppleMaps/HomeContent_AppleMaps.swift index adfd480..bc1f273 100644 --- a/SportsTime/Features/Home/Views/Variants/AppleMaps/HomeContent_AppleMaps.swift +++ b/SportsTime/Features/Home/Views/Variants/AppleMaps/HomeContent_AppleMaps.swift @@ -154,7 +154,7 @@ struct HomeContent_AppleMaps: View { } VStack(alignment: .leading, spacing: 3) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 16)) .foregroundStyle(textPrimary) .lineLimit(1) @@ -239,7 +239,7 @@ struct HomeContent_AppleMaps: View { } VStack(alignment: .leading, spacing: 4) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 14, weight: .medium)) .foregroundStyle(textPrimary) .lineLimit(2) diff --git a/SportsTime/Features/Home/Views/Variants/ArtDeco/HomeContent_ArtDeco.swift b/SportsTime/Features/Home/Views/Variants/ArtDeco/HomeContent_ArtDeco.swift index c91ba48..a9d56e5 100644 --- a/SportsTime/Features/Home/Views/Variants/ArtDeco/HomeContent_ArtDeco.swift +++ b/SportsTime/Features/Home/Views/Variants/ArtDeco/HomeContent_ArtDeco.swift @@ -347,7 +347,7 @@ struct HomeContent_ArtDeco: View { } VStack(alignment: .leading, spacing: 6) { - Text(trip.name.uppercased()) + Text(trip.displayName.uppercased()) .font(.system(size: 14, weight: .bold)) .tracking(1) .foregroundStyle(textPrimary) @@ -430,7 +430,7 @@ struct HomeContent_ArtDeco: View { decoDiamond .foregroundStyle(decoTeal) - Text(trip.name) + Text(trip.displayName) .font(.system(size: 14, weight: .medium)) .foregroundStyle(textPrimary) diff --git a/SportsTime/Features/Home/Views/Variants/Brutalist/HomeContent_Brutalist.swift b/SportsTime/Features/Home/Views/Variants/Brutalist/HomeContent_Brutalist.swift index 143c7dd..55753d5 100644 --- a/SportsTime/Features/Home/Views/Variants/Brutalist/HomeContent_Brutalist.swift +++ b/SportsTime/Features/Home/Views/Variants/Brutalist/HomeContent_Brutalist.swift @@ -169,7 +169,7 @@ struct HomeContent_Brutalist: View { VStack(alignment: .leading, spacing: 8) { HStack(alignment: .top) { VStack(alignment: .leading, spacing: 4) { - Text(trip.name.uppercased()) + Text(trip.displayName.uppercased()) .font(.system(.headline, design: .monospaced).bold()) .foregroundStyle(textColor) @@ -227,7 +227,7 @@ struct HomeContent_Brutalist: View { TripDetailView(trip: trip) } label: { HStack { - Text(trip.name.uppercased()) + Text(trip.displayName.uppercased()) .font(.system(.subheadline, design: .monospaced)) .foregroundStyle(textColor) diff --git a/SportsTime/Features/Home/Views/Variants/CarrotWeather/HomeContent_CarrotWeather.swift b/SportsTime/Features/Home/Views/Variants/CarrotWeather/HomeContent_CarrotWeather.swift index 8f65cf9..2a1b809 100644 --- a/SportsTime/Features/Home/Views/Variants/CarrotWeather/HomeContent_CarrotWeather.swift +++ b/SportsTime/Features/Home/Views/Variants/CarrotWeather/HomeContent_CarrotWeather.swift @@ -240,7 +240,7 @@ struct HomeContent_CarrotWeather: View { ) VStack(alignment: .leading, spacing: 3) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 15, weight: .medium)) .foregroundStyle(textPrimary) .lineLimit(1) @@ -323,7 +323,7 @@ struct HomeContent_CarrotWeather: View { .padding(.vertical, 12) VStack(alignment: .leading, spacing: 4) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 13, weight: .medium)) .foregroundStyle(textPrimary) .lineLimit(2) diff --git a/SportsTime/Features/Home/Views/Variants/Classic/HomeContent_Classic.swift b/SportsTime/Features/Home/Views/Variants/Classic/HomeContent_Classic.swift index 10a83d0..528beba 100644 --- a/SportsTime/Features/Home/Views/Variants/Classic/HomeContent_Classic.swift +++ b/SportsTime/Features/Home/Views/Variants/Classic/HomeContent_Classic.swift @@ -231,7 +231,7 @@ struct HomeContent_Classic: View { } VStack(alignment: .leading, spacing: 4) { - Text(trip.name) + Text(trip.displayName) .font(.body) .foregroundStyle(Theme.textPrimary(colorScheme)) diff --git a/SportsTime/Features/Home/Views/Variants/DarkIndustrial/HomeContent_DarkIndustrial.swift b/SportsTime/Features/Home/Views/Variants/DarkIndustrial/HomeContent_DarkIndustrial.swift index 9ac2ba3..d35efd2 100644 --- a/SportsTime/Features/Home/Views/Variants/DarkIndustrial/HomeContent_DarkIndustrial.swift +++ b/SportsTime/Features/Home/Views/Variants/DarkIndustrial/HomeContent_DarkIndustrial.swift @@ -306,7 +306,7 @@ struct HomeContent_DarkIndustrial: View { .background(warningYellow) VStack(alignment: .leading, spacing: 6) { - Text(trip.name.uppercased()) + Text(trip.displayName.uppercased()) .font(.system(size: 13, weight: .bold, design: .monospaced)) .foregroundStyle(textPrimary) .lineLimit(1) @@ -383,7 +383,7 @@ struct HomeContent_DarkIndustrial: View { .fill(steelGray.opacity(0.5)) .frame(width: 3, height: 32) - Text(trip.name.uppercased()) + Text(trip.displayName.uppercased()) .font(.system(size: 12, weight: .medium, design: .monospaced)) .foregroundStyle(textPrimary) diff --git a/SportsTime/Features/Home/Views/Variants/Fantastical/HomeContent_Fantastical.swift b/SportsTime/Features/Home/Views/Variants/Fantastical/HomeContent_Fantastical.swift index 90f4264..d3b8d79 100644 --- a/SportsTime/Features/Home/Views/Variants/Fantastical/HomeContent_Fantastical.swift +++ b/SportsTime/Features/Home/Views/Variants/Fantastical/HomeContent_Fantastical.swift @@ -207,7 +207,7 @@ struct HomeContent_Fantastical: View { .frame(width: 4, height: 44) VStack(alignment: .leading, spacing: 3) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 15, weight: .medium)) .foregroundStyle(textPrimary) .lineLimit(1) @@ -297,7 +297,7 @@ struct HomeContent_Fantastical: View { ) VStack(alignment: .leading, spacing: 4) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 15, weight: .medium)) .foregroundStyle(textPrimary) .lineLimit(1) diff --git a/SportsTime/Features/Home/Views/Variants/Flighty/HomeContent_Flighty.swift b/SportsTime/Features/Home/Views/Variants/Flighty/HomeContent_Flighty.swift index 9d17c4a..511924d 100644 --- a/SportsTime/Features/Home/Views/Variants/Flighty/HomeContent_Flighty.swift +++ b/SportsTime/Features/Home/Views/Variants/Flighty/HomeContent_Flighty.swift @@ -221,7 +221,7 @@ struct HomeContent_Flighty: View { } VStack(alignment: .leading, spacing: 8) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 16, weight: .semibold)) .foregroundStyle(textPrimary) .lineLimit(1) @@ -310,7 +310,7 @@ struct HomeContent_Flighty: View { } VStack(alignment: .leading, spacing: 3) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 15, weight: .medium)) .foregroundStyle(textPrimary) .lineLimit(1) diff --git a/SportsTime/Features/Home/Views/Variants/Glassmorphism/HomeContent_Glassmorphism.swift b/SportsTime/Features/Home/Views/Variants/Glassmorphism/HomeContent_Glassmorphism.swift index e4438e2..18a0219 100644 --- a/SportsTime/Features/Home/Views/Variants/Glassmorphism/HomeContent_Glassmorphism.swift +++ b/SportsTime/Features/Home/Views/Variants/Glassmorphism/HomeContent_Glassmorphism.swift @@ -224,7 +224,7 @@ struct HomeContent_Glassmorphism: View { } } - Text(trip.name) + Text(trip.displayName) .font(.system(size: 16, weight: .semibold, design: .rounded)) .foregroundStyle(colorScheme == .dark ? .white : Color(white: 0.15)) .lineLimit(2) @@ -306,7 +306,7 @@ struct HomeContent_Glassmorphism: View { } VStack(alignment: .leading, spacing: 4) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 15, weight: .medium, design: .rounded)) .foregroundStyle(colorScheme == .dark ? .white : Color(white: 0.15)) diff --git a/SportsTime/Features/Home/Views/Variants/LuxuryEditorial/HomeContent_LuxuryEditorial.swift b/SportsTime/Features/Home/Views/Variants/LuxuryEditorial/HomeContent_LuxuryEditorial.swift index a3d3b0d..99e2c38 100644 --- a/SportsTime/Features/Home/Views/Variants/LuxuryEditorial/HomeContent_LuxuryEditorial.swift +++ b/SportsTime/Features/Home/Views/Variants/LuxuryEditorial/HomeContent_LuxuryEditorial.swift @@ -227,7 +227,7 @@ struct HomeContent_LuxuryEditorial: View { } // Title - Text(trip.name) + Text(trip.displayName) .font(.system(size: 18, weight: .regular, design: .serif)) .foregroundStyle(textPrimary) .lineLimit(2) @@ -293,7 +293,7 @@ struct HomeContent_LuxuryEditorial: View { .frame(width: 20) VStack(alignment: .leading, spacing: 4) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 16, weight: .regular, design: .serif)) .foregroundStyle(textPrimary) diff --git a/SportsTime/Features/Home/Views/Variants/MaximalistChaos/HomeContent_MaximalistChaos.swift b/SportsTime/Features/Home/Views/Variants/MaximalistChaos/HomeContent_MaximalistChaos.swift index 4b5940c..170353e 100644 --- a/SportsTime/Features/Home/Views/Variants/MaximalistChaos/HomeContent_MaximalistChaos.swift +++ b/SportsTime/Features/Home/Views/Variants/MaximalistChaos/HomeContent_MaximalistChaos.swift @@ -324,7 +324,7 @@ struct HomeContent_MaximalistChaos: View { } VStack(alignment: .leading, spacing: 6) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 16, weight: .bold, design: .rounded)) .foregroundStyle(colorScheme == .dark ? .white : .black) .lineLimit(1) @@ -402,7 +402,7 @@ struct HomeContent_MaximalistChaos: View { .fill(accentColor) .frame(width: 6) - Text(trip.name) + Text(trip.displayName) .font(.system(size: 14, weight: .semibold, design: .rounded)) .foregroundStyle(colorScheme == .dark ? .white : .black) diff --git a/SportsTime/Features/Home/Views/Variants/NeoBrutalist/HomeContent_NeoBrutalist.swift b/SportsTime/Features/Home/Views/Variants/NeoBrutalist/HomeContent_NeoBrutalist.swift index f93f05b..8a85cd0 100644 --- a/SportsTime/Features/Home/Views/Variants/NeoBrutalist/HomeContent_NeoBrutalist.swift +++ b/SportsTime/Features/Home/Views/Variants/NeoBrutalist/HomeContent_NeoBrutalist.swift @@ -230,7 +230,7 @@ struct HomeContent_NeoBrutalist: View { .frame(width: 8) VStack(alignment: .leading, spacing: 6) { - Text(trip.name.uppercased()) + Text(trip.displayName.uppercased()) .font(.system(size: 14, weight: .black)) .foregroundStyle(textColor) .lineLimit(1) @@ -297,7 +297,7 @@ struct HomeContent_NeoBrutalist: View { .fill(electricBlue) .frame(width: 4) - Text(trip.name.uppercased()) + Text(trip.displayName.uppercased()) .font(.system(size: 13, weight: .bold)) .foregroundStyle(textColor) diff --git a/SportsTime/Features/Home/Views/Variants/NikeRunClub/HomeContent_NikeRunClub.swift b/SportsTime/Features/Home/Views/Variants/NikeRunClub/HomeContent_NikeRunClub.swift index 783b209..b484cfc 100644 --- a/SportsTime/Features/Home/Views/Variants/NikeRunClub/HomeContent_NikeRunClub.swift +++ b/SportsTime/Features/Home/Views/Variants/NikeRunClub/HomeContent_NikeRunClub.swift @@ -194,7 +194,7 @@ struct HomeContent_NikeRunClub: View { } VStack(alignment: .leading, spacing: 4) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 16, weight: .semibold)) .foregroundStyle(textPrimary) .lineLimit(1) @@ -278,7 +278,7 @@ struct HomeContent_NikeRunClub: View { } VStack(alignment: .leading, spacing: 4) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 14, weight: .semibold)) .foregroundStyle(textPrimary) .lineLimit(1) diff --git a/SportsTime/Features/Home/Views/Variants/Organic/HomeContent_Organic.swift b/SportsTime/Features/Home/Views/Variants/Organic/HomeContent_Organic.swift index fff3fd5..101eed7 100644 --- a/SportsTime/Features/Home/Views/Variants/Organic/HomeContent_Organic.swift +++ b/SportsTime/Features/Home/Views/Variants/Organic/HomeContent_Organic.swift @@ -195,7 +195,7 @@ struct HomeContent_Organic: View { } VStack(alignment: .leading, spacing: 6) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 16, weight: .semibold, design: .rounded)) .foregroundStyle(textPrimary) .lineLimit(1) @@ -269,7 +269,7 @@ struct HomeContent_Organic: View { .frame(width: 24, height: 24) VStack(alignment: .leading, spacing: 2) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 15, weight: .medium, design: .rounded)) .foregroundStyle(textPrimary) diff --git a/SportsTime/Features/Home/Views/Variants/Playful/HomeContent_Playful.swift b/SportsTime/Features/Home/Views/Variants/Playful/HomeContent_Playful.swift index c3c8dbe..9748691 100644 --- a/SportsTime/Features/Home/Views/Variants/Playful/HomeContent_Playful.swift +++ b/SportsTime/Features/Home/Views/Variants/Playful/HomeContent_Playful.swift @@ -240,7 +240,7 @@ struct HomeContent_Playful: View { } VStack(alignment: .leading, spacing: 6) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 16, weight: .semibold, design: .rounded)) .foregroundStyle(colorScheme == .dark ? .white : Color(white: 0.15)) .lineLimit(1) @@ -321,7 +321,7 @@ struct HomeContent_Playful: View { ) VStack(alignment: .leading, spacing: 4) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 15, weight: .medium, design: .rounded)) .foregroundStyle(colorScheme == .dark ? .white : Color(white: 0.15)) diff --git a/SportsTime/Features/Home/Views/Variants/RetroFuturism/HomeContent_RetroFuturism.swift b/SportsTime/Features/Home/Views/Variants/RetroFuturism/HomeContent_RetroFuturism.swift index 21f1201..89ebdb7 100644 --- a/SportsTime/Features/Home/Views/Variants/RetroFuturism/HomeContent_RetroFuturism.swift +++ b/SportsTime/Features/Home/Views/Variants/RetroFuturism/HomeContent_RetroFuturism.swift @@ -237,7 +237,7 @@ struct HomeContent_RetroFuturism: View { .shadow(color: trip.uniqueSports.first?.themeColor.opacity(0.5) ?? neonCyan.opacity(0.5), radius: 10) VStack(alignment: .leading, spacing: 4) { - Text(trip.name.uppercased()) + Text(trip.displayName.uppercased()) .font(.system(size: 14, weight: .bold, design: .rounded)) .foregroundStyle(chrome) @@ -306,7 +306,7 @@ struct HomeContent_RetroFuturism: View { TripDetailView(trip: trip) } label: { HStack { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 13, weight: .medium, design: .rounded)) .foregroundStyle(chrome.opacity(0.8)) diff --git a/SportsTime/Features/Home/Views/Variants/SeatGeek/HomeContent_SeatGeek.swift b/SportsTime/Features/Home/Views/Variants/SeatGeek/HomeContent_SeatGeek.swift index cb3a69b..2cd4167 100644 --- a/SportsTime/Features/Home/Views/Variants/SeatGeek/HomeContent_SeatGeek.swift +++ b/SportsTime/Features/Home/Views/Variants/SeatGeek/HomeContent_SeatGeek.swift @@ -197,7 +197,7 @@ struct HomeContent_SeatGeek: View { Spacer() } - Text(trip.name) + Text(trip.displayName) .font(.system(size: 15, weight: .semibold)) .foregroundStyle(textPrimary) .lineLimit(2) @@ -286,7 +286,7 @@ struct HomeContent_SeatGeek: View { } VStack(alignment: .leading, spacing: 4) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 15, weight: .semibold)) .foregroundStyle(textPrimary) .lineLimit(1) diff --git a/SportsTime/Features/Home/Views/Variants/SoftPastel/HomeContent_SoftPastel.swift b/SportsTime/Features/Home/Views/Variants/SoftPastel/HomeContent_SoftPastel.swift index ae49397..1fd5c92 100644 --- a/SportsTime/Features/Home/Views/Variants/SoftPastel/HomeContent_SoftPastel.swift +++ b/SportsTime/Features/Home/Views/Variants/SoftPastel/HomeContent_SoftPastel.swift @@ -260,7 +260,7 @@ struct HomeContent_SoftPastel: View { ) VStack(alignment: .leading, spacing: 6) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 16, weight: .medium, design: .rounded)) .foregroundStyle(textPrimary) .lineLimit(1) @@ -333,7 +333,7 @@ struct HomeContent_SoftPastel: View { .frame(width: 12, height: 12) VStack(alignment: .leading, spacing: 4) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 15, weight: .medium, design: .rounded)) .foregroundStyle(textPrimary) diff --git a/SportsTime/Features/Home/Views/Variants/Spotify/HomeContent_Spotify.swift b/SportsTime/Features/Home/Views/Variants/Spotify/HomeContent_Spotify.swift index 2894e2d..d7364b9 100644 --- a/SportsTime/Features/Home/Views/Variants/Spotify/HomeContent_Spotify.swift +++ b/SportsTime/Features/Home/Views/Variants/Spotify/HomeContent_Spotify.swift @@ -144,7 +144,7 @@ struct HomeContent_Spotify: View { .shadow(color: Color.black.opacity(0.4), radius: 8, y: 4) VStack(alignment: .leading, spacing: 4) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 14, weight: .semibold)) .foregroundStyle(textPrimary) .lineLimit(1) @@ -213,7 +213,7 @@ struct HomeContent_Spotify: View { .shadow(color: Color.black.opacity(0.4), radius: 8, y: 4) VStack(alignment: .leading, spacing: 4) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 14, weight: .semibold)) .foregroundStyle(textPrimary) .lineLimit(2) diff --git a/SportsTime/Features/Home/Views/Variants/Strava/HomeContent_Strava.swift b/SportsTime/Features/Home/Views/Variants/Strava/HomeContent_Strava.swift index 3baaed6..72a0374 100644 --- a/SportsTime/Features/Home/Views/Variants/Strava/HomeContent_Strava.swift +++ b/SportsTime/Features/Home/Views/Variants/Strava/HomeContent_Strava.swift @@ -236,7 +236,7 @@ struct HomeContent_Strava: View { ) VStack(alignment: .leading, spacing: 2) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 15, weight: .semibold)) .foregroundStyle(textPrimary) .lineLimit(1) @@ -351,7 +351,7 @@ struct HomeContent_Strava: View { } VStack(alignment: .leading, spacing: 4) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 13, weight: .semibold)) .foregroundStyle(textPrimary) .lineLimit(1) diff --git a/SportsTime/Features/Home/Views/Variants/SwissModernist/HomeContent_SwissModernist.swift b/SportsTime/Features/Home/Views/Variants/SwissModernist/HomeContent_SwissModernist.swift index bc7fd74..57d866d 100644 --- a/SportsTime/Features/Home/Views/Variants/SwissModernist/HomeContent_SwissModernist.swift +++ b/SportsTime/Features/Home/Views/Variants/SwissModernist/HomeContent_SwissModernist.swift @@ -228,7 +228,7 @@ struct HomeContent_SwissModernist: View { .frame(width: 24) // Trip name - Text(trip.name) + Text(trip.displayName) .font(.system(size: 15, weight: .medium)) .foregroundStyle(textPrimary) .lineLimit(1) @@ -314,7 +314,7 @@ struct HomeContent_SwissModernist: View { .frame(width: 24) VStack(alignment: .leading, spacing: 4) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 15, weight: .medium)) .foregroundStyle(textPrimary) diff --git a/SportsTime/Features/Home/Views/Variants/Things3/HomeContent_Things3.swift b/SportsTime/Features/Home/Views/Variants/Things3/HomeContent_Things3.swift index c60a3a6..9d77aa4 100644 --- a/SportsTime/Features/Home/Views/Variants/Things3/HomeContent_Things3.swift +++ b/SportsTime/Features/Home/Views/Variants/Things3/HomeContent_Things3.swift @@ -188,7 +188,7 @@ struct HomeContent_Things3: View { .frame(width: 22, height: 22) VStack(alignment: .leading, spacing: 4) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 17)) .foregroundStyle(textPrimary) .lineLimit(1) @@ -279,7 +279,7 @@ struct HomeContent_Things3: View { ) VStack(alignment: .leading, spacing: 3) { - Text(trip.name) + Text(trip.displayName) .font(.system(size: 17)) .foregroundStyle(textPrimary) .lineLimit(1) diff --git a/SportsTime/Features/Polls/Views/PollCreationView.swift b/SportsTime/Features/Polls/Views/PollCreationView.swift index 55ea207..63bff3b 100644 --- a/SportsTime/Features/Polls/Views/PollCreationView.swift +++ b/SportsTime/Features/Polls/Views/PollCreationView.swift @@ -101,7 +101,7 @@ private struct TripSelectionRow: View { Button(action: onTap) { HStack { VStack(alignment: .leading, spacing: 4) { - Text(trip.name) + Text(trip.displayName) .font(.headline) .foregroundStyle(.primary) diff --git a/SportsTime/Features/Polls/Views/PollDetailView.swift b/SportsTime/Features/Polls/Views/PollDetailView.swift index 1be51ee..911d045 100644 --- a/SportsTime/Features/Polls/Views/PollDetailView.swift +++ b/SportsTime/Features/Polls/Views/PollDetailView.swift @@ -274,7 +274,7 @@ struct PollDetailView: View { let rank = results.tripScores.firstIndex { $0.tripIndex == item.tripIndex }! + 1 ResultRow( rank: rank, - tripName: trip.name, + tripName: trip.displayName, score: item.score, percentage: results.scorePercentage(for: item.tripIndex), isLeader: rank == 1 && item.score > 0 @@ -420,7 +420,7 @@ private struct TripPreviewCard: View { .background(Theme.warmOrange) .clipShape(Capsule()) - Text(trip.name) + Text(trip.displayName) .font(.headline) .foregroundStyle(.primary) } @@ -441,12 +441,6 @@ private struct TripPreviewCard: View { } .font(.caption) .foregroundStyle(.secondary) - - // Show cities - Text(trip.stops.map { $0.city }.joined(separator: " → ")) - .font(.caption) - .foregroundStyle(.secondary) - .lineLimit(2) } Image(systemName: "chevron.right") diff --git a/SportsTime/Features/Polls/Views/PollVotingView.swift b/SportsTime/Features/Polls/Views/PollVotingView.swift index 589dedd..1831e3b 100644 --- a/SportsTime/Features/Polls/Views/PollVotingView.swift +++ b/SportsTime/Features/Polls/Views/PollVotingView.swift @@ -138,7 +138,7 @@ private struct RankingRow: View { .clipShape(Circle()) VStack(alignment: .leading, spacing: 2) { - Text(trip.name) + Text(trip.displayName) .font(.headline) Text(tripSummary)