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:
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user