From 12a219d82675c7503dcbe1133a23804f8066e5da Mon Sep 17 00:00:00 2001 From: Trey t Date: Sat, 10 Jan 2026 17:47:34 -0600 Subject: [PATCH] fix(trip): remove buffer days from trip planner Buffer days added no value to trip planning. Itineraries now show only game days and necessary travel days without extra padding. Co-Authored-By: Claude Opus 4.5 --- .../ViewModels/TripCreationViewModel.swift | 10 +------ .../Trip/Views/TripCreationView.swift | 29 ------------------- 2 files changed, 1 insertion(+), 38 deletions(-) diff --git a/SportsTime/Features/Trip/ViewModels/TripCreationViewModel.swift b/SportsTime/Features/Trip/ViewModels/TripCreationViewModel.swift index d771409..9242421 100644 --- a/SportsTime/Features/Trip/ViewModels/TripCreationViewModel.swift +++ b/SportsTime/Features/Trip/ViewModels/TripCreationViewModel.swift @@ -77,9 +77,6 @@ final class TripCreationViewModel { } } - // Trip duration for game-first mode (days before/after selected games) - var tripBufferDays: Int = 2 - // Games var mustSeeGameIds: Set = [] var availableGames: [RichGame] = [] @@ -174,11 +171,7 @@ final class TripCreationViewModel { let gameDates = selectedGames.map { $0.game.dateTime } guard let earliest = gameDates.min(), let latest = gameDates.max() else { return nil } - - let calendar = Calendar.current - let bufferedStart = calendar.date(byAdding: .day, value: -tripBufferDays, to: earliest) ?? earliest - let bufferedEnd = calendar.date(byAdding: .day, value: tripBufferDays, to: latest) ?? latest - return (bufferedStart, bufferedEnd) + return (earliest, latest) } // MARK: - Actions @@ -459,7 +452,6 @@ final class TripCreationViewModel { selectedSports = [.mlb] startDate = Date() endDate = Date().addingTimeInterval(86400 * 7) - tripBufferDays = 2 mustSeeGameIds = [] numberOfStops = 5 leisureLevel = .moderate diff --git a/SportsTime/Features/Trip/Views/TripCreationView.swift b/SportsTime/Features/Trip/Views/TripCreationView.swift index b4b7cec..c756815 100644 --- a/SportsTime/Features/Trip/Views/TripCreationView.swift +++ b/SportsTime/Features/Trip/Views/TripCreationView.swift @@ -66,7 +66,6 @@ struct TripCreationView: View { // Sports + Game Picker sportsSection gameBrowserSection - tripBufferSection case .locations: // Locations + Sports + optional games @@ -493,34 +492,6 @@ struct TripCreationView: View { } } - private var tripBufferSection: some View { - ThemedSection(title: "Trip Duration") { - ThemedStepper( - label: "Buffer Days", - value: viewModel.tripBufferDays, - range: 0...7, - onIncrement: { viewModel.tripBufferDays += 1 }, - onDecrement: { viewModel.tripBufferDays -= 1 } - ) - - if let dateRange = viewModel.gameFirstDateRange { - HStack { - Text("Trip window:") - .font(.system(size: Theme.FontSize.caption)) - .foregroundStyle(Theme.textSecondary(colorScheme)) - Spacer() - Text("\(dateRange.start.formatted(date: .abbreviated, time: .omitted)) - \(dateRange.end.formatted(date: .abbreviated, time: .omitted))") - .font(.system(size: Theme.FontSize.caption, weight: .medium)) - .foregroundStyle(Theme.warmOrange) - } - } - - Text("Days before first game and after last game for travel/rest") - .font(.system(size: Theme.FontSize.micro)) - .foregroundStyle(Theme.textMuted(colorScheme)) - } - } - private var sportsSection: some View { let sports = Sport.supported let rows = sports.chunked(into: 4)