From 37fdb4db29ce4053c9f996e4b4cecc11c5aca6d8 Mon Sep 17 00:00:00 2001 From: Trey t Date: Wed, 31 Dec 2025 13:39:25 -0600 Subject: [PATCH] Fix small widget layout and settings light mode contrast MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove prompt text from small widget before voting - Show date instead of "Logged!" after voting on small widget - Fix light mode settings: section=gray, inner rows=white for contrast - Remove redundant backgrounds from Browse Themes and subscription banner 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- FeelsWidget2/FeelsVoteWidget.swift | 4 ++-- FeelsWidget2/WidgetSharedViews.swift | 19 +++++-------------- .../Views/CustomizeView/CustomizeView.swift | 18 ++++++------------ 3 files changed, 13 insertions(+), 28 deletions(-) diff --git a/FeelsWidget2/FeelsVoteWidget.swift b/FeelsWidget2/FeelsVoteWidget.swift index 1301d8d..93e5340 100644 --- a/FeelsWidget2/FeelsVoteWidget.swift +++ b/FeelsWidget2/FeelsVoteWidget.swift @@ -83,7 +83,7 @@ struct VotedStatsView: View { } } - // MARK: - Small: Centered mood with checkmark + // MARK: - Small: Centered mood with checkmark and date private var smallLayout: some View { VStack(spacing: 8) { if let mood = entry.todaysMood { @@ -105,7 +105,7 @@ struct VotedStatsView: View { .accessibilityElement(children: .combine) .accessibilityLabel(String(localized: "Mood logged: \(mood.strValue)")) - Text("Logged!") + Text(votingDateString) .font(.caption.weight(.semibold)) .foregroundStyle(.secondary) diff --git a/FeelsWidget2/WidgetSharedViews.swift b/FeelsWidget2/WidgetSharedViews.swift index 186b519..fbb5798 100644 --- a/FeelsWidget2/WidgetSharedViews.swift +++ b/FeelsWidget2/WidgetSharedViews.swift @@ -32,34 +32,25 @@ struct VotingView: View { } } - // MARK: - Small Widget: 3 over 2 grid + // MARK: - Small Widget: 3 over 2 grid (no text - just mood buttons) private var smallLayout: some View { - VStack(spacing: 0) { - Text(hasSubscription ? promptText : "Tap to open app") - .font(.caption) - .foregroundStyle(.primary) - .multilineTextAlignment(.center) - .lineLimit(1) - .minimumScaleFactor(0.7) - .padding(.bottom, 10) - + VStack(spacing: 8) { // Top row: Great, Good, Average HStack(spacing: 12) { ForEach([Mood.great, .good, .average], id: \.rawValue) { mood in - moodButton(for: mood, size: 36) + moodButton(for: mood, size: 40) } } - .padding(.bottom, 6) // Bottom row: Bad, Horrible HStack(spacing: 12) { ForEach([Mood.bad, .horrible], id: \.rawValue) { mood in - moodButton(for: mood, size: 36) + moodButton(for: mood, size: 40) } } } .padding(.horizontal, 8) - .padding(.vertical, 4) + .padding(.vertical, 8) } // MARK: - Medium Widget: Single row diff --git a/Shared/Views/CustomizeView/CustomizeView.swift b/Shared/Views/CustomizeView/CustomizeView.swift index efa44b5..6ff8bde 100644 --- a/Shared/Views/CustomizeView/CustomizeView.swift +++ b/Shared/Views/CustomizeView/CustomizeView.swift @@ -54,8 +54,6 @@ struct CustomizeContentView: View { .foregroundColor(.secondary) } .padding(12) - .background(colorScheme == .dark ? Color(.systemGray6) : .white) - .clipShape(RoundedRectangle(cornerRadius: 16)) } .buttonStyle(.plain) } @@ -231,7 +229,7 @@ struct SettingsSection: View { .padding(16) .background( RoundedRectangle(cornerRadius: 16) - .fill(colorScheme == .dark ? Color(.systemGray6) : .white) + .fill(Color(.systemGray6)) ) } } @@ -339,7 +337,7 @@ struct ImagePackPickerCompact: View { RoundedRectangle(cornerRadius: 12) .fill(imagePack == images ? Color.accentColor.opacity(0.08) - : (colorScheme == .dark ? Color(.systemGray5) : Color(.systemGray6))) + : (colorScheme == .dark ? Color(.systemGray5) : .white)) ) } .buttonStyle(.plain) @@ -387,7 +385,7 @@ struct VotingLayoutPickerCompact: View { RoundedRectangle(cornerRadius: 12) .fill(currentLayout == layout ? Color.accentColor.opacity(0.1) - : (colorScheme == .dark ? Color(.systemGray5) : Color(.systemGray6))) + : (colorScheme == .dark ? Color(.systemGray5) : .white)) ) } .buttonStyle(.plain) @@ -607,7 +605,7 @@ struct PersonalityPackPickerCompact: View { RoundedRectangle(cornerRadius: 12) .fill(personalityPack == aPack ? Color.accentColor.opacity(0.08) - : (colorScheme == .dark ? Color(.systemGray5) : Color(.systemGray6))) + : (colorScheme == .dark ? Color(.systemGray5) : .white)) ) } .buttonStyle(.plain) @@ -667,7 +665,7 @@ struct DayFilterPickerCompact: View { .frame(height: 40) .background( RoundedRectangle(cornerRadius: 10) - .fill(isActive ? Color.accentColor : (colorScheme == .dark ? Color(.systemGray5) : Color(.systemGray6))) + .fill(isActive ? Color.accentColor : (colorScheme == .dark ? Color(.systemGray5) : .white)) ) } .buttonStyle(.plain) @@ -725,10 +723,6 @@ struct SubscriptionBannerView: View { .background(Capsule().fill(Color.green.opacity(0.15))) } .padding(16) - .background( - RoundedRectangle(cornerRadius: 16) - .fill(colorScheme == .dark ? Color(.systemGray6) : .white) - ) } private var notSubscribedView: some View { @@ -821,7 +815,7 @@ struct DayViewStylePickerCompact: View { RoundedRectangle(cornerRadius: 12) .fill(dayViewStyle == style ? Color.accentColor.opacity(0.1) - : (colorScheme == .dark ? Color(.systemGray5) : Color(.systemGray6))) + : (colorScheme == .dark ? Color(.systemGray5) : .white)) ) } .buttonStyle(.plain)