Skip to content

[IMPROVE] Redesign emoji picker - #4328

Merged
diegolmello merged 97 commits into
developfrom
new.emoji-picker
Oct 21, 2022
Merged

[IMPROVE] Redesign emoji picker#4328
diegolmello merged 97 commits into
developfrom
new.emoji-picker

Conversation

@try-catch-stack

@try-catch-stack try-catch-stack commented Jun 28, 2022

Copy link
Copy Markdown
Contributor

Proposed changes

  • Migrated EmojiPicker to hooks.
  • Revamped EmojiPicker component. Added functionality to search and delete emojis.

Issue(s)

How to test or reproduce

Note: We have a default emojis list on some places and they are composed of ['clap', 'thumbsup', 'heart_eyes', 'grinning', 'thinking', 'smiley']
image
Once the user starts selecting emojis, the app starts to replace this default list with this frequently used emojis.

Add emoji to message composer from emoji keyboard

  • Tap on emoji button on left side of message composer to open emoji picker
    • select an emoji from custom emojis tab (rocket icon)
    • select an emoji from frequently used tab (clock icon) (it's based on emojis you previously selected)
    • select a normal emoji from any other tab

Add emoji to message composer from emoji keyboard's search (clear cache before running this test)

  • With emoji keyboard open, tap on search on bottom left
    • search should display default emojis at first. Select one of them and they should appear on the composer.
    • Close the search, open it again and the emoji you selected should appear first on the list (now as a frequently used)
    • Search for a custom emoji and select it
    • Search for a normal emoji and select it
    • Close the search, open it again and the list should be based on the emojis you selected

Add emoji to message composer from autocomplete

  • Focus on message composer and type : to open emoji autocomplete
  • Select a normal and a custom one

React a message from message actions (clear cache before this one)

  • Long press on a message and it should show default emojis on the header of the bottom sheet
  • Select one of them and the message should be reacted with it
  • Open it again and the emoji should now appear first on the list

React a message from reaction picker

  • Long press on a message and tap on the "smile emoji +" on the top right of the bottom sheet. It should open the reaction picker. Then select an emoji to react.
    image
  • On the right side of the reaction, the same icon above should appear to add another reaction. Tap on it to open the reaction picker.
  • Same drill as the other tests. Try frequently used, custom emojis and the normal ones.
  • Also try the search.

Remove reaction

  • Remove a reaction of a custom emoji
  • Remove a reaction of a normal emoji

Others

  • Run these tests on tablets
  • Check for any visual regression on avatars and markdowns

Screenshots

Before After
emoji-picker-before1 new emoji-picker-after1
emoji-picker-before2 emoji-picker-after2
reaction-picker-before reaction-picker-after1
  • Searching emojis:

reaction-picker-after2 reaction-picker-search

new.emoji-picker.mp4

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • Improvement (non-breaking change which improves a current function)
  • New feature (non-breaking change which adds functionality)
  • Documentation update (if none of the other choices apply)

Checklist

  • I have read the CONTRIBUTING doc
  • I have signed the CLA
  • Lint and unit tests pass locally with my changes
  • I have added tests that prove my fix is effective or that my feature works (if applicable)
  • I have added necessary documentation (if applicable)
  • Any dependent changes have been merged and published in downstream modules

Further comments

NATIVE-109

Comment thread app/containers/EmojiPicker/EmojiCategory.tsx Outdated
Comment thread app/containers/EmojiPicker/TabBar.tsx Outdated
Comment thread app/containers/EmojiPicker/TabBar.tsx Outdated
Comment thread app/containers/MessageBox/EmojiSearchbar.tsx Outdated
@try-catch-stack
try-catch-stack force-pushed the new.emoji-picker branch 3 times, most recently from 94d9cfb to 0f055d0 Compare June 30, 2022 21:32
Comment thread app/containers/EmojiPicker/EmojiCategory.tsx Outdated
Comment thread app/containers/EmojiPicker/EmojiCategory.tsx Outdated
Comment thread app/containers/EmojiPicker/EmojiCategory.tsx Outdated
Comment thread app/containers/EmojiPicker/EmojiCategory.tsx Outdated
Comment thread app/containers/EmojiPicker/Footer.tsx Outdated
Comment thread app/containers/EmojiPicker/index.tsx Outdated
Comment thread app/containers/EmojiPicker/index.tsx Outdated
Comment thread app/containers/EmojiPicker/styles.ts Outdated
Comment thread app/containers/EmojiPicker/styles.ts Outdated
Comment thread app/containers/MessageActions/index.tsx Outdated
Comment thread app/containers/EmojiPicker/Footer.tsx Outdated
Comment thread app/containers/EmojiPicker/Footer.tsx Outdated
Comment thread app/containers/EmojiPicker/TabBar.tsx Outdated
Comment thread app/containers/MessageBox/EmojiSearchbar.tsx Outdated
Comment thread app/containers/MessageBox/EmojiSearchbar.tsx Outdated
Comment thread app/containers/MessageBox/index.tsx
Comment thread app/containers/MessageBox/index.tsx
Comment thread app/containers/MessageBox/styles.ts Outdated
Comment thread app/views/RoomView/ReactionPicker.tsx Outdated
Comment thread app/views/RoomView/index.tsx Outdated

@diegolmello diegolmello left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Review your React.memo usage
  • Make sure Detox tests are passing on Android

@dnlsilva dnlsilva left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

errors:
When you send an emoji the keyboard does not close automatically.
When clicking directly on the emoji without clicking on the keyboard, when I switch to keyboard it doesn't work, the keyboard is black.

Comment thread app/containers/EmojiPicker/EmojiCategory.tsx Outdated
Comment thread app/containers/EmojiPicker/categories.ts
Comment thread app/containers/EmojiPicker/index.tsx Outdated
Comment thread app/containers/EmojiPicker/index.tsx Outdated
Comment thread app/containers/MessageBox/EmojiSearchbar.tsx Outdated
Comment thread app/containers/EmojiPicker/index.tsx Outdated
Comment thread app/containers/MessageBox/EmojiSearchbar.tsx Outdated
Comment thread app/containers/MessageBox/EmojiSearchbar.tsx Outdated
Comment thread app/views/RoomView/ReactionPicker.tsx Outdated
@try-catch-stack

Copy link
Copy Markdown
Contributor Author

errors: When you send an emoji the keyboard does not close automatically. When clicking directly on the emoji without clicking on the keyboard, when I switch to keyboard it doesn't work, the keyboard is black.

I believe, this issue should now be fixed.

@try-catch-stack
try-catch-stack force-pushed the new.emoji-picker branch 2 times, most recently from 850d058 to 5d79415 Compare August 10, 2022 20:09

@diegolmello diegolmello left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing detox tests

Comment thread app/containers/EmojiPicker/index.tsx Outdated
Comment thread app/containers/EmojiPicker/index.tsx Outdated
Comment thread app/containers/EmojiPicker/index.tsx Outdated
Comment thread app/containers/MessageBox/EmojiKeyboard.tsx Outdated
Comment thread app/containers/MessageBox/EmojiSearchbar.tsx Outdated
Comment thread app/containers/MessageBox/EmojiSearchbar.tsx Outdated
Comment thread app/containers/MessageBox/EmojiSearchbar.tsx Outdated
Comment thread app/containers/MessageBox/EmojiSearchbar.tsx Outdated
Comment thread app/containers/MessageBox/EmojiSearchbar.tsx Outdated
Comment thread app/containers/MessageBox/index.tsx Outdated
@try-catch-stack
try-catch-stack force-pushed the new.emoji-picker branch 3 times, most recently from 049a272 to 16a7dcd Compare August 21, 2022 12:20
@diegolmello diegolmello changed the title [NEW] EmojiPicker with searching functionality [NEW] Emoji picker Oct 20, 2022
@diegolmello diegolmello changed the title [NEW] Emoji picker [IMPROVE] Redesign emoji picker Oct 20, 2022
@diegolmello
diegolmello requested a review from dnlsilva October 20, 2022 17:52
Comment thread app/containers/EmojiPicker/EmojiCategory.tsx Outdated
Comment thread app/containers/markdown/new/Emoji.tsx Outdated
@dnlsilva

Copy link
Copy Markdown
Contributor

Screen Shot 2022-10-21 at 10 34 31
When I didn't send any emoji the most used emojis tab is showing empty (It shouldn't appear I think)

@diegolmello
diegolmello merged commit 1486204 into develop Oct 21, 2022
@diegolmello
diegolmello deleted the new.emoji-picker branch October 21, 2022 18:27
diegolmello added a commit that referenced this pull request Dec 2, 2022
Co-authored-by: Diego Mello <diegolmello@gmail.com>
diegolmello added a commit that referenced this pull request Dec 2, 2022
Co-authored-by: Diego Mello <diegolmello@gmail.com>
navislavo pushed a commit to NextiaDev/Rocket.Chat.ReactNative that referenced this pull request May 26, 2023
Co-authored-by: Diego Mello <diegolmello@gmail.com>
navislavo pushed a commit to NextiaDev/Rocket.Chat.ReactNative that referenced this pull request May 26, 2023
Co-authored-by: Diego Mello <diegolmello@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants