polish: depth, contrast, and layering refinements
All checks were successful
Security Checks / secret-scanning (push) Successful in 4s
Security Checks / dockerfile-lint (push) Successful in 4s
Security Checks / dependency-audit (push) Successful in 13s

1. Background — reduced warmth, more neutral:
   Dark:  #0e0d0b → #0d0d0b (less warm, more true black)
   Light: #EDE6DA → #EBE6DE (cooler sand, less yellow)

2. Cards — increased elevation:
   Shadow: 0.04/6/2 → 0.08/8/3 (more visible lift)
   Spacing: 12pt → 14pt between cards, 4pt → 8pt top padding

3. Text — more neutral for glass legibility:
   Primary light: 0.12 → 0.10 (darker)
   Secondary: warmer gray → neutral gray (0.40 uniform)
   Tertiary: warmer → neutral (0.58 uniform)

4. Accent — slightly deeper in light mode:
   #8B6914 → #805E0F (more contrast against glass)

5. Dark mode accent — slightly brighter:
   0.78/0.62/0.25 → 0.82/0.65/0.28

All changes are color/shadow/spacing only. No layout or
architectural changes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Yusuf Suleman
2026-04-04 10:54:32 -05:00
parent f4b527e70b
commit c13259c2b5
2 changed files with 18 additions and 18 deletions

View File

@@ -164,7 +164,7 @@ struct EntryListView: View {
// MARK: - Card Layout // MARK: - Card Layout
private var cardLayout: some View { private var cardLayout: some View {
LazyVStack(spacing: 12) { LazyVStack(spacing: 14) {
ForEach(vm.entries) { entry in ForEach(vm.entries) { entry in
scrollTracked(entry, scrollTracked(entry,
content: NavigationLink(value: entry) { content: NavigationLink(value: entry) {
@@ -183,7 +183,7 @@ struct EntryListView: View {
Spacer(minLength: 80) Spacer(minLength: 80)
} }
.padding(.horizontal) .padding(.horizontal)
.padding(.top, 4) .padding(.top, 8)
} }
// MARK: - List Layout // MARK: - List Layout
@@ -304,7 +304,7 @@ struct EntryCardView: View {
} }
.background(Color.surfaceCard) .background(Color.surfaceCard)
.clipShape(RoundedRectangle(cornerRadius: 14)) .clipShape(RoundedRectangle(cornerRadius: 14))
.shadow(color: .black.opacity(0.04), radius: 6, y: 2) .shadow(color: .black.opacity(0.08), radius: 8, y: 3)
} }
} }

View File

@@ -4,45 +4,45 @@ extension Color {
// MARK: - Canvas / Background (adaptive light/dark) // MARK: - Canvas / Background (adaptive light/dark)
static let canvas = Color(UIColor { traits in static let canvas = Color(UIColor { traits in
traits.userInterfaceStyle == .dark traits.userInterfaceStyle == .dark
? UIColor(red: 0.055, green: 0.05, blue: 0.04, alpha: 1) // #0e0d0b deep warm black ? UIColor(red: 0.05, green: 0.05, blue: 0.045, alpha: 1) // #0d0d0b near-black, less warm
: UIColor(red: 0.93, green: 0.90, blue: 0.855, alpha: 1) // #EDE6DA warm sand : UIColor(red: 0.92, green: 0.90, blue: 0.87, alpha: 1) // #EBE6DE neutral sand
}) })
// MARK: - Accent // MARK: - Accent
static let accentWarm = Color(UIColor { traits in static let accentWarm = Color(UIColor { traits in
traits.userInterfaceStyle == .dark traits.userInterfaceStyle == .dark
? UIColor(red: 0.78, green: 0.62, blue: 0.25, alpha: 1) // brighter gold for dark ? UIColor(red: 0.82, green: 0.65, blue: 0.28, alpha: 1) // brighter gold for dark
: UIColor(red: 0.545, green: 0.412, blue: 0.078, alpha: 1) // #8B6914 : UIColor(red: 0.50, green: 0.37, blue: 0.06, alpha: 1) // #805E0F slightly deeper
}) })
static let emerald = Color(red: 0.020, green: 0.588, blue: 0.412) // #059669 static let emerald = Color(red: 0.020, green: 0.588, blue: 0.412) // #059669
// MARK: - Surfaces (adaptive) // MARK: - Surfaces (adaptive)
static let surfaceCard = Color(UIColor { traits in static let surfaceCard = Color(UIColor { traits in
traits.userInterfaceStyle == .dark traits.userInterfaceStyle == .dark
? UIColor(red: 0.12, green: 0.11, blue: 0.09, alpha: 1) // #1e1b17 warm dark card ? UIColor(red: 0.11, green: 0.105, blue: 0.09, alpha: 1) // #1c1b17 warm dark card
: UIColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1) // #FFFFFF clean white : UIColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1) // #FFFFFF clean white
}) })
static let surfaceSheet = Color(UIColor { traits in static let surfaceSheet = Color(UIColor { traits in
traits.userInterfaceStyle == .dark traits.userInterfaceStyle == .dark
? UIColor(red: 0.13, green: 0.12, blue: 0.11, alpha: 1) ? UIColor(red: 0.12, green: 0.115, blue: 0.10, alpha: 1)
: UIColor(red: 0.98, green: 0.97, blue: 0.95, alpha: 1) : UIColor(red: 0.97, green: 0.96, blue: 0.94, alpha: 1)
}) })
// MARK: - Text (adaptive) // MARK: - Text (adaptive slightly more neutral for glass legibility)
static let textPrimary = Color(UIColor { traits in static let textPrimary = Color(UIColor { traits in
traits.userInterfaceStyle == .dark traits.userInterfaceStyle == .dark
? UIColor(red: 0.93, green: 0.91, blue: 0.88, alpha: 1) ? UIColor(red: 0.94, green: 0.92, blue: 0.90, alpha: 1)
: UIColor(red: 0.12, green: 0.12, blue: 0.12, alpha: 1) : UIColor(red: 0.10, green: 0.10, blue: 0.10, alpha: 1) // darker for contrast
}) })
static let textSecondary = Color(UIColor { traits in static let textSecondary = Color(UIColor { traits in
traits.userInterfaceStyle == .dark traits.userInterfaceStyle == .dark
? UIColor(red: 0.62, green: 0.60, blue: 0.57, alpha: 1) ? UIColor(red: 0.60, green: 0.58, blue: 0.55, alpha: 1)
: UIColor(red: 0.45, green: 0.45, blue: 0.45, alpha: 1) : UIColor(red: 0.40, green: 0.40, blue: 0.40, alpha: 1) // more neutral gray
}) })
static let textTertiary = Color(UIColor { traits in static let textTertiary = Color(UIColor { traits in
traits.userInterfaceStyle == .dark traits.userInterfaceStyle == .dark
? UIColor(red: 0.45, green: 0.43, blue: 0.40, alpha: 1) ? UIColor(red: 0.43, green: 0.42, blue: 0.40, alpha: 1)
: UIColor(red: 0.65, green: 0.65, blue: 0.65, alpha: 1) : UIColor(red: 0.58, green: 0.58, blue: 0.58, alpha: 1) // more neutral
}) })
// MARK: - Meal Colors // MARK: - Meal Colors