v1.1 polish: accessibility, error logging, localization, and code quality sweep
- Wrap 30+ production print() statements in #if DEBUG guards across 18 files - Add VoiceOver labels, hints, and traits to Watch app, Live Activities, widgets - Add .accessibilityAddTraits(.isButton) to 15+ onTapGesture views - Add text alternatives for color-only indicators (progress dots, mood circles) - Localize raw string literals in NoteEditorView, EntryDetailView, widgets - Replace 25+ silent try? with do/catch + AppLogger error logging - Replace hardcoded font sizes with semantic Dynamic Type fonts - Fix FIXME in IconPickerView (log icon change errors) - Extract magic animation delays to named constants across 8 files - Add widget empty state "Log your first mood!" messaging - Hide decorative images from VoiceOver, add labels to ColorPickers - Remove stale TODO in Color+Codable (alpha change deferred for migration) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -58,8 +58,8 @@ struct VotingView: View {
|
||||
VStack(spacing: 0) {
|
||||
// Top 50%: Text left-aligned, vertically centered
|
||||
HStack {
|
||||
Text(hasSubscription ? promptText : "Subscribe to track your mood")
|
||||
.font(.system(size: 20, weight: .semibold))
|
||||
Text(hasSubscription ? promptText : String(localized: "Subscribe to track your mood"))
|
||||
.font(.title3.weight(.semibold))
|
||||
.foregroundStyle(.primary)
|
||||
.multilineTextAlignment(.leading)
|
||||
.lineLimit(2)
|
||||
@@ -159,8 +159,8 @@ struct LargeVotingView: View {
|
||||
GeometryReader { geo in
|
||||
VStack(spacing: 0) {
|
||||
// Top 33%: Title centered
|
||||
Text(hasSubscription ? promptText : "Subscribe to track your mood")
|
||||
.font(.system(size: 24, weight: .semibold))
|
||||
Text(hasSubscription ? promptText : String(localized: "Subscribe to track your mood"))
|
||||
.font(.title2.weight(.semibold))
|
||||
.foregroundStyle(.primary)
|
||||
.multilineTextAlignment(.center)
|
||||
.lineLimit(2)
|
||||
|
||||
Reference in New Issue
Block a user