Add 3 new DayViewStyles: 3D, Motion, and Micro

- **3D Style**: Cards with layered shadows and perspective depth,
  floating icons with highlights, and 3D text shadows

- **Motion Style**: Accelerometer-driven parallax effect using
  CoreMotion. Floating orbs and elements shift as device tilts

- **Micro Style**: Ultra compact single-line entries for maximum
  density. Tiny dots, abbreviated dates, and minimal spacing

Each style includes:
- Entry view implementation in EntryListView.swift
- Section header in DayView.swift
- Preview icon in CustomizeView.swift

🤖 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:26:52 -06:00
parent 163e993eb4
commit 15eea92b79
4 changed files with 685 additions and 0 deletions

View File

@@ -1153,6 +1153,86 @@ 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 {
RoundedRectangle(cornerRadius: 8)
.fill(
LinearGradient(
colors: [.blue.opacity(0.3), .purple.opacity(0.3)],
startPoint: .topLeading,
endPoint: .bottomTrailing
)
)
.frame(width: 36, height: 26)
Circle()
.fill(.purple.opacity(0.4))
.frame(width: 16, height: 16)
.offset(x: 8, y: -4)
.blur(radius: 3)
Circle()
.fill(.blue.opacity(0.4))
.frame(width: 12, height: 12)
.offset(x: -6, y: 4)
.blur(radius: 2)
Image(systemName: "gyroscope")
.font(.system(size: 12, weight: .medium))
.foregroundColor(.white)
}
case .micro:
// Ultra compact micro style
VStack(spacing: 2) {
HStack(spacing: 3) {
Circle()
.fill(.green)
.frame(width: 4, height: 4)
RoundedRectangle(cornerRadius: 1)
.fill(Color.gray.opacity(0.3))
.frame(width: 20, height: 4)
}
HStack(spacing: 3) {
Circle()
.fill(.orange)
.frame(width: 4, height: 4)
RoundedRectangle(cornerRadius: 1)
.fill(Color.gray.opacity(0.3))
.frame(width: 20, height: 4)
}
HStack(spacing: 3) {
Circle()
.fill(.blue)
.frame(width: 4, height: 4)
RoundedRectangle(cornerRadius: 1)
.fill(Color.gray.opacity(0.3))
.frame(width: 20, height: 4)
}
}
}
}
}