about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/components/column_header.js
diff options
context:
space:
mode:
authorThibaut Girka <thib@sitedethib.com>2019-04-15 22:23:05 +0200
committerThibG <thib@sitedethib.com>2019-04-17 18:40:40 +0200
commite3c1472040105651fe55158b741c7ba92c1a7332 (patch)
tree6464148676a8b91cb181835b851e2882448824af /app/javascript/flavours/glitch/components/column_header.js
parent8d57c0e70ea76b2f482c0919fc815d40352ef477 (diff)
Shift+click on column Back button to return to last pinable column
Diffstat (limited to 'app/javascript/flavours/glitch/components/column_header.js')
-rw-r--r--app/javascript/flavours/glitch/components/column_header.js13
1 files changed, 9 insertions, 4 deletions
diff --git a/app/javascript/flavours/glitch/components/column_header.js b/app/javascript/flavours/glitch/components/column_header.js
index 87e848a59..a0ff09986 100644
--- a/app/javascript/flavours/glitch/components/column_header.js
+++ b/app/javascript/flavours/glitch/components/column_header.js
@@ -47,10 +47,15 @@ export default class ColumnHeader extends React.PureComponent {
     animatingNCD: false,
   };
 
-  historyBack = () => {
+  historyBack = (skip) => {
     // if history is exhausted, or we would leave mastodon, just go to root.
     if (window.history.state) {
-      this.context.router.history.goBack();
+      const state = this.context.router.history.location.state;
+      if (skip && state && state.mastodonBackSteps) {
+        this.context.router.history.go(-state.mastodonBackSteps);
+      } else {
+        this.context.router.history.goBack();
+      }
     } else {
       this.context.router.history.push('/');
     }
@@ -73,8 +78,8 @@ export default class ColumnHeader extends React.PureComponent {
     this.props.onMove(1);
   }
 
-  handleBackClick = () => {
-    this.historyBack();
+  handleBackClick = (event) => {
+    this.historyBack(event.shiftKey);
   }
 
   handleTransitionEnd = () => {