1
0
mirror of https://github.com/funamitech/mastodon synced 2024-12-12 13:48:35 +09:00
YuruToot/app/javascript/flavours/glitch/containers/scroll_container.js

19 lines
736 B
JavaScript
Raw Normal View History

2021-07-13 19:40:15 +09:00
import { ScrollContainer as OriginalScrollContainer } from 'react-router-scroll-4';
// ScrollContainer is used to automatically scroll to the top when pushing a
// new history state and remembering the scroll position when going back.
// There are a few things we need to do differently, though.
const defaultShouldUpdateScroll = (prevRouterProps, { location }) => {
// If the change is caused by opening a modal, do not scroll to top
return !(location.state?.mastodonModalKey && location.state?.mastodonModalKey !== prevRouterProps?.location?.state?.mastodonModalKey);
2021-07-13 20:49:40 +09:00
};
2021-07-13 19:40:15 +09:00
export default
class ScrollContainer extends OriginalScrollContainer {
2021-07-13 20:49:40 +09:00
2021-07-13 19:40:15 +09:00
static defaultProps = {
shouldUpdateScroll: defaultShouldUpdateScroll,
};
2021-07-13 20:49:40 +09:00
2021-07-13 19:40:15 +09:00
}