diff options
author | Sorin Davidoi <sorin.davidoi@gmail.com> | 2017-07-21 01:38:24 +0200 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-07-21 01:38:24 +0200 |
commit | c1bc5e14ebbecd8ffc6b4188fbf608e11f64422e (patch) | |
tree | 3c06dfd35b4e8f8d41a21383db7152c1cdbeb11d /app/javascript/mastodon/features/ui/index.js | |
parent | 4b911fea03a204a1a1cc0e5f63ede1679e0494c3 (diff) |
feat(compose): More space on mobile devices (#4282)
* feat(compose): More space on mobile devices * feat(compose): Hide navigation when typing on mobile devices * fix(compose): Make animation faster * fix(navigation_bar): Remove hardcoded title * fix(compose): Prevent accidental bluring * fix(compose): Increase max-height to 600px
Diffstat (limited to 'app/javascript/mastodon/features/ui/index.js')
-rw-r--r-- | app/javascript/mastodon/features/ui/index.js | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/app/javascript/mastodon/features/ui/index.js b/app/javascript/mastodon/features/ui/index.js index 3baf09b93..e667b390b 100644 --- a/app/javascript/mastodon/features/ui/index.js +++ b/app/javascript/mastodon/features/ui/index.js @@ -43,6 +43,7 @@ import '../../components/status'; const mapStateToProps = state => ({ systemFontUi: state.getIn(['meta', 'system_font_ui']), + isComposing: state.getIn(['compose', 'is_composing']), }); @connect(mapStateToProps) @@ -52,6 +53,7 @@ export default class UI extends React.PureComponent { dispatch: PropTypes.func.isRequired, children: PropTypes.node, systemFontUi: PropTypes.bool, + isComposing: PropTypes.bool, }; state = { @@ -133,6 +135,19 @@ export default class UI extends React.PureComponent { this.props.dispatch(refreshNotifications()); } + shouldComponentUpdate (nextProps) { + if (nextProps.isComposing !== this.props.isComposing) { + // Avoid expensive update just to toggle a class + this.node.classList.toggle('is-composing', nextProps.isComposing); + + return false; + } + + // Why isn't this working?!? + // return super.shouldComponentUpdate(nextProps, nextState); + return true; + } + componentWillUnmount () { window.removeEventListener('resize', this.handleResize); document.removeEventListener('dragenter', this.handleDragEnter); |