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

@@ -28,8 +28,8 @@ struct SettingsView: View {
// Theme Selection
themeSection
// UI Design Style
designStyleSection
// Home Screen Animations
animationsSection
// Sports Preferences
sportsSection
@@ -37,6 +37,9 @@ struct SettingsView: View {
// Travel Preferences
travelSection
// Icon Generator
iconGeneratorSection
// About
aboutSection
@@ -170,54 +173,30 @@ struct SettingsView: View {
.listRowBackground(Theme.cardBackground(colorScheme))
}
// MARK: - Design Style Section
// MARK: - Animations Section
private var designStyleSection: some View {
private var animationsSection: some View {
Section {
ForEach(UIDesignStyle.allCases) { style in
Button {
withAnimation(.easeInOut(duration: 0.2)) {
DesignStyleManager.shared.setStyle(style)
Toggle(isOn: Binding(
get: { DesignStyleManager.shared.animationsEnabled },
set: { DesignStyleManager.shared.animationsEnabled = $0 }
)) {
Label {
VStack(alignment: .leading, spacing: 2) {
Text("Animated Background")
.font(.body)
.foregroundStyle(.primary)
Text("Show animated sports graphics on home screen")
.font(.caption)
.foregroundStyle(.secondary)
}
} label: {
HStack(spacing: 12) {
// Icon with accent color
ZStack {
Circle()
.fill(style.accentColor.opacity(0.15))
.frame(width: 36, height: 36)
Image(systemName: style.iconName)
.font(.system(size: 16))
.foregroundStyle(style.accentColor)
}
VStack(alignment: .leading, spacing: 2) {
Text(style.rawValue)
.font(.body)
.foregroundStyle(.primary)
Text(style.description)
.font(.caption)
.foregroundStyle(.secondary)
.lineLimit(1)
}
Spacer()
if DesignStyleManager.shared.currentStyle == style {
Image(systemName: "checkmark.circle.fill")
.foregroundStyle(style.accentColor)
.font(.title3)
}
}
.contentShape(Rectangle())
} icon: {
Image(systemName: "sparkles")
.foregroundStyle(Theme.warmOrange)
}
.buttonStyle(.plain)
}
} header: {
Text("Home Screen Style")
} footer: {
Text("Choose a visual aesthetic for the home screen.")
Text("Home Screen")
}
.listRowBackground(Theme.cardBackground(colorScheme))
}
@@ -304,6 +283,35 @@ struct SettingsView: View {
.listRowBackground(Theme.cardBackground(colorScheme))
}
// MARK: - Icon Generator Section
private var iconGeneratorSection: some View {
Section {
NavigationLink {
SportsIconImageGeneratorView()
.navigationTitle("Icon Generator")
.navigationBarTitleDisplayMode(.inline)
} label: {
Label {
VStack(alignment: .leading, spacing: 2) {
Text("Sports Icon Generator")
.font(.body)
.foregroundStyle(.primary)
Text("Create shareable icon images")
.font(.caption)
.foregroundStyle(.secondary)
}
} icon: {
Image(systemName: "photo.badge.plus")
.foregroundStyle(Theme.warmOrange)
}
}
} header: {
Text("Creative Tools")
}
.listRowBackground(Theme.cardBackground(colorScheme))
}
// MARK: - Reset Section
private var resetSection: some View {