[Glitch] Fix emoji picker placement on limited-height viewports
Port 94f7ae192b
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
main
parent
72baa1e5c3
commit
5e039b96c3
|
@ -332,6 +332,7 @@ class EmojiPickerDropdown extends PureComponent {
|
|||
state = {
|
||||
active: false,
|
||||
loading: false,
|
||||
placement: 'bottom',
|
||||
};
|
||||
|
||||
setRef = (c) => {
|
||||
|
@ -383,10 +384,14 @@ class EmojiPickerDropdown extends PureComponent {
|
|||
return this.target;
|
||||
};
|
||||
|
||||
handleOverlayEnter = (state) => {
|
||||
this.setState({ placement: state.placement });
|
||||
};
|
||||
|
||||
render () {
|
||||
const { intl, onPickEmoji, onSkinTone, skinTone, frequentlyUsedEmojis } = this.props;
|
||||
const title = intl.formatMessage(messages.emoji);
|
||||
const { active, loading } = this.state;
|
||||
const { active, loading, placement } = this.state;
|
||||
|
||||
return (
|
||||
<div className='emoji-picker-dropdown' onKeyDown={this.handleKeyDown} ref={this.setTargetRef}>
|
||||
|
@ -399,7 +404,7 @@ class EmojiPickerDropdown extends PureComponent {
|
|||
inverted
|
||||
/>
|
||||
|
||||
<Overlay show={active} placement={'bottom'} target={this.findTarget} popperConfig={{ strategy: 'fixed' }}>
|
||||
<Overlay show={active} placement={placement} flip target={this.findTarget} popperConfig={{ strategy: 'fixed', onFirstUpdate: this.handleOverlayEnter }}>
|
||||
{({ props, placement })=> (
|
||||
<div {...props} style={{ ...props.style }}>
|
||||
<div className={`dropdown-animation ${placement}`}>
|
||||
|
|
Loading…
Reference in New Issue