]> cat aescling's git repositories - mastodon.git/commitdiff
[Glitch] Fix swiping columns on mobile sometimes failing
authorThibG <thib@sitedethib.com>
Fri, 28 Jun 2019 11:52:15 +0000 (13:52 +0200)
committerThibaut Girka <thib@sitedethib.com>
Fri, 28 Jun 2019 19:38:34 +0000 (21:38 +0200)
Port 072158ee973f8e09a0abd34a825d9bce038a5d68 to glitch-soc

app/javascript/flavours/glitch/features/ui/components/columns_area.js

index 3a188ca8752adfeefc045960319b4723116c8138..30097f064e76a295747576da56a825a7964f69d3 100644 (file)
@@ -112,6 +112,11 @@ export default class ColumnsArea extends ImmutablePureComponent {
     // React-router does this for us, but too late, feeling laggy.
     document.querySelector(currentLinkSelector).classList.remove('active');
     document.querySelector(nextLinkSelector).classList.add('active');
+
+    if (!this.state.shouldAnimate && typeof this.pendingIndex === 'number') {
+      this.context.router.history.push(getLink(this.pendingIndex));
+      this.pendingIndex = null;
+    }
   }
 
   handleAnimationEnd = () => {
@@ -162,7 +167,6 @@ export default class ColumnsArea extends ImmutablePureComponent {
     const { shouldAnimate } = this.state;
 
     const columnIndex = getIndex(this.context.router.history.location.pathname);
-    this.pendingIndex = null;
 
     if (singleColumn) {
       const floatingActionButton = shouldHideFAB(this.context.router.history.location.pathname) ? null : <Link key='floating-action-button' to='/statuses/new' className='floating-action-button' aria-label={intl.formatMessage(messages.publish)}><i className='fa fa-pencil' /></Link>;