about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/components/column_back_button_slim.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_back_button_slim.js
parent8d57c0e70ea76b2f482c0919fc815d40352ef477 (diff)
Shift+click on column Back button to return to last pinable column
Diffstat (limited to 'app/javascript/flavours/glitch/components/column_back_button_slim.js')
-rw-r--r--app/javascript/flavours/glitch/components/column_back_button_slim.js9
1 files changed, 7 insertions, 2 deletions
diff --git a/app/javascript/flavours/glitch/components/column_back_button_slim.js b/app/javascript/flavours/glitch/components/column_back_button_slim.js
index c99c202af..38afd3df3 100644
--- a/app/javascript/flavours/glitch/components/column_back_button_slim.js
+++ b/app/javascript/flavours/glitch/components/column_back_button_slim.js
@@ -8,10 +8,15 @@ export default class ColumnBackButtonSlim extends React.PureComponent {
     router: PropTypes.object,
   };
 
-  handleClick = () => {
+  handleClick = (event) => {
     // 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 (event.shiftKey && state && state.mastodonBackSteps) {
+        this.context.router.history.go(-state.mastodonBackSteps);
+      } else {
+        this.context.router.history.goBack();
+      }
     } else {
       this.context.router.history.push('/');
     }