Skip to content

Conversation

@Eugene-Kugut
Copy link
Contributor

This PR fixes multiple issues with animations and gestures in CardStackView:

  • Managed zIndex for proper card layering during dismissal animations.
  • Prevented false taps on interactive elements during swipe gestures.
  • Resolved synchronization errors in translation animations to eliminate debug console errors during rapid swipes.
  • Fixed stuck card state when DragGesture was interrupted by another gesture.

Ensured the card being swiped is always above the stack during dismissal animation by managing zIndex.
Disabled interactions with clickable elements (e.g., buttons) on cards while swiping to prevent unintended actions caused by simultaneous gestures.
Fixed an issue causing debug errors during rapid swipes due to improper synchronization of translation animation states:

Invalid sample AnimatablePair<AnimatablePair<CGFloat, CGFloat>, AnimatablePair<CGFloat, CGFloat>>(first: SwiftUI.AnimatablePair<CoreGraphics.CGFloat, CoreGraphics.CGFloat>(first: -2.0, second: 0.0), second: SwiftUI.AnimatablePair<CoreGraphics.CGFloat, CoreGraphics.CGFloat>(first: 0.0, second: 0.0)) with time Time(seconds: 0.0) > last time Time(seconds: 0.016671041666995734)
…her gesture

Ensured proper gesture state reset to avoid cards being stuck in an intermediate position when DragGesture is interrupted by another gesture. For example, if a second finger taps the card during a swipe, the onEnded callback now triggers correctly.
@dadalar dadalar merged commit 33d7d14 into dadalar:master Feb 11, 2025
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants