From 1ea39654929a023f2d6188115305eaa64dfbfb4b Mon Sep 17 00:00:00 2001 From: saravanakumardb1 Date: Sat, 4 Apr 2026 23:11:58 -0700 Subject: [PATCH] fix(ios): remove duplicate theme enums + add ExportOptions.plist for TestFlight - Remove duplicate CMColors, CMSpacing, CMRadius, Color.init(hex:) from generated theme file - Keep canonical versions in ChronoMindTheme.swift - Add ExportOptions.plist for app-store-connect export --- ios/ChronoMind.xcodeproj/project.pbxproj | 4 ++ .../Theme/ChronoMindTheme.generated.swift | 66 ------------------- ios/ExportOptions.plist | 20 ++++++ 3 files changed, 24 insertions(+), 66 deletions(-) create mode 100644 ios/ExportOptions.plist diff --git a/ios/ChronoMind.xcodeproj/project.pbxproj b/ios/ChronoMind.xcodeproj/project.pbxproj index 48b3534..9e72d07 100644 --- a/ios/ChronoMind.xcodeproj/project.pbxproj +++ b/ios/ChronoMind.xcodeproj/project.pbxproj @@ -20,6 +20,7 @@ 1598963EE482A49A6BE6C1A1 /* Cascade.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE44586214BA0A4BEDA939F7 /* Cascade.swift */; }; 17CA849355B8B364E1229D72 /* ContextMessages.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3A5D547D31EEFB16F3491EA /* ContextMessages.swift */; }; 1913421FC27656C4473DDDEB /* AuthService.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5308F55D3240A2F6EBC1BEC /* AuthService.swift */; }; + 1959322F7D25EF03F1163054 /* ChronoMindTheme.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 774A9D8FF9E11036B1D590C3 /* ChronoMindTheme.generated.swift */; }; 1AD293C99C71465710A4A7DC /* Routines.swift in Sources */ = {isa = PBXBuildFile; fileRef = 880334677DB319D5189434D0 /* Routines.swift */; }; 1C01BE509BB39FFFF0937808 /* RoutineRunnerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B769E9E88032FB471820D110 /* RoutineRunnerView.swift */; }; 1D1DFA5585694A7BE76109E4 /* TimerEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93579D521BE5D6682B129A5C /* TimerEngine.swift */; }; @@ -255,6 +256,7 @@ 729007CC41B12C35B3D20407 /* MenuBarState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuBarState.swift; sourceTree = ""; }; 730C55779117D49CEDBCB3AB /* DataExportManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataExportManager.swift; sourceTree = ""; }; 7432A413C92A24E3C937A766 /* TimerListWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimerListWidget.swift; sourceTree = ""; }; + 774A9D8FF9E11036B1D590C3 /* ChronoMindTheme.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChronoMindTheme.generated.swift; sourceTree = ""; }; 84C298B338633A7D75102171 /* SharedTimerData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SharedTimerData.swift; sourceTree = ""; }; 8775EEA5055E7416149B8384 /* Urgency.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Urgency.swift; sourceTree = ""; }; 880334677DB319D5189434D0 /* Routines.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Routines.swift; sourceTree = ""; }; @@ -427,6 +429,7 @@ 468A5761EC0508501FAF2294 /* Theme */ = { isa = PBXGroup; children = ( + 774A9D8FF9E11036B1D590C3 /* ChronoMindTheme.generated.swift */, 0BAF2993B0DDD3D4334378B4 /* ChronoMindTheme.swift */, ); path = Theme; @@ -974,6 +977,7 @@ CB7642D0D833F6D45B532AF6 /* Cascade.swift in Sources */, EC0CEB1B4418DCD090CD431B /* CascadeProgressBar.swift in Sources */, 9CE528A21B258A6554DA8A46 /* ChronoMindApp.swift in Sources */, + 1959322F7D25EF03F1163054 /* ChronoMindTheme.generated.swift in Sources */, C81D5D94A6F8E29C82EDD923 /* ChronoMindTheme.swift in Sources */, D121718DF1490A6DE9B51ACB /* CloudKitSyncManager.swift in Sources */, 437AFD9D5CD147B716D1E8C4 /* ConfettiView.swift in Sources */, diff --git a/ios/ChronoMind/Shared/Theme/ChronoMindTheme.generated.swift b/ios/ChronoMind/Shared/Theme/ChronoMindTheme.generated.swift index 8b4c085..0808b54 100644 --- a/ios/ChronoMind/Shared/Theme/ChronoMindTheme.generated.swift +++ b/ios/ChronoMind/Shared/Theme/ChronoMindTheme.generated.swift @@ -4,35 +4,6 @@ import SwiftUI -enum CMColors { - // MARK: - Semantic (Dark Theme) - static let bgCanvas = Color(hex: 0x06070A) - static let bgElevated = Color(hex: 0x0E1118) - static let surfaceCard = Color(hex: 0x121725) - static let surfaceMuted = Color(hex: 0x1A2335) - static let textPrimary = Color(hex: 0xEFF4FF) - static let textSecondary = Color(hex: 0xA5B1C7) - static let textTertiary = Color(hex: 0x6C7C98) - static let accentPrimary = Color(hex: 0x5A8CFF) - static let accentSecondary = Color(hex: 0x2EE6D6) - static let success = Color(hex: 0x34D399) - static let warning = Color(hex: 0xF59E0B) - static let danger = Color(hex: 0xFF6E6E) - - // MARK: - Chronomind Product Colors - static let urgencyCritical = Color(hex: 0xFF6E6E) - static let urgencyImportant = Color(hex: 0xFFD166) - static let urgencyStandard = Color(hex: 0x5A8CFF) - static let urgencyGentle = Color(hex: 0x34D399) - static let urgencyPassive = Color(hex: 0xA5B1C7) - static let focusMode = Color(hex: 0x7C6BFF) - static let pomodoroWork = Color(hex: 0x34D399) - static let pomodoroBreak = Color(hex: 0x5A8CFF) - static let cascadeWarning = Color(hex: 0xFF9F43) - static let timerComplete = Color(hex: 0x34D399) - -} - enum CMColorsLight { // MARK: - Semantic (Light Theme) static let bgCanvas = Color(hex: 0xF6F8FC) @@ -49,30 +20,6 @@ enum CMColorsLight { static let danger = Color(hex: 0xD24242) } -enum CMSpacing { - static let x0: CGFloat = 0 - static let x1: CGFloat = 4 - static let x2: CGFloat = 8 - static let x3: CGFloat = 12 - static let x4: CGFloat = 16 - static let x5: CGFloat = 20 - static let x6: CGFloat = 24 - static let x7: CGFloat = 28 - static let x8: CGFloat = 32 - static let x10: CGFloat = 40 - static let x12: CGFloat = 48 - static let x16: CGFloat = 64 -} - -enum CMRadius { - static let xs: CGFloat = 8 - static let sm: CGFloat = 12 - static let md: CGFloat = 16 - static let lg: CGFloat = 20 - static let xl: CGFloat = 24 - static let pill: CGFloat = 999 -} - enum CMMotion { static let instant: Double = 0.07 static let fast: Double = 0.14 @@ -80,16 +27,3 @@ enum CMMotion { static let slow: Double = 0.32 } -// MARK: - Color Hex Extension (import if not already defined) - -extension Color { - init(hex: UInt, alpha: Double = 1.0) { - self.init( - .sRGB, - red: Double((hex >> 16) & 0xFF) / 255.0, - green: Double((hex >> 8) & 0xFF) / 255.0, - blue: Double(hex & 0xFF) / 255.0, - opacity: alpha - ) - } -} diff --git a/ios/ExportOptions.plist b/ios/ExportOptions.plist new file mode 100644 index 0000000..ba71200 --- /dev/null +++ b/ios/ExportOptions.plist @@ -0,0 +1,20 @@ + + + + + method + app-store-connect + + teamID + 748N7QPX7J + + destination + upload + + signingStyle + automatic + + uploadSymbols + + +