summaryrefslogtreecommitdiff
path: root/NumberCard.swift
diff options
context:
space:
mode:
Diffstat (limited to 'NumberCard.swift')
-rw-r--r--NumberCard.swift10
1 files changed, 8 insertions, 2 deletions
diff --git a/NumberCard.swift b/NumberCard.swift
index 9ae1c39..ada937b 100644
--- a/NumberCard.swift
+++ b/NumberCard.swift
@@ -12,6 +12,12 @@ struct NumberCard: View {
var isHighlighted = false
@State private var isTapped = false
+ private var cardScale: CGFloat {
+ if isTapped { return 1.12 }
+ if isHighlighted { return 1.04 }
+ return 1.0
+ }
+
var body: some View {
ZStack {
RoundedRectangle(cornerRadius: 32, style: .continuous)
@@ -39,7 +45,7 @@ struct NumberCard: View {
}
}
.shadow(color: isHighlighted ? .white.opacity(0.8) : .clear, radius: 12)
- .scaleEffect(isTapped ? 1.12 : (isHighlighted ? 1.04 : 1.0))
+ .scaleEffect(cardScale)
.contentShape(RoundedRectangle(cornerRadius: 32, style: .continuous))
.rotation3DEffect(.degrees(isTapped ? 6 : 0), axis: (x: 1, y: 0, z: 0))
.animation(.spring(response: 0.35, dampingFraction: 0.5), value: isTapped)
@@ -60,7 +66,7 @@ struct NumberCard: View {
enum LearnNumber: Int, CaseIterable, Identifiable {
case one = 1, two, three, four, five, six, seven, eight, nine, ten
- var id: Int { rawValue }
+ var id: LearnNumber { self }
/// Highlight the number matching today's day-of-month if it falls in 1–10.
static var current: LearnNumber? {