From c8694eacab830a3ebf9c4fcebbbb2ec62145439f Mon Sep 17 00:00:00 2001 From: Atridad Lahiji Date: Tue, 2 Dec 2025 15:55:48 -0700 Subject: [PATCH] iOS 2.4.0 - Colour accents and theming --- ios/Ascently.xcodeproj/project.pbxproj | 16 +- .../UserInterfaceState.xcuserstate | Bin 275596 -> 277975 bytes .../AppIntents/AscentlyShortcuts.swift | 23 +- .../AppIntents/EndActiveSessionIntent.swift | 40 ---- .../AppIntents/SessionIntentSupport.swift | 24 ++- .../StartLastGymSessionIntent.swift | 43 ---- .../AppIntents/ToggleSessionIntent.swift | 40 ++++ ios/Ascently/AscentlyApp.swift | 3 + .../Components/PhotoOptionSheet.swift | 5 +- ios/Ascently/Utils/ThemeManager.swift | 77 +++++++ .../Views/AddEdit/AddAttemptView.swift | 57 ++--- .../Views/AddEdit/AddEditGymView.swift | 5 +- .../Views/AddEdit/AddEditProblemView.swift | 13 +- .../Views/AddEdit/AddEditSessionView.swift | 3 +- ios/Ascently/Views/AnalyticsView.swift | 40 ++-- ios/Ascently/Views/CalendarView.swift | 20 +- ios/Ascently/Views/Detail/GymDetailView.swift | 14 +- .../Views/Detail/ProblemDetailView.swift | 14 +- .../Views/Detail/SessionDetailView.swift | 197 +++++++++--------- ios/Ascently/Views/GymsView.swift | 11 +- ios/Ascently/Views/ProblemsView.swift | 25 ++- ios/Ascently/Views/SettingsView.swift | 103 ++++++++- 22 files changed, 468 insertions(+), 305 deletions(-) delete mode 100644 ios/Ascently/AppIntents/EndActiveSessionIntent.swift delete mode 100644 ios/Ascently/AppIntents/StartLastGymSessionIntent.swift create mode 100644 ios/Ascently/AppIntents/ToggleSessionIntent.swift create mode 100644 ios/Ascently/Utils/ThemeManager.swift diff --git a/ios/Ascently.xcodeproj/project.pbxproj b/ios/Ascently.xcodeproj/project.pbxproj index 658b5f3..c524e8a 100644 --- a/ios/Ascently.xcodeproj/project.pbxproj +++ b/ios/Ascently.xcodeproj/project.pbxproj @@ -465,7 +465,7 @@ CODE_SIGN_ENTITLEMENTS = Ascently/Ascently.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 32; + CURRENT_PROJECT_VERSION = 33; DEVELOPMENT_TEAM = 4BC9Y2LL4B; DRIVERKIT_DEPLOYMENT_TARGET = 24.6; ENABLE_PREVIEWS = YES; @@ -487,7 +487,7 @@ "@executable_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 15.6; - MARKETING_VERSION = 2.3.0; + MARKETING_VERSION = 2.4.0; PRODUCT_BUNDLE_IDENTIFIER = com.atridad.Ascently; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -513,7 +513,7 @@ CODE_SIGN_ENTITLEMENTS = Ascently/Ascently.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 32; + CURRENT_PROJECT_VERSION = 33; DEVELOPMENT_TEAM = 4BC9Y2LL4B; DRIVERKIT_DEPLOYMENT_TARGET = 24.6; ENABLE_PREVIEWS = YES; @@ -535,7 +535,7 @@ "@executable_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 15.6; - MARKETING_VERSION = 2.3.0; + MARKETING_VERSION = 2.4.0; PRODUCT_BUNDLE_IDENTIFIER = com.atridad.Ascently; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -602,7 +602,7 @@ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; CODE_SIGN_ENTITLEMENTS = SessionStatusLiveExtension.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 32; + CURRENT_PROJECT_VERSION = 33; DEVELOPMENT_TEAM = 4BC9Y2LL4B; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = SessionStatusLive/Info.plist; @@ -613,7 +613,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 2.3.0; + MARKETING_VERSION = 2.4.0; PRODUCT_BUNDLE_IDENTIFIER = com.atridad.Ascently.SessionStatusLive; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -632,7 +632,7 @@ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; CODE_SIGN_ENTITLEMENTS = SessionStatusLiveExtension.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 32; + CURRENT_PROJECT_VERSION = 33; DEVELOPMENT_TEAM = 4BC9Y2LL4B; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = SessionStatusLive/Info.plist; @@ -643,7 +643,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 2.3.0; + MARKETING_VERSION = 2.4.0; PRODUCT_BUNDLE_IDENTIFIER = com.atridad.Ascently.SessionStatusLive; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; diff --git a/ios/Ascently.xcodeproj/project.xcworkspace/xcuserdata/atridad.xcuserdatad/UserInterfaceState.xcuserstate b/ios/Ascently.xcodeproj/project.xcworkspace/xcuserdata/atridad.xcuserdatad/UserInterfaceState.xcuserstate index 56a4c982513177a3e073b8b62cc0d79f329cd2ad..cb5508f0b2127eeb5804ecb9610a7202306e3fc6 100644 GIT binary patch literal 277975 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�rXse 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 Y$#hn>fBbK={WEO#f4~3#8FZZb4>LS?3IG5A diff --git a/ios/Ascently/AppIntents/AscentlyShortcuts.swift b/ios/Ascently/AppIntents/AscentlyShortcuts.swift index 7dd86a6..13edce1 100644 --- a/ios/Ascently/AppIntents/AscentlyShortcuts.swift +++ b/ios/Ascently/AppIntents/AscentlyShortcuts.swift @@ -1,7 +1,6 @@ import AppIntents -/// Provides a curated list of the most useful Ascently shortcuts for Siri and the Shortcuts app. -/// Surfaces intents that users can trigger hands-free to manage their climbing sessions. +/// Defines the App Shortcuts available in the Shortcuts app. struct AscentlyShortcuts: AppShortcutsProvider { static var shortcutTileColor: ShortcutTileColor { @@ -11,23 +10,15 @@ struct AscentlyShortcuts: AppShortcutsProvider { static var appShortcuts: [AppShortcut] { return [ AppShortcut( - intent: StartLastGymSessionIntent(), + intent: ToggleSessionIntent(), phrases: [ - "Start my climb in \(.applicationName)", - "Begin my last gym session in \(.applicationName)", + "Toggle climb in \(.applicationName)", + "Start or stop climb in \(.applicationName)", + "Climb toggle in \(.applicationName)", ], - shortTitle: "Start Climb", + shortTitle: "Toggle Session", systemImageName: "figure.climbing" - ), - AppShortcut( - intent: EndActiveSessionIntent(), - phrases: [ - "Finish my climb in \(.applicationName)", - "End my session in \(.applicationName)", - ], - shortTitle: "End Climb", - systemImageName: "flag.checkered" - ), + ) ] } } diff --git a/ios/Ascently/AppIntents/EndActiveSessionIntent.swift b/ios/Ascently/AppIntents/EndActiveSessionIntent.swift deleted file mode 100644 index f71530d..0000000 --- a/ios/Ascently/AppIntents/EndActiveSessionIntent.swift +++ /dev/null @@ -1,40 +0,0 @@ -import AppIntents -import Foundation - -/// Ends the currently active climbing session so logging stays in sync across devices. -/// Exposed to Shortcuts so users can wrap up a session without opening the app. -struct EndActiveSessionIntent: AppIntent { - - static var title: LocalizedStringResource { - "End Active Session" - } - - static var description: IntentDescription { - IntentDescription( - "Stop the active climbing session and save its progress in Ascently." - ) - } - - static var openAppWhenRun: Bool { - false - } - - func perform() async throws -> some IntentResult & ProvidesDialog { - do { - let summary = try await SessionIntentController().endActiveSession() - let dialog = IntentDialog("Session at \(summary.gymName) ended. Nice work!") - return .result(dialog: dialog) - } catch SessionIntentError.noActiveSession { - // No active session is fine - just return a friendly message - let dialog = IntentDialog("No active session to end.") - return .result(dialog: dialog) - } catch { - // Re-throw other errors - throw error - } - } - - static var parameterSummary: some ParameterSummary { - Summary("End my current climbing session") - } -} diff --git a/ios/Ascently/AppIntents/SessionIntentSupport.swift b/ios/Ascently/AppIntents/SessionIntentSupport.swift index 4f21dca..5f4e70b 100644 --- a/ios/Ascently/AppIntents/SessionIntentSupport.swift +++ b/ios/Ascently/AppIntents/SessionIntentSupport.swift @@ -27,7 +27,7 @@ struct SessionIntentSummary: Sendable { let status: SessionStatus } -/// Central controller that exposes the minimal climbing session operations used by App Intents and shortcuts. +/// Controller for handling session operations from App Intents. @MainActor final class SessionIntentController { @@ -39,9 +39,9 @@ final class SessionIntentController { /// Starts a new session using the most recently visited gym. func startSessionWithLastUsedGym() async throws -> SessionIntentSummary { - // Give a moment for data to be ready if app just launched + // Wait for data to load if dataManager.gyms.isEmpty { - try? await Task.sleep(nanoseconds: 500_000_000) // 0.5 seconds + try? await Task.sleep(nanoseconds: 500_000_000) } guard let lastGym = dataManager.getLastUsedGym() else { @@ -89,7 +89,23 @@ final class SessionIntentController { } private func logFailure(_ error: SessionIntentError, context: String) { - // Logging from intent context - errors are visible to user via dialog + // Log error for debugging print("SessionIntentError: \(error). Context: \(context)") } + + /// Toggles the session state: ends active session if one exists, otherwise starts a new one. + func toggleSession() async throws -> (summary: SessionIntentSummary, wasStarted: Bool) { + // Wait for data to load + if dataManager.gyms.isEmpty { + try? await Task.sleep(nanoseconds: 500_000_000) + } + + if dataManager.activeSession != nil { + let summary = try await endActiveSession() + return (summary, false) + } else { + let summary = try await startSessionWithLastUsedGym() + return (summary, true) + } + } } diff --git a/ios/Ascently/AppIntents/StartLastGymSessionIntent.swift b/ios/Ascently/AppIntents/StartLastGymSessionIntent.swift deleted file mode 100644 index 4af91d8..0000000 --- a/ios/Ascently/AppIntents/StartLastGymSessionIntent.swift +++ /dev/null @@ -1,43 +0,0 @@ -import AppIntents -import Foundation - -/// Starts a climbing session at the most recently visited gym. -/// Exposed to Shortcuts so users can begin logging without opening the app. -struct StartLastGymSessionIntent: AppIntent { - - static var title: LocalizedStringResource { - "Start Last Gym Session" - } - - static var description: IntentDescription { - IntentDescription( - "Begin a new climbing session using the most recent gym you visited in Ascently." - ) - } - - static var openAppWhenRun: Bool { - true - } - - func perform() async throws -> some IntentResult & ProvidesDialog { - // Delay to ensure app has time to fully initialize if just launched - try? await Task.sleep(nanoseconds: 1_000_000_000) // 1 second - - let summary = try await SessionIntentController().startSessionWithLastUsedGym() - - // Give Live Activity extra time to start - try? await Task.sleep(nanoseconds: 500_000_000) // 0.5 seconds - - return .result( - dialog: Self.successDialog(for: summary.gymName) - ) - } - - private static func successDialog(for gymName: String) -> IntentDialog { - IntentDialog("Session started at \(gymName). Have an awesome climb!") - } - - static var parameterSummary: some ParameterSummary { - Summary("Start a session at my last gym") - } -} diff --git a/ios/Ascently/AppIntents/ToggleSessionIntent.swift b/ios/Ascently/AppIntents/ToggleSessionIntent.swift new file mode 100644 index 0000000..1c7a2c9 --- /dev/null +++ b/ios/Ascently/AppIntents/ToggleSessionIntent.swift @@ -0,0 +1,40 @@ +import AppIntents +import Foundation + +/// Toggles the climbing session state: starts a session if none is active, or ends the current one. +struct ToggleSessionIntent: AppIntent { + + static var title: LocalizedStringResource { + "Toggle Climbing Session" + } + + static var description: IntentDescription { + IntentDescription( + "Starts a new session at your last gym if you're not climbing, or ends your current session if you are." + ) + } + + static var openAppWhenRun: Bool { + false + } + + func perform() async throws -> some IntentResult & ProvidesDialog { + // Wait for app initialization + try? await Task.sleep(nanoseconds: 1_000_000_000) + + let controller = await SessionIntentController() + let (summary, wasStarted) = try await controller.toggleSession() + + if wasStarted { + // Wait for Live Activity + try? await Task.sleep(nanoseconds: 500_000_000) + return .result(dialog: IntentDialog("Session started at \(summary.gymName). Have an awesome climb!")) + } else { + return .result(dialog: IntentDialog("Session at \(summary.gymName) ended. Nice work!")) + } + } + + static var parameterSummary: some ParameterSummary { + Summary("Toggle my climbing session") + } +} diff --git a/ios/Ascently/AscentlyApp.swift b/ios/Ascently/AscentlyApp.swift index f476c2d..53fedc7 100644 --- a/ios/Ascently/AscentlyApp.swift +++ b/ios/Ascently/AscentlyApp.swift @@ -13,10 +13,13 @@ class AppDelegate: NSObject, UIApplicationDelegate { struct AscentlyApp: App { @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate @Environment(\.scenePhase) private var scenePhase + @StateObject private var themeManager = ThemeManager() var body: some Scene { WindowGroup { ContentView() + .environmentObject(themeManager) + .tint(themeManager.accentColor) } } } diff --git a/ios/Ascently/Components/PhotoOptionSheet.swift b/ios/Ascently/Components/PhotoOptionSheet.swift index 38727b1..d270cfe 100644 --- a/ios/Ascently/Components/PhotoOptionSheet.swift +++ b/ios/Ascently/Components/PhotoOptionSheet.swift @@ -8,6 +8,7 @@ struct PhotoOptionSheet: View { let onCameraSelected: () -> Void let onPhotoLibrarySelected: () -> Void let onDismiss: () -> Void + @EnvironmentObject var themeManager: ThemeManager var body: some View { NavigationView { @@ -29,7 +30,7 @@ struct PhotoOptionSheet: View { HStack { Image(systemName: "photo.on.rectangle") .font(.title2) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) Text("Photo Library") .font(.headline) Spacer() @@ -52,7 +53,7 @@ struct PhotoOptionSheet: View { HStack { Image(systemName: "camera.fill") .font(.title2) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) Text("Camera") .font(.headline) Spacer() diff --git a/ios/Ascently/Utils/ThemeManager.swift b/ios/Ascently/Utils/ThemeManager.swift new file mode 100644 index 0000000..38c4a14 --- /dev/null +++ b/ios/Ascently/Utils/ThemeManager.swift @@ -0,0 +1,77 @@ +import SwiftUI +import Combine + +class ThemeManager: ObservableObject { + @Published var accentColor: Color = .blue { + didSet { + saveColor() + } + } + + private let userDefaultsKey = "accentColorData" + + init() { + loadColor() + } + + private func loadColor() { + guard let data = UserDefaults.standard.data(forKey: userDefaultsKey) else { + self.accentColor = .blue + return + } + + do { + if let uiColor = try NSKeyedUnarchiver.unarchivedObject(ofClass: UIColor.self, from: data) { + self.accentColor = Color(uiColor) + } + } catch { + print("Failed to load accent color: \(error)") + self.accentColor = .blue + } + } + + private func saveColor() { + do { + let uiColor = UIColor(accentColor) + let data = try NSKeyedArchiver.archivedData(withRootObject: uiColor, requiringSecureCoding: false) + UserDefaults.standard.set(data, forKey: userDefaultsKey) + } catch { + print("Failed to save accent color: \(error)") + } + } + + func resetToDefault() { + accentColor = .blue + } + + // Curated list of preset colors that maintain good contrast + static let presetColors: [Color] = [ + .blue, // Default Blue + .purple, // Purple + .pink, // Pink + .red, // Red + .orange, // Orange + .green, // Green + .teal, // Teal + .indigo, // Indigo + .mint, // Mint + Color(uiColor: .systemBrown), // Brown + Color(uiColor: .systemCyan) // Cyan + ] + + var contrastingTextColor: Color { + let uiColor = UIColor(accentColor) + var red: CGFloat = 0 + var green: CGFloat = 0 + var blue: CGFloat = 0 + var alpha: CGFloat = 0 + + uiColor.getRed(&red, green: &green, blue: &blue, alpha: &alpha) + + // Calculate relative luminance + let luminance = 0.299 * red + 0.587 * green + 0.114 * blue + + // Return black for light colors, white for dark colors + return luminance > 0.5 ? .black : .white + } +} diff --git a/ios/Ascently/Views/AddEdit/AddAttemptView.swift b/ios/Ascently/Views/AddEdit/AddAttemptView.swift index 240640c..f09611d 100644 --- a/ios/Ascently/Views/AddEdit/AddAttemptView.swift +++ b/ios/Ascently/Views/AddEdit/AddAttemptView.swift @@ -5,6 +5,7 @@ struct AddAttemptView: View { let session: ClimbSession let gym: Gym @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager @Environment(\.dismiss) private var dismiss @State private var selectedProblem: Problem? @@ -158,6 +159,7 @@ struct AddAttemptView: View { showingCreateProblem = true } .buttonStyle(.borderedProminent) + .tint(themeManager.accentColor) } .padding(.vertical, 8) } else { @@ -179,7 +181,7 @@ struct AddAttemptView: View { Button("Create New Problem") { showingCreateProblem = true } - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } } } @@ -198,7 +200,7 @@ struct AddAttemptView: View { selectedPhotos = [] imageData = [] } - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } } @@ -213,7 +215,7 @@ struct AddAttemptView: View { Spacer() if selectedClimbType == climbType { Image(systemName: "checkmark.circle.fill") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } else { Image(systemName: "circle") .foregroundColor(.gray) @@ -238,7 +240,7 @@ struct AddAttemptView: View { Spacer() if selectedDifficultySystem == system { Image(systemName: "checkmark.circle.fill") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } else { Image(systemName: "circle") .foregroundColor(.gray) @@ -272,7 +274,7 @@ struct AddAttemptView: View { } .buttonStyle(.bordered) .controlSize(.small) - .tint(newProblemGrade == grade ? .blue : .gray) + .tint(newProblemGrade == grade ? themeManager.accentColor : .gray) } } .padding(.horizontal, 1) @@ -287,12 +289,12 @@ struct AddAttemptView: View { }) { HStack { Image(systemName: "camera.fill") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) .font(.title2) VStack(alignment: .leading, spacing: 2) { Text("Add Photos") .font(.headline) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) Text("\(imageData.count) of 5 photos added") .font(.caption) .foregroundColor(.secondary) @@ -353,7 +355,7 @@ struct AddAttemptView: View { Spacer() if selectedResult == result { Image(systemName: "checkmark.circle.fill") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } else { Image(systemName: "circle") .foregroundColor(.gray) @@ -529,6 +531,7 @@ struct ProblemSelectionRow: View { let problem: Problem let isSelected: Bool let action: () -> Void + @EnvironmentObject var themeManager: ThemeManager var body: some View { HStack { @@ -539,7 +542,7 @@ struct ProblemSelectionRow: View { Text("\(problem.difficulty.system.displayName): \(problem.difficulty.grade)") .font(.subheadline) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) if let location = problem.location { Text(location) @@ -552,7 +555,7 @@ struct ProblemSelectionRow: View { if isSelected { Image(systemName: "checkmark.circle.fill") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } else { Image(systemName: "circle") .foregroundColor(.gray) @@ -569,6 +572,7 @@ struct ProblemSelectionCard: View { let isSelected: Bool let action: () -> Void @State private var showingExpandedView = false + @EnvironmentObject var themeManager: ThemeManager var body: some View { VStack(spacing: 8) { @@ -594,7 +598,7 @@ struct ProblemSelectionCard: View { if isSelected { Image(systemName: "checkmark.circle.fill") .foregroundColor(.white) - .background(Circle().fill(.blue)) + .background(Circle().fill(themeManager.accentColor)) .font(.title3) } } @@ -634,7 +638,7 @@ struct ProblemSelectionCard: View { Text(problem.difficulty.grade) .font(.caption2) .fontWeight(.bold) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) if let location = problem.location { Text(location) @@ -648,8 +652,8 @@ struct ProblemSelectionCard: View { .padding(8) .background( RoundedRectangle(cornerRadius: 12) - .fill(isSelected ? .blue.opacity(0.1) : .gray.opacity(0.05)) - .stroke(isSelected ? .blue : .clear, lineWidth: 2) + .fill(isSelected ? themeManager.accentColor.opacity(0.1) : .gray.opacity(0.05)) + .stroke(isSelected ? themeManager.accentColor : .clear, lineWidth: 2) ) .contentShape(Rectangle()) .onTapGesture { @@ -668,6 +672,7 @@ struct ProblemSelectionCard: View { struct ProblemExpandedView: View { let problem: Problem @Environment(\.dismiss) private var dismiss + @EnvironmentObject var themeManager: ThemeManager @State private var selectedImageIndex = 0 var body: some View { @@ -696,7 +701,7 @@ struct ProblemExpandedView: View { Text(problem.difficulty.grade) .font(.title3) .fontWeight(.bold) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) Text(problem.climbType.displayName) .font(.subheadline) @@ -724,9 +729,9 @@ struct ProblemExpandedView: View { .padding(.vertical, 4) .background( RoundedRectangle(cornerRadius: 8) - .fill(.blue.opacity(0.1)) + .fill(themeManager.accentColor.opacity(0.1)) ) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } } .padding(.horizontal) @@ -752,6 +757,7 @@ struct ProblemExpandedView: View { struct EditAttemptView: View { let attempt: Attempt @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager @Environment(\.dismiss) private var dismiss @State private var selectedProblem: Problem? @@ -926,6 +932,7 @@ struct EditAttemptView: View { showingCreateProblem = true } .buttonStyle(.borderedProminent) + .tint(themeManager.accentColor) } .padding(.vertical, 8) } else { @@ -947,7 +954,7 @@ struct EditAttemptView: View { Button("Create New Problem") { showingCreateProblem = true } - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } } } @@ -966,7 +973,7 @@ struct EditAttemptView: View { selectedPhotos = [] imageData = [] } - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } } @@ -981,7 +988,7 @@ struct EditAttemptView: View { Spacer() if selectedClimbType == climbType { Image(systemName: "checkmark.circle.fill") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } else { Image(systemName: "circle") .foregroundColor(.gray) @@ -1006,7 +1013,7 @@ struct EditAttemptView: View { Spacer() if selectedDifficultySystem == system { Image(systemName: "checkmark.circle.fill") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } else { Image(systemName: "circle") .foregroundColor(.gray) @@ -1040,7 +1047,7 @@ struct EditAttemptView: View { } .buttonStyle(.bordered) .controlSize(.small) - .tint(newProblemGrade == grade ? .blue : .gray) + .tint(newProblemGrade == grade ? themeManager.accentColor : .gray) } } .padding(.horizontal, 1) @@ -1055,12 +1062,12 @@ struct EditAttemptView: View { }) { HStack { Image(systemName: "camera.fill") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) .font(.title2) VStack(alignment: .leading, spacing: 2) { Text("Add Photos") .font(.headline) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) Text("\(imageData.count) of 5 photos added") .font(.caption) .foregroundColor(.secondary) @@ -1121,7 +1128,7 @@ struct EditAttemptView: View { Spacer() if selectedResult == result { Image(systemName: "checkmark.circle.fill") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } else { Image(systemName: "circle") .foregroundColor(.gray) diff --git a/ios/Ascently/Views/AddEdit/AddEditGymView.swift b/ios/Ascently/Views/AddEdit/AddEditGymView.swift index 37b7d41..0f52d09 100644 --- a/ios/Ascently/Views/AddEdit/AddEditGymView.swift +++ b/ios/Ascently/Views/AddEdit/AddEditGymView.swift @@ -3,6 +3,7 @@ import SwiftUI struct AddEditGymView: View { let gymId: UUID? @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager @Environment(\.dismiss) private var dismiss @State private var name = "" @@ -83,7 +84,7 @@ struct AddEditGymView: View { Spacer() if selectedClimbTypes.contains(climbType) { Image(systemName: "checkmark.circle.fill") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } else { Image(systemName: "circle") .foregroundColor(.gray) @@ -115,7 +116,7 @@ struct AddEditGymView: View { Spacer() if selectedDifficultySystems.contains(system) { Image(systemName: "checkmark.circle.fill") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } else { Image(systemName: "circle") .foregroundColor(.gray) diff --git a/ios/Ascently/Views/AddEdit/AddEditProblemView.swift b/ios/Ascently/Views/AddEdit/AddEditProblemView.swift index af3ee55..5039b8f 100644 --- a/ios/Ascently/Views/AddEdit/AddEditProblemView.swift +++ b/ios/Ascently/Views/AddEdit/AddEditProblemView.swift @@ -5,6 +5,7 @@ struct AddEditProblemView: View { let problemId: UUID? let gymId: UUID? @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager @Environment(\.dismiss) private var dismiss @State private var selectedGym: Gym? @@ -192,7 +193,7 @@ struct AddEditProblemView: View { if selectedGym?.id == gym.id { Image(systemName: "checkmark.circle.fill") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } } .contentShape(Rectangle()) @@ -235,7 +236,7 @@ struct AddEditProblemView: View { Spacer() if selectedClimbType == climbType { Image(systemName: "checkmark.circle.fill") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } else { Image(systemName: "circle") .foregroundColor(.gray) @@ -264,7 +265,7 @@ struct AddEditProblemView: View { Spacer() if selectedDifficultySystem == system { Image(systemName: "checkmark.circle.fill") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } else { Image(systemName: "circle") .foregroundColor(.gray) @@ -337,7 +338,7 @@ struct AddEditProblemView: View { } else { Text("Selected: \(difficultyGrade)") .font(.caption) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } } } @@ -372,12 +373,12 @@ struct AddEditProblemView: View { }) { HStack { Image(systemName: "camera.fill") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) .font(.title2) VStack(alignment: .leading, spacing: 2) { Text("Add Photos") .font(.headline) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) Text("\(imageData.count) of 5 photos added") .font(.caption) .foregroundColor(.secondary) diff --git a/ios/Ascently/Views/AddEdit/AddEditSessionView.swift b/ios/Ascently/Views/AddEdit/AddEditSessionView.swift index ba0df52..55327cb 100644 --- a/ios/Ascently/Views/AddEdit/AddEditSessionView.swift +++ b/ios/Ascently/Views/AddEdit/AddEditSessionView.swift @@ -3,6 +3,7 @@ import SwiftUI struct AddEditSessionView: View { let sessionId: UUID? @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager @Environment(\.dismiss) private var dismiss @State private var selectedGym: Gym? @@ -71,7 +72,7 @@ struct AddEditSessionView: View { if selectedGym?.id == gym.id { Image(systemName: "checkmark.circle.fill") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } } .contentShape(Rectangle()) diff --git a/ios/Ascently/Views/AnalyticsView.swift b/ios/Ascently/Views/AnalyticsView.swift index f1f7e1d..c61f886 100644 --- a/ios/Ascently/Views/AnalyticsView.swift +++ b/ios/Ascently/Views/AnalyticsView.swift @@ -2,6 +2,7 @@ import SwiftUI struct AnalyticsView: View { @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager var body: some View { NavigationStack { @@ -25,7 +26,7 @@ struct AnalyticsView: View { if dataManager.isSyncing { HStack(spacing: 2) { ProgressView() - .progressViewStyle(CircularProgressViewStyle(tint: .blue)) + .progressViewStyle(CircularProgressViewStyle(tint: themeManager.accentColor)) .scaleEffect(0.6) } .padding(.horizontal, 6) @@ -47,6 +48,7 @@ struct AnalyticsView: View { struct OverallStatsSection: View { @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager var body: some View { VStack(alignment: .leading, spacing: 16) { @@ -59,7 +61,7 @@ struct OverallStatsSection: View { title: "Sessions", value: "\(dataManager.completedSessions().count)", icon: "play.fill", - color: .blue + color: themeManager.accentColor ) StatCard( @@ -117,13 +119,15 @@ struct StatCard: View { .padding() .background( RoundedRectangle(cornerRadius: 12) - .fill(.ultraThinMaterial) + .fill(Color(uiColor: .secondarySystemGroupedBackground)) + .shadow(color: .black.opacity(0.05), radius: 2, x: 0, y: 1) ) } } struct ProgressChartSection: View { @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager @State private var selectedSystem: DifficultySystem = .vScale @State private var showAllTime: Bool = true @State private var cachedGradeCountData: [GradeCount] = [] @@ -178,10 +182,10 @@ struct ProgressChartSection: View { .padding(.vertical, 4) .background( RoundedRectangle(cornerRadius: 6) - .fill(showAllTime ? .blue : .clear) - .stroke(.blue.opacity(0.3), lineWidth: 1) + .fill(showAllTime ? themeManager.accentColor : .clear) + .stroke(themeManager.accentColor.opacity(0.3), lineWidth: 1) ) - .foregroundColor(showAllTime ? .white : .blue) + .foregroundColor(showAllTime ? themeManager.contrastingTextColor : themeManager.accentColor) } Button(action: { @@ -194,10 +198,10 @@ struct ProgressChartSection: View { .padding(.vertical, 4) .background( RoundedRectangle(cornerRadius: 6) - .fill(!showAllTime ? .blue : .clear) - .stroke(.blue.opacity(0.3), lineWidth: 1) + .fill(!showAllTime ? themeManager.accentColor : .clear) + .stroke(themeManager.accentColor.opacity(0.3), lineWidth: 1) ) - .foregroundColor(!showAllTime ? .white : .blue) + .foregroundColor(!showAllTime ? themeManager.contrastingTextColor : themeManager.accentColor) } } @@ -215,7 +219,7 @@ struct ProgressChartSection: View { if selectedSystem == system { Spacer() Image(systemName: "checkmark") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } } } @@ -232,10 +236,10 @@ struct ProgressChartSection: View { .padding(.vertical, 6) .background( RoundedRectangle(cornerRadius: 8) - .fill(.blue.opacity(0.1)) - .stroke(.blue.opacity(0.3), lineWidth: 1) + .fill(themeManager.accentColor.opacity(0.1)) + .stroke(themeManager.accentColor.opacity(0.3), lineWidth: 1) ) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } } } @@ -336,6 +340,7 @@ struct GradeCount { struct BarChartView: View { let data: [GradeCount] + @EnvironmentObject var themeManager: ThemeManager private var sortedData: [GradeCount] { data.sorted { $0.gradeNumeric < $1.gradeNumeric } @@ -367,7 +372,7 @@ struct BarChartView: View { VStack(spacing: 4) { // Bar RoundedRectangle(cornerRadius: 4) - .fill(.blue) + .fill(themeManager.accentColor) .frame( width: barWidth, height: CGFloat(gradeCount.count) / CGFloat(maxCount) @@ -377,7 +382,7 @@ struct BarChartView: View { Text("\(gradeCount.count)") .font(.caption2) .fontWeight(.medium) - .foregroundColor(.white) + .foregroundColor(themeManager.contrastingTextColor) .opacity(gradeCount.count > 0 ? 1 : 0) ) @@ -471,6 +476,7 @@ struct FavoriteGymSection: View { struct RecentActivitySection: View { @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager private var recentSessionsCount: Int { dataManager.sessions.count @@ -485,7 +491,7 @@ struct RecentActivitySection: View { HStack { Image(systemName: "clock.fill") .font(.title2) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) Text("Recent Activity") .font(.title2) @@ -499,7 +505,7 @@ struct RecentActivitySection: View { HStack { Image(systemName: "play.circle") .font(.subheadline) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) Text("\(recentSessionsCount) sessions") .font(.subheadline) diff --git a/ios/Ascently/Views/CalendarView.swift b/ios/Ascently/Views/CalendarView.swift index a897609..cd252e8 100644 --- a/ios/Ascently/Views/CalendarView.swift +++ b/ios/Ascently/Views/CalendarView.swift @@ -2,6 +2,7 @@ import SwiftUI struct CalendarView: View { @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager let sessions: [ClimbSession] @Binding var selectedMonth: Date @Binding var selectedDate: Date? @@ -68,7 +69,7 @@ struct CalendarView: View { Image(systemName: "chevron.left") .font(.title2) .fontWeight(.semibold) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } .frame(width: 44, height: 44) @@ -84,7 +85,7 @@ struct CalendarView: View { Image(systemName: "chevron.right") .font(.title2) .fontWeight(.semibold) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } .frame(width: 44, height: 44) } @@ -97,10 +98,10 @@ struct CalendarView: View { Text("Today") .font(.subheadline) .fontWeight(.semibold) - .foregroundColor(.white) + .foregroundColor(themeManager.contrastingTextColor) .padding(.horizontal, 20) .padding(.vertical, 8) - .background(Color.blue) + .background(themeManager.accentColor) .clipShape(Capsule()) } } @@ -209,6 +210,7 @@ struct CalendarDayCell: View { let isToday: Bool let isInCurrentMonth: Bool let onTap: () -> Void + @EnvironmentObject var themeManager: ThemeManager var dayNumber: String { let formatter = DateFormatter() @@ -224,9 +226,9 @@ struct CalendarDayCell: View { .fontWeight(sessions.isEmpty ? .regular : .medium) .foregroundColor( isSelected - ? .white + ? themeManager.contrastingTextColor : isToday - ? .blue + ? themeManager.accentColor : !isInCurrentMonth ? .secondary.opacity(0.3) : sessions.isEmpty ? .secondary : .primary @@ -234,7 +236,7 @@ struct CalendarDayCell: View { if !sessions.isEmpty { Circle() - .fill(isSelected ? .white : .blue) + .fill(isSelected ? themeManager.contrastingTextColor : themeManager.accentColor) .frame(width: 4, height: 4) } else { Spacer() @@ -247,13 +249,13 @@ struct CalendarDayCell: View { .background( RoundedRectangle(cornerRadius: 6) .fill( - isSelected ? Color.blue : isToday ? Color.blue.opacity(0.1) : Color.clear + isSelected ? themeManager.accentColor : isToday ? themeManager.accentColor.opacity(0.1) : Color.clear ) ) .overlay( RoundedRectangle(cornerRadius: 6) .stroke( - isToday && !isSelected ? Color.blue.opacity(0.3) : Color.clear, lineWidth: 1 + isToday && !isSelected ? themeManager.accentColor.opacity(0.3) : Color.clear, lineWidth: 1 ) ) } diff --git a/ios/Ascently/Views/Detail/GymDetailView.swift b/ios/Ascently/Views/Detail/GymDetailView.swift index dd86fe7..bbf696f 100644 --- a/ios/Ascently/Views/Detail/GymDetailView.swift +++ b/ios/Ascently/Views/Detail/GymDetailView.swift @@ -3,6 +3,7 @@ import SwiftUI struct GymDetailView: View { let gymId: UUID @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager @Environment(\.dismiss) private var dismiss @State private var showingDeleteAlert = false @@ -108,6 +109,7 @@ struct GymDetailView: View { struct GymHeaderCard: View { let gym: Gym + @EnvironmentObject var themeManager: ThemeManager var body: some View { VStack(alignment: .leading, spacing: 16) { @@ -145,9 +147,9 @@ struct GymHeaderCard: View { .padding(.vertical, 6) .background( RoundedRectangle(cornerRadius: 12) - .fill(.blue.opacity(0.1)) + .fill(themeManager.accentColor.opacity(0.1)) ) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } } .padding(.horizontal, 1) @@ -318,8 +320,8 @@ struct ProblemRowCard: View { .padding() .background( RoundedRectangle(cornerRadius: 12) - .fill(.ultraThinMaterial) - .stroke(.quaternary, lineWidth: 1) + .fill(Color(uiColor: .secondarySystemGroupedBackground)) + .shadow(color: .black.opacity(0.05), radius: 2, x: 0, y: 1) ) } } @@ -371,8 +373,8 @@ struct SessionRowCard: View { .padding() .background( RoundedRectangle(cornerRadius: 12) - .fill(.ultraThinMaterial) - .stroke(.quaternary, lineWidth: 1) + .fill(Color(uiColor: .secondarySystemGroupedBackground)) + .shadow(color: .black.opacity(0.05), radius: 2, x: 0, y: 1) ) } diff --git a/ios/Ascently/Views/Detail/ProblemDetailView.swift b/ios/Ascently/Views/Detail/ProblemDetailView.swift index e37bc53..e25ab3b 100644 --- a/ios/Ascently/Views/Detail/ProblemDetailView.swift +++ b/ios/Ascently/Views/Detail/ProblemDetailView.swift @@ -3,6 +3,7 @@ import SwiftUI struct ProblemDetailView: View { let problemId: UUID @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager @Environment(\.dismiss) private var dismiss @State private var showingDeleteAlert = false @State private var showingImageViewer = false @@ -125,6 +126,7 @@ struct ProblemDetailView: View { struct ProblemHeaderCard: View { let problem: Problem let gym: Gym + @EnvironmentObject var themeManager: ThemeManager var body: some View { VStack(alignment: .leading, spacing: 16) { @@ -151,7 +153,7 @@ struct ProblemHeaderCard: View { Text(problem.difficulty.grade) .font(.title) .fontWeight(.bold) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) Text(problem.climbType.displayName) .font(.subheadline) @@ -178,9 +180,9 @@ struct ProblemHeaderCard: View { .padding(.vertical, 4) .background( RoundedRectangle(cornerRadius: 8) - .fill(.blue.opacity(0.1)) + .fill(themeManager.accentColor.opacity(0.1)) ) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } } .padding(.horizontal, 1) @@ -223,6 +225,7 @@ struct ProgressSummaryCard: View { let totalAttempts: Int let successfulAttempts: Int let firstSuccess: (date: Date, result: AttemptResult)? + @EnvironmentObject var themeManager: ThemeManager var body: some View { VStack(alignment: .leading, spacing: 16) { @@ -251,7 +254,7 @@ struct ProgressSummaryCard: View { "\(formatDate(firstSuccess.date)) (\(firstSuccess.result.displayName))" ) .font(.subheadline) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } .padding(.top, 8) } @@ -396,7 +399,8 @@ struct AttemptHistoryCard: View { .padding() .background( RoundedRectangle(cornerRadius: 12) - .fill(.ultraThinMaterial) + .fill(Color(uiColor: .secondarySystemGroupedBackground)) + .shadow(color: .black.opacity(0.05), radius: 2, x: 0, y: 1) ) } diff --git a/ios/Ascently/Views/Detail/SessionDetailView.swift b/ios/Ascently/Views/Detail/SessionDetailView.swift index 383a97f..75f5a83 100644 --- a/ios/Ascently/Views/Detail/SessionDetailView.swift +++ b/ios/Ascently/Views/Detail/SessionDetailView.swift @@ -4,6 +4,7 @@ import SwiftUI struct SessionDetailView: View { let sessionId: UUID @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager @Environment(\.dismiss) private var dismiss @State private var showingDeleteAlert = false @State private var showingAddAttempt = false @@ -35,26 +36,91 @@ struct SessionDetailView: View { } var body: some View { - ScrollView { - LazyVStack(spacing: 20) { - if let session = session, let gym = gym { + List { + if let session = session, let gym = gym { + Section { SessionHeaderCard( session: session, gym: gym, stats: sessionStats) + .listRowInsets(EdgeInsets()) + .listRowBackground(Color.clear) + .listRowSeparator(.hidden) + .padding(.bottom, 8) SessionStatsCard(stats: sessionStats) - - AttemptsSection( - attemptsWithProblems: attemptsWithProblems, - attemptToDelete: $attemptToDelete, - editingAttempt: $editingAttempt) - } else { - Text("Session not found") - .foregroundColor(.secondary) + .listRowInsets(EdgeInsets()) + .listRowBackground(Color.clear) + .listRowSeparator(.hidden) } - } - .padding() - } + Section { + if attemptsWithProblems.isEmpty { + VStack(spacing: 12) { + Image(systemName: "hand.raised.slash") + .font(.title) + .foregroundColor(.secondary) + + Text("No attempts yet") + .font(.headline) + .foregroundColor(.secondary) + + Text("Start attempting problems to see your progress!") + .font(.subheadline) + .foregroundColor(.secondary) + .multilineTextAlignment(.center) + } + .frame(maxWidth: .infinity) + .padding() + .background( + RoundedRectangle(cornerRadius: 16) + .fill(.regularMaterial) + ) + .listRowBackground(Color.clear) + .listRowSeparator(.hidden) + } else { + ForEach(attemptsWithProblems.indices, id: \.self) { index in + let (attempt, problem) = attemptsWithProblems[index] + AttemptCard(attempt: attempt, problem: problem) + .listRowBackground(Color.clear) + .listRowSeparator(.hidden) + .listRowInsets(EdgeInsets(top: 6, leading: 16, bottom: 6, trailing: 16)) + .swipeActions(edge: .trailing, allowsFullSwipe: true) { + Button(role: .destructive) { + let impactFeedback = UIImpactFeedbackGenerator(style: .medium) + impactFeedback.impactOccurred() + attemptToDelete = attempt + } label: { + Label("Delete", systemImage: "trash") + } + .accessibilityLabel("Delete attempt") + + Button { + editingAttempt = attempt + } label: { + Label("Edit", systemImage: "pencil") + } + .tint(themeManager.accentColor) + .accessibilityLabel("Edit attempt") + } + .onTapGesture { + editingAttempt = attempt + } + } + } + } header: { + Text("Attempts (\(attemptsWithProblems.count))") + .font(.title2) + .fontWeight(.bold) + .foregroundColor(.primary) + .textCase(nil) + .padding(.bottom, 8) + .padding(.top, 16) + } + } else { + Text("Session not found") + .foregroundColor(.secondary) + } + } + .listStyle(.plain) .navigationTitle("Session Details") .navigationBarTitleDisplayMode(.inline) .toolbar { @@ -112,9 +178,9 @@ struct SessionDetailView: View { Button(action: { showingAddAttempt = true }) { Image(systemName: "plus") .font(.title2) - .foregroundColor(.white) + .foregroundColor(.white) // Keep white for contrast on colored button .frame(width: 56, height: 56) - .background(Circle().fill(.blue)) + .background(Circle().fill(themeManager.accentColor)) .shadow(radius: 4) } .padding() @@ -162,6 +228,7 @@ struct SessionHeaderCard: View { let session: ClimbSession let gym: Gym let stats: SessionStats + @EnvironmentObject var themeManager: ThemeManager var body: some View { VStack(alignment: .leading, spacing: 16) { @@ -172,7 +239,7 @@ struct SessionHeaderCard: View { Text(formatDate(session.date)) .font(.title2) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) if session.status == .active { if let startTime = session.startTime { @@ -200,12 +267,12 @@ struct SessionHeaderCard: View { // Status indicator HStack { Image(systemName: session.status == .active ? "play.fill" : "checkmark.circle.fill") - .foregroundColor(session.status == .active ? .green : .blue) + .foregroundColor(session.status == .active ? .green : themeManager.accentColor) Text(session.status == .active ? "In Progress" : "Completed") .font(.subheadline) .fontWeight(.medium) - .foregroundColor(session.status == .active ? .green : .blue) + .foregroundColor(session.status == .active ? .green : themeManager.accentColor) Spacer() } @@ -213,7 +280,7 @@ struct SessionHeaderCard: View { .padding(.vertical, 6) .background( RoundedRectangle(cornerRadius: 8) - .fill((session.status == .active ? Color.green : Color.blue).opacity(0.1)) + .fill((session.status == .active ? Color.green : themeManager.accentColor).opacity(0.1)) ) } .padding() @@ -264,13 +331,14 @@ struct SessionStatsCard: View { struct StatItem: View { let label: String let value: String + @EnvironmentObject var themeManager: ThemeManager var body: some View { VStack(spacing: 4) { Text(value) .font(.title2) .fontWeight(.bold) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) Text(label) .font(.caption) @@ -280,85 +348,12 @@ struct StatItem: View { } } -struct AttemptsSection: View { - let attemptsWithProblems: [(Attempt, Problem)] - @Binding var attemptToDelete: Attempt? - @Binding var editingAttempt: Attempt? - @EnvironmentObject var dataManager: ClimbingDataManager - - var body: some View { - VStack(alignment: .leading, spacing: 16) { - Text("Attempts (\(attemptsWithProblems.count))") - .font(.title2) - .fontWeight(.bold) - - if attemptsWithProblems.isEmpty { - VStack(spacing: 12) { - Image(systemName: "hand.raised.slash") - .font(.title) - .foregroundColor(.secondary) - - Text("No attempts yet") - .font(.headline) - .foregroundColor(.secondary) - - Text("Start attempting problems to see your progress!") - .font(.subheadline) - .foregroundColor(.secondary) - .multilineTextAlignment(.center) - } - .frame(maxWidth: .infinity) - .padding() - .background( - RoundedRectangle(cornerRadius: 16) - .fill(.regularMaterial) - ) - } else { - List { - ForEach(attemptsWithProblems.indices, id: \.self) { index in - let (attempt, problem) = attemptsWithProblems[index] - AttemptCard(attempt: attempt, problem: problem) - .listRowBackground(Color.clear) - .listRowSeparator(.hidden) - .listRowInsets(EdgeInsets(top: 6, leading: 0, bottom: 6, trailing: 0)) - .swipeActions(edge: .trailing, allowsFullSwipe: true) { - Button(role: .destructive) { - // Add haptic feedback for delete action - let impactFeedback = UIImpactFeedbackGenerator(style: .medium) - impactFeedback.impactOccurred() - attemptToDelete = attempt - } label: { - Label("Delete", systemImage: "trash") - } - .accessibilityLabel("Delete attempt") - .accessibilityHint("Removes this attempt from the session") - - Button { - editingAttempt = attempt - } label: { - Label("Edit", systemImage: "pencil") - } - .tint(.blue) - .accessibilityLabel("Edit attempt") - .accessibilityHint("Modify the details of this attempt") - } - .onTapGesture { - editingAttempt = attempt - } - } - } - .listStyle(.plain) - .scrollDisabled(true) - .frame(height: CGFloat(attemptsWithProblems.count) * 120) - } - } - - } -} +// AttemptsSection removed as it is now integrated into the main List struct AttemptCard: View { let attempt: Attempt let problem: Problem + @EnvironmentObject var themeManager: ThemeManager var body: some View { VStack(alignment: .leading, spacing: 12) { @@ -370,7 +365,7 @@ struct AttemptCard: View { Text("\(problem.difficulty.system.displayName): \(problem.difficulty.grade)") .font(.subheadline) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) if let location = problem.location { Text(location) @@ -399,9 +394,11 @@ struct AttemptCard: View { } } .padding() - .background(.regularMaterial) - .cornerRadius(12) - .shadow(radius: 2) + .background( + RoundedRectangle(cornerRadius: 12) + .fill(Color(uiColor: .secondarySystemGroupedBackground)) // Better contrast in light mode + .shadow(color: .black.opacity(0.05), radius: 2, x: 0, y: 1) + ) } } diff --git a/ios/Ascently/Views/GymsView.swift b/ios/Ascently/Views/GymsView.swift index 3c4d72e..4e22e33 100644 --- a/ios/Ascently/Views/GymsView.swift +++ b/ios/Ascently/Views/GymsView.swift @@ -2,6 +2,7 @@ import SwiftUI struct GymsView: View { @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager @State private var showingAddGym = false var body: some View { @@ -19,7 +20,7 @@ struct GymsView: View { if dataManager.isSyncing { HStack(spacing: 2) { ProgressView() - .progressViewStyle(CircularProgressViewStyle(tint: .blue)) + .progressViewStyle(CircularProgressViewStyle(tint: themeManager.accentColor)) .scaleEffect(0.6) } .padding(.horizontal, 6) @@ -48,6 +49,7 @@ struct GymsView: View { struct GymsList: View { @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager @State private var gymToDelete: Gym? @State private var gymToEdit: Gym? @@ -71,7 +73,7 @@ struct GymsList: View { Text("Edit") } } - .tint(.blue) + .tint(themeManager.accentColor) } } .alert("Delete Gym", isPresented: .constant(gymToDelete != nil)) { @@ -98,6 +100,7 @@ struct GymsList: View { struct GymRow: View { let gym: Gym @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager private var problemCount: Int { dataManager.problems(forGym: gym.id).count @@ -133,9 +136,9 @@ struct GymRow: View { .padding(.vertical, 4) .background( RoundedRectangle(cornerRadius: 8) - .fill(.blue.opacity(0.1)) + .fill(themeManager.accentColor.opacity(0.1)) ) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } } } diff --git a/ios/Ascently/Views/ProblemsView.swift b/ios/Ascently/Views/ProblemsView.swift index a36e3c7..a73bb06 100644 --- a/ios/Ascently/Views/ProblemsView.swift +++ b/ios/Ascently/Views/ProblemsView.swift @@ -2,6 +2,7 @@ import SwiftUI struct ProblemsView: View { @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager @State private var showingAddProblem = false @State private var selectedClimbType: ClimbType? @State private var selectedGym: Gym? @@ -134,7 +135,7 @@ struct ProblemsView: View { if dataManager.isSyncing { HStack(spacing: 2) { ProgressView() - .progressViewStyle(CircularProgressViewStyle(tint: .blue)) + .progressViewStyle(CircularProgressViewStyle(tint: themeManager.accentColor)) .scaleEffect(0.6) } .padding(.horizontal, 6) @@ -162,7 +163,7 @@ struct ProblemsView: View { }) { Image(systemName: showingSearch ? "xmark.circle.fill" : "magnifyingglass") .font(.system(size: 16, weight: .medium)) - .foregroundColor(showingSearch ? .secondary : .blue) + .foregroundColor(showingSearch ? .secondary : themeManager.accentColor) } if !dataManager.gyms.isEmpty { @@ -196,6 +197,7 @@ struct ProblemsView: View { struct FilterSection: View { @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager @Binding var selectedClimbType: ClimbType? @Binding var selectedGym: Gym? let filteredProblems: [Problem] @@ -278,6 +280,7 @@ struct FilterChip: View { let title: String let isSelected: Bool let action: () -> Void + @EnvironmentObject var themeManager: ThemeManager var body: some View { Button(action: action) { @@ -288,10 +291,10 @@ struct FilterChip: View { .padding(.vertical, 6) .background( RoundedRectangle(cornerRadius: 16) - .fill(isSelected ? .blue : .clear) - .stroke(.blue, lineWidth: 1) + .fill(isSelected ? themeManager.accentColor : .clear) + .stroke(themeManager.accentColor, lineWidth: 1) ) - .foregroundColor(isSelected ? .white : .blue) + .foregroundColor(isSelected ? themeManager.contrastingTextColor : themeManager.accentColor) } .buttonStyle(.plain) } @@ -300,6 +303,7 @@ struct FilterChip: View { struct ProblemsList: View { let problems: [Problem] @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager @State private var problemToDelete: Problem? @State private var problemToEdit: Problem? @State private var animationKey = 0 @@ -337,7 +341,7 @@ struct ProblemsList: View { Text("Edit") } } - .tint(.blue) + .tint(themeManager.accentColor) } } .animation( @@ -375,6 +379,7 @@ struct ProblemsList: View { struct ProblemRow: View { let problem: Problem @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager private var gym: Gym? { dataManager.gym(withId: problem.gymId) @@ -407,7 +412,7 @@ struct ProblemRow: View { if !problem.imagePaths.isEmpty { Image(systemName: "photo") .font(.system(size: 14, weight: .medium)) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } if isCompleted { @@ -419,7 +424,7 @@ struct ProblemRow: View { Text(problem.difficulty.grade) .font(.title2) .fontWeight(.bold) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } Text(problem.climbType.displayName) @@ -444,9 +449,9 @@ struct ProblemRow: View { .padding(.vertical, 2) .background( RoundedRectangle(cornerRadius: 4) - .fill(.blue.opacity(0.1)) + .fill(themeManager.accentColor.opacity(0.1)) ) - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) } } } diff --git a/ios/Ascently/Views/SettingsView.swift b/ios/Ascently/Views/SettingsView.swift index 6ec5e76..e32f91a 100644 --- a/ios/Ascently/Views/SettingsView.swift +++ b/ios/Ascently/Views/SettingsView.swift @@ -9,6 +9,7 @@ enum SheetType { struct SettingsView: View { @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager @State private var activeSheet: SheetType? var body: some View { @@ -20,6 +21,8 @@ struct SettingsView: View { HealthKitSection() .environmentObject(dataManager.healthKitService) + AppearanceSection() + DataManagementSection( activeSheet: $activeSheet ) @@ -75,8 +78,90 @@ extension SheetType: Identifiable { } } +struct AppearanceSection: View { + @EnvironmentObject var themeManager: ThemeManager + + let columns = [ + GridItem(.adaptive(minimum: 44)) + ] + + var body: some View { + Section("Appearance") { + VStack(alignment: .leading, spacing: 12) { + Text("Accent Color") + .font(.caption) + .foregroundColor(.secondary) + .textCase(.uppercase) + + LazyVGrid(columns: columns, spacing: 12) { + ForEach(ThemeManager.presetColors, id: \.self) { color in + Circle() + .fill(color) + .frame(width: 44, height: 44) + .overlay( + ZStack { + if isSelected(color) { + Image(systemName: "checkmark") + .font(.headline) + .foregroundColor(.white) + .shadow(radius: 1) + } + } + ) + .onTapGesture { + withAnimation { + themeManager.accentColor = color + } + } + .accessibilityLabel(colorDescription(for: color)) + .accessibilityAddTraits(isSelected(color) ? .isSelected : []) + } + } + .padding(.vertical, 8) + } + + if !isSelected(.blue) { + Button("Reset to Default") { + withAnimation { + themeManager.resetToDefault() + } + } + .foregroundColor(.red) + } + } + } + + private func isSelected(_ color: Color) -> Bool { + // Compare using UIColor to handle different Color initializers + let selectedUIColor = UIColor(themeManager.accentColor) + let targetUIColor = UIColor(color) + + // Simple equality check might fail for some system colors, so we check components if needed + // But usually UIColor equality is robust enough for system colors + return selectedUIColor == targetUIColor + } + + private func colorDescription(for color: Color) -> String { + switch color { + case .blue: return "Blue" + case .purple: return "Purple" + case .pink: return "Pink" + case .red: return "Red" + case .orange: return "Orange" + case .green: return "Green" + case .teal: return "Teal" + case .indigo: return "Indigo" + case .mint: return "Mint" + case Color(uiColor: .systemBrown): return "Brown" + case Color(uiColor: .systemCyan): return "Cyan" + default: return "Color" + } + } +} + struct DataManagementSection: View { @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager @Binding var activeSheet: SheetType? @State private var showingResetAlert = false @State private var isExporting = false @@ -100,7 +185,7 @@ struct DataManagementSection: View { .foregroundColor(.secondary) } else { Image(systemName: "square.and.arrow.up") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) Text("Export Data") } Spacer() @@ -253,6 +338,7 @@ struct DataManagementSection: View { } struct AppInfoSection: View { + @EnvironmentObject var themeManager: ThemeManager private var appVersion: String { Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "Unknown" } @@ -265,7 +351,7 @@ struct AppInfoSection: View { Section("App Information") { HStack { Image(systemName: "info.circle") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) Text("Version") Spacer() Text("\(appVersion) (\(buildNumber))") @@ -278,6 +364,7 @@ struct AppInfoSection: View { struct ExportDataView: View { let data: Data @Environment(\.dismiss) private var dismiss + @EnvironmentObject var themeManager: ThemeManager @State private var tempFileURL: URL? @State private var isCreatingFile = true @@ -291,7 +378,7 @@ struct ExportDataView: View { VStack(spacing: 20) { ProgressView() .scaleEffect(1.5) - .tint(.blue) + .tint(themeManager.accentColor) Text("Preparing Your Export") .font(.title2) @@ -330,12 +417,12 @@ struct ExportDataView: View { ) { Label("Share Data", systemImage: "square.and.arrow.up") .font(.headline) - .foregroundColor(.white) + .foregroundColor(themeManager.contrastingTextColor) .frame(maxWidth: .infinity) .padding() .background( RoundedRectangle(cornerRadius: 12) - .fill(.blue) + .fill(themeManager.accentColor) ) } .padding(.horizontal) @@ -430,6 +517,7 @@ struct ExportDataView: View { struct SyncSection: View { @EnvironmentObject var syncService: SyncService @EnvironmentObject var dataManager: ClimbingDataManager + @EnvironmentObject var themeManager: ThemeManager @State private var showingSyncSettings = false @State private var showingDisconnectAlert = false @@ -475,7 +563,7 @@ struct SyncSection: View { }) { HStack { Image(systemName: "gear") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) Text("Configure Server") Spacer() Image(systemName: "chevron.right") @@ -594,6 +682,7 @@ struct SyncSection: View { struct SyncSettingsView: View { @EnvironmentObject var syncService: SyncService + @EnvironmentObject var themeManager: ThemeManager @Environment(\.dismiss) private var dismiss @State private var serverURL: String = "" @State private var authToken: String = "" @@ -644,7 +733,7 @@ struct SyncSettingsView: View { .foregroundColor(.secondary) } else { Image(systemName: "network") - .foregroundColor(.blue) + .foregroundColor(themeManager.accentColor) Text("Test Connection") Spacer() if syncService.isConnected {