feat(ui): add sport backgrounds to share cards, achievement filtering, and wizard validation

- Add ShareCardSportBackground with floating sport icons for share cards
- Share cards now show sport-specific backgrounds (single or multiple sports)
- Achievement collection share respects sport filter selection
- Add ability to share individual achievements from detail sheet
- Trip wizard ReviewStep highlights missing required fields in red
- Add FieldValidation model to TripWizardViewModel

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-01-14 12:02:57 -06:00
parent 1e26cfebc8
commit 3d4952e5ff
9 changed files with 255 additions and 23 deletions

View File

@@ -13,13 +13,18 @@ import UIKit
struct ShareCardBackground: View {
let theme: ShareTheme
var sports: Set<Sport>? = nil
var body: some View {
LinearGradient(
colors: theme.gradientColors,
startPoint: .top,
endPoint: .bottom
)
if let sports = sports, !sports.isEmpty {
ShareCardSportBackground(sports: sports, theme: theme)
} else {
LinearGradient(
colors: theme.gradientColors,
startPoint: .top,
endPoint: .bottom
)
}
}
}