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.
master
Thibaut Girka 6 years ago committed by ThibG
parent f990b9c768
commit 7cc7843109
  1. 1
      app/javascript/flavours/glitch/components/scrollable_list.js
  2. 3
      app/javascript/flavours/glitch/features/account_gallery/index.js
  3. 3
      app/javascript/flavours/glitch/features/blocks/index.js
  4. 1
      app/javascript/flavours/glitch/features/favourites/index.js
  5. 1
      app/javascript/flavours/glitch/features/follow_requests/index.js
  6. 1
      app/javascript/flavours/glitch/features/followers/index.js
  7. 3
      app/javascript/flavours/glitch/features/following/index.js
  8. 1
      app/javascript/flavours/glitch/features/mutes/index.js
  9. 1
      app/javascript/flavours/glitch/features/reblogs/index.js
  10. 3
      app/javascript/flavours/glitch/features/status/index.js

@ -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);
} }

@ -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 () {

@ -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 () {

@ -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);
} }

@ -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);
} }

@ -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);
} }

@ -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 () {

@ -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);
} }

@ -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);
} }

@ -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 () {

Loading…
Cancel
Save