about summary refs log tree commit diff
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2020-12-07 20:07:24 +0100
committerGitHub <noreply@github.com>2020-12-07 20:07:24 +0100
commit0b437325dc93a1d28202b5ff30eaafc9b4e571b7 (patch)
tree1d6ab1b62fc3ae10c0d3de3bf2e24f994b88e5c0
parent9620ee90be7e04b3616ce4b851abb63dbba7af7f (diff)
Fix column swiping animation logic (#15301)
From the start, swiping columns was highly unreliable because the logic
could change `ReactSwipeableViews`'s `animateTransitions` property
mid-swipe.

PR #11200 partially fixed this, but at the unintended cost of disabling the
swipe animation altogether.

This PR changes the logic behind `shouldAnimate` to only disable the swiping
animation at the end of a column change not initiated by `ReactSwipeableViews`.

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
-rw-r--r--app/javascript/mastodon/features/ui/components/columns_area.js4
1 files changed, 3 insertions, 1 deletions
diff --git a/app/javascript/mastodon/features/ui/components/columns_area.js b/app/javascript/mastodon/features/ui/components/columns_area.js
index cf02e9be7..6837450eb 100644
--- a/app/javascript/mastodon/features/ui/components/columns_area.js
+++ b/app/javascript/mastodon/features/ui/components/columns_area.js
@@ -75,7 +75,9 @@ class ColumnsArea extends ImmutablePureComponent {
   }
 
   componentWillReceiveProps() {
-    this.setState({ shouldAnimate: false });
+    if (typeof this.pendingIndex !== 'number' && this.lastIndex !== getIndex(this.context.router.history.location.pathname)) {
+      this.setState({ shouldAnimate: false });
+    }
   }
 
   componentDidMount() {