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))
}
}