Redesign Day view with switchable voting layouts and modern styling

- Add 4 voting layout styles: horizontal, cards, radial, stacked
- Add color-filled backgrounds to mood entries (tinted by mood color)
- Add sticky month headers with blur material effect
- Add voting layout picker to Customize tab
- Add haptic feedback on mood selection
- Improve typography and spacing throughout

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Trey t
2025-12-09 23:44:28 -06:00
parent f2565678be
commit f7ac2085b8
6 changed files with 426 additions and 105 deletions

View File

@@ -7,6 +7,22 @@
import Foundation
enum VotingLayoutStyle: Int, CaseIterable {
case horizontal = 0 // Current: 5 buttons in a row
case cards = 1 // Larger tappable cards with labels
case radial = 2 // Semi-circle/wheel arrangement
case stacked = 3 // Full-width vertical list
var displayName: String {
switch self {
case .horizontal: return "Horizontal"
case .cards: return "Cards"
case .radial: return "Radial"
case .stacked: return "Stacked"
}
}
}
class UserDefaultsStore {
enum Keys: String {
case savedOnboardingData
@@ -28,6 +44,7 @@ class UserDefaultsStore {
case firstLaunchDate
case hasActiveSubscription
case lastVotedDate
case votingLayoutStyle
case contentViewCurrentSelectedHeaderViewBackDays
case contentViewHeaderTag