add in icon pxd file

This commit is contained in:
Trey t
2026-01-21 17:59:20 -06:00
parent d97dec44b2
commit 3a135743f8
28 changed files with 347 additions and 8245 deletions

View File

@@ -2,43 +2,16 @@
// UIDesignStyle.swift
// SportsTime
//
// 22 distinctive aesthetic variants for the home screen.
// UI design style variants for the home screen.
//
import SwiftUI
/// Available UI design aesthetics for the home screen
enum UIDesignStyle: String, CaseIterable, Identifiable, Codable {
// Default
case classic = "Classic"
case classicAnimated = "Classic Animated"
// Original experimental aesthetics
case brutalist = "Brutalist"
case luxuryEditorial = "Luxury Editorial"
case retroFuturism = "Retro-Futurism"
case glassmorphism = "Glassmorphism"
case neoBrutalist = "Neo-Brutalist"
case organic = "Organic"
case maximalistChaos = "Maximalist"
case swissModernist = "Swiss Modern"
case playful = "Playful"
case artDeco = "Art Deco"
case darkIndustrial = "Industrial"
case softPastel = "Soft Pastel"
// Polished app-inspired aesthetics
case flighty = "Flighty"
case seatGeek = "SeatGeek"
case appleMaps = "Apple Maps"
case things3 = "Things 3"
case airbnb = "Airbnb"
case spotify = "Spotify"
case nikeRunClub = "Nike Run Club"
case fantastical = "Fantastical"
case strava = "Strava"
case carrotWeather = "Carrot Weather"
var id: String { rawValue }
var description: String {
@@ -47,50 +20,6 @@ enum UIDesignStyle: String, CaseIterable, Identifiable, Codable {
return "The original SportsTime design"
case .classicAnimated:
return "Classic with animated sports backgrounds"
case .brutalist:
return "Raw, unpolished anti-design rebellion"
case .luxuryEditorial:
return "Magazine-quality dramatic typography"
case .retroFuturism:
return "80s sci-fi meets modern sports tech"
case .glassmorphism:
return "Frosted glass, flowing ethereal shapes"
case .neoBrutalist:
return "Bold blocks, harsh shadows, high contrast"
case .organic:
return "Soft curves, earthy tones, breathing life"
case .maximalistChaos:
return "Dense, layered, gloriously overwhelming"
case .swissModernist:
return "Grid-obsessed clinical precision"
case .playful:
return "Bouncy, candy colors, pure delight"
case .artDeco:
return "1920s glamour with gold accents"
case .darkIndustrial:
return "Moody metallic dashboard aesthetic"
case .softPastel:
return "Light, airy, dreamy gradients"
case .flighty:
return "Aviation dashboard, data-rich elegance"
case .seatGeek:
return "Sports ticketing, vibrant modern cards"
case .appleMaps:
return "Native iOS, clean and familiar"
case .things3:
return "Ultra-clean, beautiful spacing"
case .airbnb:
return "Travel-focused, warm and inviting"
case .spotify:
return "Dark elegance, bold typography"
case .nikeRunClub:
return "Athletic stats, dynamic energy"
case .fantastical:
return "Calendar elegance, data-dense"
case .strava:
return "Athletic tracking, orange accent"
case .carrotWeather:
return "Bold personality, gradient skies"
}
}
@@ -98,28 +27,6 @@ enum UIDesignStyle: String, CaseIterable, Identifiable, Codable {
switch self {
case .classic: return "star.fill"
case .classicAnimated: return "sparkles"
case .brutalist: return "hammer.fill"
case .luxuryEditorial: return "book.fill"
case .retroFuturism: return "tv.fill"
case .glassmorphism: return "drop.fill"
case .neoBrutalist: return "square.fill"
case .organic: return "leaf.fill"
case .maximalistChaos: return "sparkles"
case .swissModernist: return "grid"
case .playful: return "face.smiling.fill"
case .artDeco: return "diamond.fill"
case .darkIndustrial: return "gearshape.fill"
case .softPastel: return "cloud.fill"
case .flighty: return "airplane"
case .seatGeek: return "ticket.fill"
case .appleMaps: return "map.fill"
case .things3: return "checkmark.circle.fill"
case .airbnb: return "house.fill"
case .spotify: return "waveform"
case .nikeRunClub: return "figure.run"
case .fantastical: return "calendar"
case .strava: return "location.fill"
case .carrotWeather: return "sun.max.fill"
}
}
@@ -127,28 +34,6 @@ enum UIDesignStyle: String, CaseIterable, Identifiable, Codable {
switch self {
case .classic: return Color(red: 1.0, green: 0.45, blue: 0.2) // Warm Orange
case .classicAnimated: return Color(red: 1.0, green: 0.45, blue: 0.2) // Warm Orange (same as Classic)
case .brutalist: return .red
case .luxuryEditorial: return Color(red: 0.85, green: 0.65, blue: 0.13) // Gold
case .retroFuturism: return Color(red: 0.0, green: 1.0, blue: 0.8) // Cyan
case .glassmorphism: return Color(red: 0.6, green: 0.4, blue: 1.0) // Purple
case .neoBrutalist: return Color(red: 1.0, green: 0.8, blue: 0.0) // Yellow
case .organic: return Color(red: 0.4, green: 0.7, blue: 0.4) // Green
case .maximalistChaos: return Color(red: 1.0, green: 0.2, blue: 0.6) // Magenta
case .swissModernist: return .red
case .playful: return Color(red: 1.0, green: 0.4, blue: 0.6) // Pink
case .artDeco: return Color(red: 0.85, green: 0.65, blue: 0.13) // Gold
case .darkIndustrial: return Color(red: 1.0, green: 0.5, blue: 0.0) // Orange
case .softPastel: return Color(red: 0.7, green: 0.8, blue: 1.0) // Soft blue
case .flighty: return Color(red: 0.2, green: 0.5, blue: 1.0) // Blue
case .seatGeek: return Color(red: 0.85, green: 0.15, blue: 0.5) // Magenta
case .appleMaps: return Color(red: 0.0, green: 0.48, blue: 1.0) // Apple Blue
case .things3: return Color(red: 0.35, green: 0.6, blue: 0.95) // Things Blue
case .airbnb: return Color(red: 1.0, green: 0.22, blue: 0.4) // Airbnb Red
case .spotify: return Color(red: 0.12, green: 0.84, blue: 0.38) // Spotify Green
case .nikeRunClub: return Color(red: 0.77, green: 1.0, blue: 0.0) // Nike Volt
case .fantastical: return Color(red: 0.92, green: 0.26, blue: 0.26) // Fantastical Red
case .strava: return Color(red: 0.99, green: 0.32, blue: 0.15) // Strava Orange
case .carrotWeather: return Color(red: 1.0, green: 0.45, blue: 0.2) // Carrot Orange
}
}
}
@@ -179,6 +64,12 @@ final class DesignStyleManager {
func setStyle(_ style: UIDesignStyle) {
currentStyle = style
}
/// Convenience property for animation toggle
var animationsEnabled: Bool {
get { currentStyle == .classicAnimated }
set { currentStyle = newValue ? .classicAnimated : .classic }
}
}
// MARK: - Environment Key