diff --git a/src/CONST.js b/src/CONST.js index 5906c18b31bd..bde54a14d0e7 100755 --- a/src/CONST.js +++ b/src/CONST.js @@ -492,8 +492,8 @@ const CONST = { WIDTH: 320, HEIGHT: 400, }, - NON_NATIVE_EMOJI_PICKER_LIST_HEIGHT: 300, - EMOJI_PICKER_ITEM_HEIGHT: 40, + NON_NATIVE_EMOJI_PICKER_LIST_HEIGHT: 298, + EMOJI_PICKER_ITEM_HEIGHT: 32, EMOJI_PICKER_HEADER_HEIGHT: 38, COMPOSER_MAX_HEIGHT: 125, CHAT_FOOTER_MIN_HEIGHT: 65, diff --git a/src/components/EmojiPicker/EmojiPickerMenu/index.js b/src/components/EmojiPicker/EmojiPickerMenu/index.js index cee52c9b6272..0a2c2c8b1e4d 100755 --- a/src/components/EmojiPicker/EmojiPickerMenu/index.js +++ b/src/components/EmojiPicker/EmojiPickerMenu/index.js @@ -345,8 +345,8 @@ class EmojiPickerMenu extends Component { let targetOffset = this.currentScrollOffset; if (offsetAtEmojiBottom - this.currentScrollOffset >= CONST.NON_NATIVE_EMOJI_PICKER_LIST_HEIGHT) { targetOffset = offsetAtEmojiBottom - CONST.NON_NATIVE_EMOJI_PICKER_LIST_HEIGHT; - } else if (offsetAtEmojiTop - CONST.EMOJI_PICKER_ITEM_HEIGHT <= this.currentScrollOffset) { - targetOffset = offsetAtEmojiTop - CONST.EMOJI_PICKER_ITEM_HEIGHT; + } else if (offsetAtEmojiTop - CONST.EMOJI_PICKER_HEADER_HEIGHT <= this.currentScrollOffset) { + targetOffset = offsetAtEmojiTop - CONST.EMOJI_PICKER_HEADER_HEIGHT; } if (targetOffset !== this.currentScrollOffset) { // Disable pointer events so that onHover doesn't get triggered when the items move while we're scrolling diff --git a/src/components/EmojiPicker/EmojiPickerMenuItem.js b/src/components/EmojiPicker/EmojiPickerMenuItem.js index 929930efe27e..a0c0ab2f71d6 100644 --- a/src/components/EmojiPicker/EmojiPickerMenuItem.js +++ b/src/components/EmojiPicker/EmojiPickerMenuItem.js @@ -31,7 +31,6 @@ const EmojiPickerMenuItem = props => ( style={({ pressed, }) => ([ - styles.pv1, StyleUtils.getButtonBackgroundColorStyle(getButtonState(false, pressed)), props.isHighlighted ? styles.emojiItemHighlighted : {}, styles.emojiItem, diff --git a/src/components/EmojiPicker/EmojiSkinToneList.js b/src/components/EmojiPicker/EmojiSkinToneList.js index d8efbcc0ec21..f02ee342b102 100644 --- a/src/components/EmojiPicker/EmojiSkinToneList.js +++ b/src/components/EmojiPicker/EmojiSkinToneList.js @@ -59,7 +59,6 @@ class EmojiSkinToneList extends Component { () => this.setState(prev => ({isSkinToneListVisible: !prev.isSkinToneListVisible})) } style={[ - styles.pv1, styles.flex1, styles.flexRow, styles.alignSelfCenter, @@ -67,9 +66,11 @@ class EmojiSkinToneList extends Component { styles.alignItemsCenter, ]} > - - {selectedEmoji.code} - + + + {selectedEmoji.code} + + {this.props.translate('emojiPicker.skinTonePickerLabel')} diff --git a/src/libs/EmojiUtils.js b/src/libs/EmojiUtils.js index ed67a2aed1fd..0c6924f5c8c2 100644 --- a/src/libs/EmojiUtils.js +++ b/src/libs/EmojiUtils.js @@ -106,7 +106,9 @@ function getDynamicHeaderIndices(emojis) { function getDynamicSpacing(emojiCount, suffix) { const spacerEmojis = []; let modLength = CONST.EMOJI_NUM_PER_ROW - (emojiCount % CONST.EMOJI_NUM_PER_ROW); - while (modLength > 0) { + + // Empty spaces is pushed if the given row has less than eight emojis + while (modLength > 0 && modLength < CONST.EMOJI_NUM_PER_ROW) { spacerEmojis.push({ code: `${CONST.EMOJI_SPACER}_${suffix}_${modLength}`, spacer: true, diff --git a/src/styles/styles.js b/src/styles/styles.js index f2d7cff023da..d8693f7812b3 100644 --- a/src/styles/styles.js +++ b/src/styles/styles.js @@ -20,6 +20,7 @@ import optionAlternateTextPlatformStyles from './optionAlternateTextPlatformStyl import pointerEventsNone from './pointerEventsNone'; import pointerEventsAuto from './pointerEventsAuto'; import overflowXHidden from './overflowXHidden'; +import CONST from '../CONST'; const picker = { backgroundColor: 'transparent', @@ -1475,12 +1476,16 @@ const styles = { fontSize: variables.emojiSize, ...spacing.pv0, ...spacing.ph0, + lineHeight: variables.emojiLineHeight, }, emojiItem: { width: '12.5%', textAlign: 'center', borderRadius: 8, + paddingTop: 2, + paddingBottom: 2, + height: CONST.EMOJI_PICKER_ITEM_HEIGHT, }, emojiItemHighlighted: { diff --git a/src/styles/variables.js b/src/styles/variables.js index 785f9775eeeb..162bde9394f7 100644 --- a/src/styles/variables.js +++ b/src/styles/variables.js @@ -38,6 +38,7 @@ export default { iconSizeExtraLarge: 40, iconSizeSuperLarge: 60, emojiSize: 20, + emojiLineHeight: 28, iouAmountTextSize: 40, mobileResponsiveWidthBreakpoint: 800, tabletResponsiveWidthBreakpoint: 1024,