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 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-01-10 17:47:34 -06:00
parent e8e47e0e2e
commit 12a219d826
2 changed files with 1 additions and 38 deletions

View File

@@ -77,9 +77,6 @@ final class TripCreationViewModel {
} }
} }
// Trip duration for game-first mode (days before/after selected games)
var tripBufferDays: Int = 2
// Games // Games
var mustSeeGameIds: Set<UUID> = [] var mustSeeGameIds: Set<UUID> = []
var availableGames: [RichGame] = [] var availableGames: [RichGame] = []
@@ -174,11 +171,7 @@ final class TripCreationViewModel {
let gameDates = selectedGames.map { $0.game.dateTime } let gameDates = selectedGames.map { $0.game.dateTime }
guard let earliest = gameDates.min(), guard let earliest = gameDates.min(),
let latest = gameDates.max() else { return nil } let latest = gameDates.max() else { return nil }
return (earliest, latest)
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)
} }
// MARK: - Actions // MARK: - Actions
@@ -459,7 +452,6 @@ final class TripCreationViewModel {
selectedSports = [.mlb] selectedSports = [.mlb]
startDate = Date() startDate = Date()
endDate = Date().addingTimeInterval(86400 * 7) endDate = Date().addingTimeInterval(86400 * 7)
tripBufferDays = 2
mustSeeGameIds = [] mustSeeGameIds = []
numberOfStops = 5 numberOfStops = 5
leisureLevel = .moderate leisureLevel = .moderate

View File

@@ -66,7 +66,6 @@ struct TripCreationView: View {
// Sports + Game Picker // Sports + Game Picker
sportsSection sportsSection
gameBrowserSection gameBrowserSection
tripBufferSection
case .locations: case .locations:
// Locations + Sports + optional games // 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 { private var sportsSection: some View {
let sports = Sport.supported let sports = Sport.supported
let rows = sports.chunked(into: 4) let rows = sports.chunked(into: 4)