feat: redesign all share cards, remove unused achievement types, fix sport selector

Redesign trip, progress, and achievement share cards with premium
sports-media aesthetic. Remove unused milestone/context achievement card
types (only used in debug exporter). Fix gold text unreadable in light
mode. Fix sport selector to only show stroke on selected sport.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-02-09 14:55:53 -06:00
parent 1a7ce78ae4
commit 244ea5e107
16 changed files with 3441 additions and 748 deletions

View File

@@ -83,7 +83,7 @@ struct AchievementsListView: View {
let earned = displayAchievements.filter { $0.isEarned }.count
let total = displayAchievements.count
let progress = total > 0 ? Double(earned) / Double(total) : 0
let completedGold = Color(hex: "FFD700")
let completedGold = colorScheme == .dark ? Color(hex: "FFD700") : Color(hex: "B8860B")
let filterTitle = selectedSport?.displayName ?? "All Sports"
let accentColor = selectedSport?.themeColor ?? Theme.warmOrange
@@ -297,8 +297,10 @@ struct AchievementCard: View {
@Environment(\.colorScheme) private var colorScheme
// Gold color for completed achievements
private let completedGold = Color(hex: "FFD700")
// Gold that's readable in both light and dark mode
private var completedGold: Color {
colorScheme == .dark ? Color(hex: "FFD700") : Color(hex: "B8860B")
}
var body: some View {
VStack(spacing: Theme.Spacing.sm) {
@@ -460,8 +462,10 @@ struct AchievementDetailSheet: View {
@Environment(\.colorScheme) private var colorScheme
@Environment(\.dismiss) private var dismiss
// Gold color for completed achievements
private let completedGold = Color(hex: "FFD700")
// Gold that's readable in both light and dark mode
private var completedGold: Color {
colorScheme == .dark ? Color(hex: "FFD700") : Color(hex: "B8860B")
}
var body: some View {
NavigationStack {