Fix theme selection bug and update onboarding with AppTheme picker
- Change Theme enum from Int to String raw values to fix theme selection bug - Replace OnboardingStyle icon/color pickers with unified AppTheme grid - Remove visible text labels from voting layouts while keeping accessibility labels (WCAG 2.1 AA compliant) - Update widget voting views to use icons only with proper accessibility support - Consolidate app icons to single unified icon set 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -11,12 +11,23 @@ struct ThemeConstants {
|
||||
static let iconSize: CGFloat = 50
|
||||
}
|
||||
|
||||
enum Theme: Int, CaseIterable {
|
||||
case system
|
||||
case iFeel
|
||||
case dark
|
||||
case light
|
||||
|
||||
enum Theme: String, CaseIterable {
|
||||
case system = "system"
|
||||
case iFeel = "iFeel"
|
||||
case dark = "dark"
|
||||
case light = "light"
|
||||
|
||||
// Legacy Int-based init for backwards compatibility with existing UserDefaults data
|
||||
init?(legacyIntValue: Int) {
|
||||
switch legacyIntValue {
|
||||
case 0: self = .system
|
||||
case 1: self = .iFeel
|
||||
case 2: self = .dark
|
||||
case 3: self = .light
|
||||
default: return nil
|
||||
}
|
||||
}
|
||||
|
||||
var title: String {
|
||||
switch self {
|
||||
case .system:
|
||||
|
||||
Reference in New Issue
Block a user