Remove 3D DayViewStyle

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Trey t
2025-12-20 01:30:34 -06:00
parent 15eea92b79
commit 75921732ea
4 changed files with 2 additions and 230 deletions

View File

@@ -43,9 +43,8 @@ enum DayViewStyle: Int, CaseIterable {
case pattern = 14 // Mood icons as repeating background pattern
case leather = 15 // Skeuomorphic leather with stitching
case glass = 16 // iOS 26 liquid glass with variable blur
case threeD = 17 // 3D card with perspective and depth
case motion = 18 // Accelerometer-driven parallax effect
case micro = 19 // Ultra compact single-line entries
case motion = 17 // Accelerometer-driven parallax effect
case micro = 18 // Ultra compact single-line entries
var displayName: String {
switch self {
@@ -66,7 +65,6 @@ enum DayViewStyle: Int, CaseIterable {
case .pattern: return "Pattern"
case .leather: return "Leather"
case .glass: return "Glass"
case .threeD: return "3D"
case .motion: return "Motion"
case .micro: return "Micro"
}

View File

@@ -1153,32 +1153,6 @@ struct DayViewStylePickerCompact: View {
.offset(x: -6)
.blur(radius: 2)
}
case .threeD:
// 3D depth effect
ZStack {
RoundedRectangle(cornerRadius: 6)
.fill(Color.black.opacity(0.2))
.frame(width: 34, height: 24)
.offset(x: 3, y: 3)
RoundedRectangle(cornerRadius: 6)
.fill(Color.black.opacity(0.1))
.frame(width: 34, height: 24)
.offset(x: 1.5, y: 1.5)
RoundedRectangle(cornerRadius: 6)
.fill(
LinearGradient(
colors: [.white, Color(.systemGray6)],
startPoint: .topLeading,
endPoint: .bottomTrailing
)
)
.frame(width: 34, height: 24)
Circle()
.fill(.blue)
.frame(width: 10, height: 10)
.offset(x: -6)
.shadow(color: .black.opacity(0.3), radius: 2, x: 1, y: 2)
}
case .motion:
// Accelerometer motion effect
ZStack {

View File

@@ -159,8 +159,6 @@ extension DayView {
leatherSectionHeader(month: month, year: year)
case .glass:
glassSectionHeader(month: month, year: year)
case .threeD:
threeDSectionHeader(month: month, year: year)
case .motion:
motionSectionHeader(month: month, year: year)
case .micro:
@@ -752,79 +750,6 @@ extension DayView {
.frame(height: 64)
}
// MARK: - 3D Style Section Header
private func threeDSectionHeader(month: Int, year: Int) -> some View {
ZStack {
// Deep shadow layer
RoundedRectangle(cornerRadius: 16)
.fill(Color.black.opacity(0.2))
.offset(x: 5, y: 7)
// Mid shadow layer
RoundedRectangle(cornerRadius: 16)
.fill(Color.black.opacity(0.1))
.offset(x: 3, y: 4)
// Main card
HStack(spacing: 16) {
// 3D month number
ZStack {
Text(String(format: "%02d", month))
.font(.system(size: 32, weight: .black, design: .rounded))
.foregroundColor(Color.black.opacity(0.15))
.offset(x: 3, y: 3)
Text(String(format: "%02d", month))
.font(.system(size: 32, weight: .black, design: .rounded))
.foregroundColor(textColor)
}
VStack(alignment: .leading, spacing: 2) {
Text(Random.monthName(fromMonthInt: month))
.font(.system(size: 20, weight: .bold))
.foregroundColor(textColor)
.shadow(color: Color.black.opacity(0.1), radius: 0, x: 1, y: 1)
Text(String(year))
.font(.system(size: 14, weight: .semibold))
.foregroundColor(textColor.opacity(0.5))
}
Spacer()
// 3D cube icon
ZStack {
Image(systemName: "cube.fill")
.font(.system(size: 22))
.foregroundColor(Color.black.opacity(0.15))
.offset(x: 2, y: 2)
Image(systemName: "cube.fill")
.font(.system(size: 22))
.foregroundColor(textColor.opacity(0.4))
}
}
.padding(.horizontal, 20)
.padding(.vertical, 16)
.background(
RoundedRectangle(cornerRadius: 16)
.fill(colorScheme == .dark ? Color(.systemGray6) : .white)
)
.overlay(
RoundedRectangle(cornerRadius: 16)
.stroke(
LinearGradient(
colors: [Color.white.opacity(0.5), Color.clear, Color.black.opacity(0.1)],
startPoint: .topLeading,
endPoint: .bottomTrailing
),
lineWidth: 2
)
)
}
.frame(height: 72)
}
// MARK: - Motion Style Section Header
private func motionSectionHeader(month: Int, year: Int) -> some View {
ZStack {

View File

@@ -61,8 +61,6 @@ struct EntryListView: View {
leatherStyle
case .glass:
glassStyle
case .threeD:
threeDStyle
case .motion:
motionStyle
case .micro:
@@ -1656,129 +1654,6 @@ struct EntryListView: View {
.shadow(color: Color.black.opacity(0.1), radius: 20, x: 0, y: 10)
}
// MARK: - 3D Style
private var threeDStyle: some View {
let dayNumber = Calendar.current.component(.day, from: entry.forDate)
return ZStack {
// Back shadow layer for depth
RoundedRectangle(cornerRadius: 20)
.fill(Color.black.opacity(0.15))
.offset(x: 4, y: 6)
// Middle layer
RoundedRectangle(cornerRadius: 20)
.fill(
LinearGradient(
colors: isMissing
? [Color.gray.opacity(0.2), Color.gray.opacity(0.1)]
: [moodColor.opacity(0.3), moodColor.opacity(0.1)],
startPoint: .topLeading,
endPoint: .bottomTrailing
)
)
.offset(x: 2, y: 3)
// Main card with 3D transform
HStack(spacing: 16) {
// 3D floating icon
ZStack {
// Icon shadow
Circle()
.fill(Color.black.opacity(0.2))
.frame(width: 52, height: 52)
.offset(x: 3, y: 4)
// Icon background
Circle()
.fill(
LinearGradient(
colors: isMissing
? [Color.gray.opacity(0.4), Color.gray.opacity(0.2)]
: [moodColor, moodColor.opacity(0.7)],
startPoint: .topLeading,
endPoint: .bottomTrailing
)
)
.frame(width: 52, height: 52)
// Highlight
Circle()
.fill(
LinearGradient(
colors: [Color.white.opacity(0.4), Color.clear],
startPoint: .topLeading,
endPoint: .center
)
)
.frame(width: 52, height: 52)
imagePack.icon(forMood: entry.mood)
.resizable()
.aspectRatio(contentMode: .fit)
.frame(width: 28, height: 28)
.foregroundColor(.white)
.shadow(color: Color.black.opacity(0.3), radius: 2, x: 1, y: 2)
}
VStack(alignment: .leading, spacing: 6) {
// Large day number with 3D effect
Text("\(dayNumber)")
.font(.system(size: 36, weight: .black, design: .rounded))
.foregroundColor(isMissing ? .gray : moodColor)
.shadow(color: (isMissing ? Color.gray : moodColor).opacity(0.4), radius: 0, x: 2, y: 2)
HStack(spacing: 4) {
Text(Random.weekdayName(fromDate: entry.forDate))
.font(.system(size: 14, weight: .semibold))
.foregroundColor(textColor.opacity(0.8))
if !isMissing {
Text("")
.foregroundColor(textColor.opacity(0.4))
Text(entry.moodString)
.font(.system(size: 14, weight: .bold))
.foregroundColor(moodColor)
}
}
}
Spacer()
// 3D arrow
ZStack {
Image(systemName: "chevron.right")
.font(.system(size: 16, weight: .bold))
.foregroundColor(Color.black.opacity(0.2))
.offset(x: 2, y: 2)
Image(systemName: "chevron.right")
.font(.system(size: 16, weight: .bold))
.foregroundColor(textColor.opacity(0.5))
}
}
.padding(.horizontal, 18)
.padding(.vertical, 16)
.background(
RoundedRectangle(cornerRadius: 20)
.fill(colorScheme == .dark ? Color(.systemGray6) : .white)
)
.overlay(
// Top-left highlight for 3D effect
RoundedRectangle(cornerRadius: 20)
.stroke(
LinearGradient(
colors: [Color.white.opacity(0.6), Color.clear, Color.black.opacity(0.1)],
startPoint: .topLeading,
endPoint: .bottomTrailing
),
lineWidth: 2
)
)
}
.frame(height: 88)
}
// MARK: - Motion Style (Accelerometer Parallax)
private var motionStyle: some View {
MotionCardView(