Redesign trip option cards and fix various UI/planning issues

TripOptionCard improvements:
- Replace horizontal route with vertical layout (start → end with arrow)
- Remove rank badges (1, 2, 3, etc.)
- Split stats into two rows: cities/miles and sports with game counts
- Clear selection when navigating back from detail view

Settings cleanup:
- Remove unused settings (preferred game time, playoff games, notifications)
- Convert remaining settings to sliders

Planning fixes:
- Fix multi-day driving calculation in canTransition
- Remove over-restrictive trip rejection in TravelEstimator
- Clear games cache when sport selection changes

UI polish:
- RoutePreviewStrip shows all cities (abbreviated)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-01-07 21:05:25 -06:00
parent 4184af60b5
commit 5bbfd30a70
12 changed files with 230 additions and 208 deletions

View File

@@ -147,12 +147,12 @@ struct RoutePreviewStrip: View {
var body: some View {
HStack(spacing: 4) {
ForEach(Array(cities.prefix(5).enumerated()), id: \.offset) { index, city in
ForEach(Array(cities.enumerated()), id: \.offset) { index, city in
if index > 0 {
// Connector line
Rectangle()
.fill(Theme.routeGold.opacity(0.5))
.frame(width: 16, height: 2)
.frame(width: 12, height: 2)
}
// City dot with label
@@ -167,12 +167,6 @@ struct RoutePreviewStrip: View {
.lineLimit(1)
}
}
if cities.count > 5 {
Text("+\(cities.count - 5)")
.font(.system(size: 10, weight: .medium))
.foregroundStyle(Theme.textMuted(colorScheme))
}
}
}