From e1e54c77e21f369f5473aade291a5113671855d0 Mon Sep 17 00:00:00 2001 From: talksik Date: Wed, 15 Dec 2021 12:14:50 -0800 Subject: [PATCH] Update ContactsView.swift --- nirvana-ios/Views/Contacts/ContactsView.swift | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/nirvana-ios/Views/Contacts/ContactsView.swift b/nirvana-ios/Views/Contacts/ContactsView.swift index 4169098..16302b2 100644 --- a/nirvana-ios/Views/Contacts/ContactsView.swift +++ b/nirvana-ios/Views/Contacts/ContactsView.swift @@ -39,7 +39,7 @@ private struct IndividualContactView: View { var imageName: String @Namespace private var animation - @State var addedUser = false + @State var isAddedUser = false var body: some View { HStack(alignment: .center, spacing: 0) { @@ -49,14 +49,14 @@ private struct IndividualContactView: View { .clipShape(Circle()) .frame(width: 40, height: 40) .padding(.trailing, 10) - + Text(name) .font(.headline) Spacer() VStack { - if addedUser { + if isAddedUser { Label("Added", systemImage: "person.crop.circle.fill.badge.checkmark") .font(.title2) .foregroundColor(NirvanaColor.solidTeal) @@ -75,9 +75,21 @@ private struct IndividualContactView: View { } }.onTapGesture { withAnimation(Animation.interpolatingSpring(stiffness: 300, damping: 30)) { - self.addedUser.toggle() + self.isAddedUser.toggle() } } } } } + +struct Shake: GeometryEffect { + var amount: CGFloat = 10 + var shakesPerUnit = 3 + var animatableData: CGFloat + + func effectValue(size: CGSize) -> ProjectionTransform { + ProjectionTransform(CGAffineTransform(translationX: + amount * sin(animatableData * .pi * CGFloat(shakesPerUnit)), + y: 0)) + } +}