polish: depth, contrast, and layering refinements
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:
@@ -164,7 +164,7 @@ struct EntryListView: View {
|
||||
// MARK: - Card Layout
|
||||
|
||||
private var cardLayout: some View {
|
||||
LazyVStack(spacing: 12) {
|
||||
LazyVStack(spacing: 14) {
|
||||
ForEach(vm.entries) { entry in
|
||||
scrollTracked(entry,
|
||||
content: NavigationLink(value: entry) {
|
||||
@@ -183,7 +183,7 @@ struct EntryListView: View {
|
||||
Spacer(minLength: 80)
|
||||
}
|
||||
.padding(.horizontal)
|
||||
.padding(.top, 4)
|
||||
.padding(.top, 8)
|
||||
}
|
||||
|
||||
// MARK: - List Layout
|
||||
@@ -304,7 +304,7 @@ struct EntryCardView: View {
|
||||
}
|
||||
.background(Color.surfaceCard)
|
||||
.clipShape(RoundedRectangle(cornerRadius: 14))
|
||||
.shadow(color: .black.opacity(0.04), radius: 6, y: 2)
|
||||
.shadow(color: .black.opacity(0.08), radius: 8, y: 3)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,45 +4,45 @@ extension Color {
|
||||
// MARK: - Canvas / Background (adaptive light/dark)
|
||||
static let canvas = Color(UIColor { traits in
|
||||
traits.userInterfaceStyle == .dark
|
||||
? UIColor(red: 0.055, green: 0.05, blue: 0.04, alpha: 1) // #0e0d0b — deep warm black
|
||||
: UIColor(red: 0.93, green: 0.90, blue: 0.855, alpha: 1) // #EDE6DA — warm sand
|
||||
? UIColor(red: 0.05, green: 0.05, blue: 0.045, alpha: 1) // #0d0d0b — near-black, less warm
|
||||
: UIColor(red: 0.92, green: 0.90, blue: 0.87, alpha: 1) // #EBE6DE — neutral sand
|
||||
})
|
||||
|
||||
// MARK: - Accent
|
||||
static let accentWarm = Color(UIColor { traits in
|
||||
traits.userInterfaceStyle == .dark
|
||||
? UIColor(red: 0.78, green: 0.62, blue: 0.25, alpha: 1) // brighter gold for dark
|
||||
: UIColor(red: 0.545, green: 0.412, blue: 0.078, alpha: 1) // #8B6914
|
||||
? UIColor(red: 0.82, green: 0.65, blue: 0.28, alpha: 1) // brighter gold for dark
|
||||
: 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
|
||||
|
||||
// MARK: - Surfaces (adaptive)
|
||||
static let surfaceCard = Color(UIColor { traits in
|
||||
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
|
||||
})
|
||||
static let surfaceSheet = Color(UIColor { traits in
|
||||
traits.userInterfaceStyle == .dark
|
||||
? UIColor(red: 0.13, green: 0.12, blue: 0.11, alpha: 1)
|
||||
: UIColor(red: 0.98, green: 0.97, blue: 0.95, alpha: 1)
|
||||
? UIColor(red: 0.12, green: 0.115, blue: 0.10, 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
|
||||
traits.userInterfaceStyle == .dark
|
||||
? UIColor(red: 0.93, green: 0.91, blue: 0.88, alpha: 1)
|
||||
: UIColor(red: 0.12, green: 0.12, blue: 0.12, alpha: 1)
|
||||
? UIColor(red: 0.94, green: 0.92, blue: 0.90, alpha: 1)
|
||||
: UIColor(red: 0.10, green: 0.10, blue: 0.10, alpha: 1) // darker for contrast
|
||||
})
|
||||
static let textSecondary = Color(UIColor { traits in
|
||||
traits.userInterfaceStyle == .dark
|
||||
? UIColor(red: 0.62, green: 0.60, blue: 0.57, alpha: 1)
|
||||
: UIColor(red: 0.45, green: 0.45, blue: 0.45, alpha: 1)
|
||||
? UIColor(red: 0.60, green: 0.58, blue: 0.55, alpha: 1)
|
||||
: UIColor(red: 0.40, green: 0.40, blue: 0.40, alpha: 1) // more neutral gray
|
||||
})
|
||||
static let textTertiary = Color(UIColor { traits in
|
||||
traits.userInterfaceStyle == .dark
|
||||
? UIColor(red: 0.45, green: 0.43, blue: 0.40, alpha: 1)
|
||||
: UIColor(red: 0.65, green: 0.65, blue: 0.65, alpha: 1)
|
||||
? UIColor(red: 0.43, green: 0.42, blue: 0.40, alpha: 1)
|
||||
: UIColor(red: 0.58, green: 0.58, blue: 0.58, alpha: 1) // more neutral
|
||||
})
|
||||
|
||||
// MARK: - Meal Colors
|
||||
|
||||
Reference in New Issue
Block a user