diff --git a/app/javascript/core/public.js b/app/javascript/core/public.js index d3d80019f1..4ac9eab3e4 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;