HuggingChat-Mac/Animations/ShakeEffect.swift (12 lines of code) (raw):

// // ShakeEffect.swift // HuggingChat-Mac // // Created by Cyril Zakka on 9/20/24. // import Foundation import SwiftUI 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)) } }