diff options
author | Thibaut Girka <thib@sitedethib.com> | 2018-08-05 12:55:56 +0200 |
---|---|---|
committer | ThibG <thib@sitedethib.com> | 2018-08-07 16:58:00 +0200 |
commit | c70077892227aedc6b8951aeaa697cd904dfb0cb (patch) | |
tree | 83bc44cd2ccee8c7791ef95815169e5b86d0a505 /app | |
parent | 617c3a8006b8b793604ff78ef331b95d47dc3d6c (diff) |
Scroll to linked status in public status view
Diffstat (limited to 'app')
-rw-r--r-- | app/javascript/core/public.js | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/app/javascript/core/public.js b/app/javascript/core/public.js index d3d80019f..4ac9eab3e 100644 --- a/app/javascript/core/public.js +++ b/app/javascript/core/public.js @@ -1,8 +1,21 @@ // This file will be loaded on public pages, regardless of theme. +import createHistory from 'history/createBrowserHistory'; +import ready from '../mastodon/ready'; + const { delegate } = require('rails-ujs'); const { length } = require('stringz'); +ready(() => { + const history = createHistory(); + const detailedStatuses = document.querySelectorAll('.public-layout .detailed-status'); + const location = history.location; + if (detailedStatuses.length == 1 && (!location.state || !location.state.scrolledToDetailedStatus)) { + detailedStatuses[0].scrollIntoView(); + history.replace(location.pathname, {...location.state, scrolledToDetailedStatus: true}); + } +}); + delegate(document, '.webapp-btn', 'click', ({ target, button }) => { if (button !== 0) { return true; |