From c70077892227aedc6b8951aeaa697cd904dfb0cb Mon Sep 17 00:00:00 2001 From: Thibaut Girka Date: Sun, 5 Aug 2018 12:55:56 +0200 Subject: [PATCH] Scroll to linked status in public status view --- app/javascript/core/public.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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;