Do not scroll timelines when *closing* media modals

Media modals push an history state so that pressing back on mobile closes them.
We made sure to not scroll when opening them, but not when *closing* them,
which caused some issues in rare cases.
This commit is contained in:
Thibaut Girka 2018-10-06 18:53:49 +02:00 committed by ThibG
parent f990b9c768
commit 7cc7843109
10 changed files with 14 additions and 4 deletions

View file

@ -150,6 +150,7 @@ export default class ScrollableList extends PureComponent {
} }
defaultShouldUpdateScroll = (prevRouterProps, { location }) => { defaultShouldUpdateScroll = (prevRouterProps, { location }) => {
if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;
return !(location.state && location.state.mastodonModalOpen); return !(location.state && location.state.mastodonModalOpen);
} }

View file

@ -90,7 +90,8 @@ export default class AccountGallery extends ImmutablePureComponent {
} }
shouldUpdateScroll = (prevRouterProps, { location }) => { shouldUpdateScroll = (prevRouterProps, { location }) => {
return !(location.state && location.state.mastodonModalOpen) if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;
return !(location.state && location.state.mastodonModalOpen);
} }
render () { render () {

View file

@ -43,7 +43,8 @@ export default class Blocks extends ImmutablePureComponent {
} }
shouldUpdateScroll = (prevRouterProps, { location }) => { shouldUpdateScroll = (prevRouterProps, { location }) => {
return !(location.state && location.state.mastodonModalOpen) if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;
return !(location.state && location.state.mastodonModalOpen);
} }
render () { render () {

View file

@ -34,6 +34,7 @@ export default class Favourites extends ImmutablePureComponent {
} }
shouldUpdateScroll = (prevRouterProps, { location }) => { shouldUpdateScroll = (prevRouterProps, { location }) => {
if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;
return !(location.state && location.state.mastodonModalOpen); return !(location.state && location.state.mastodonModalOpen);
} }

View file

@ -43,6 +43,7 @@ export default class FollowRequests extends ImmutablePureComponent {
} }
shouldUpdateScroll = (prevRouterProps, { location }) => { shouldUpdateScroll = (prevRouterProps, { location }) => {
if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;
return !(location.state && location.state.mastodonModalOpen); return !(location.state && location.state.mastodonModalOpen);
} }

View file

@ -57,6 +57,7 @@ export default class Followers extends ImmutablePureComponent {
} }
shouldUpdateScroll = (prevRouterProps, { location }) => { shouldUpdateScroll = (prevRouterProps, { location }) => {
if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;
return !(location.state && location.state.mastodonModalOpen); return !(location.state && location.state.mastodonModalOpen);
} }

View file

@ -57,7 +57,8 @@ export default class Following extends ImmutablePureComponent {
} }
shouldUpdateScroll = (prevRouterProps, { location }) => { shouldUpdateScroll = (prevRouterProps, { location }) => {
return !(location.state && location.state.mastodonModalOpen) if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;
return !(location.state && location.state.mastodonModalOpen);
} }
render () { render () {

View file

@ -43,6 +43,7 @@ export default class Mutes extends ImmutablePureComponent {
} }
shouldUpdateScroll = (prevRouterProps, { location }) => { shouldUpdateScroll = (prevRouterProps, { location }) => {
if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;
return !(location.state && location.state.mastodonModalOpen); return !(location.state && location.state.mastodonModalOpen);
} }

View file

@ -34,6 +34,7 @@ export default class Reblogs extends ImmutablePureComponent {
} }
shouldUpdateScroll = (prevRouterProps, { location }) => { shouldUpdateScroll = (prevRouterProps, { location }) => {
if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;
return !(location.state && location.state.mastodonModalOpen); return !(location.state && location.state.mastodonModalOpen);
} }

View file

@ -364,7 +364,8 @@ export default class Status extends ImmutablePureComponent {
} }
shouldUpdateScroll = (prevRouterProps, { location }) => { shouldUpdateScroll = (prevRouterProps, { location }) => {
return !(location.state && location.state.mastodonModalOpen) if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;
return !(location.state && location.state.mastodonModalOpen);
} }
render () { render () {