[Glitch] Fixed the toggle emoji dropdown bug

Port 1467f1e1e1 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
J H 2024-01-30 13:38:49 +00:00 committed by Claire
parent dfd74f0dae
commit 4d6844eb2f

View file

@ -165,6 +165,7 @@ class EmojiPickerMenuImpl extends PureComponent {
intl: PropTypes.object.isRequired, intl: PropTypes.object.isRequired,
skinTone: PropTypes.number.isRequired, skinTone: PropTypes.number.isRequired,
onSkinTone: PropTypes.func.isRequired, onSkinTone: PropTypes.func.isRequired,
pickerButtonRef: PropTypes.func.isRequired
}; };
static defaultProps = { static defaultProps = {
@ -179,7 +180,7 @@ class EmojiPickerMenuImpl extends PureComponent {
}; };
handleDocumentClick = e => { handleDocumentClick = e => {
if (this.node && !this.node.contains(e.target)) { if (this.node && !this.node.contains(e.target) && !this.props.pickerButtonRef.contains(e.target)) {
this.props.onClose(); this.props.onClose();
} }
}; };
@ -234,6 +235,7 @@ class EmojiPickerMenuImpl extends PureComponent {
emoji.native = emoji.colons; emoji.native = emoji.colons;
} }
if (!(event.ctrlKey || event.metaKey)) { if (!(event.ctrlKey || event.metaKey)) {
this.props.onClose(); this.props.onClose();
} }
this.props.onPick(emoji); this.props.onPick(emoji);
@ -409,6 +411,7 @@ class EmojiPickerDropdown extends PureComponent {
onSkinTone={onSkinTone} onSkinTone={onSkinTone}
skinTone={skinTone} skinTone={skinTone}
frequentlyUsedEmojis={frequentlyUsedEmojis} frequentlyUsedEmojis={frequentlyUsedEmojis}
pickerButtonRef={this.target}
/> />
</div> </div>
</div> </div>