Browse Source

Change window resize handler to switch to/from mobile layout as soon as needed (#11656)

pull/4/head
ThibG 5 years ago
committed by Eugen Rochko
parent
commit
bd4099d976
1 changed files with 14 additions and 4 deletions
  1. +14
    -4
      app/javascript/mastodon/features/ui/index.js

+ 14
- 4
app/javascript/mastodon/features/ui/index.js View File

@ -141,14 +141,24 @@ class SwitchingColumnsArea extends React.PureComponent {
return location.state !== previewMediaState && location.state !== previewVideoState;
}
handleResize = debounce(() => {
handleLayoutChange = debounce(() => {
// The cached heights are no longer accurate, invalidate
this.props.onLayoutChange();
this.setState({ mobile: isMobile(window.innerWidth) });
}, 500, {
trailing: true,
});
})
handleResize = () => {
const mobile = isMobile(window.innerWidth);
if (mobile !== this.state.mobile) {
this.handleLayoutChange.cancel();
this.props.onLayoutChange();
this.setState({ mobile });
} else {
this.handleLayoutChange();
}
}
setRef = c => {
this.node = c.getWrappedInstance();

Loading…
Cancel
Save