Skip to content

Commit

Permalink
Handle missing emojis
Browse files Browse the repository at this point in the history
  • Loading branch information
sampaiodiego committed May 27, 2019
1 parent d1ec2a1 commit a487ac0
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 1 deletion.
2 changes: 1 addition & 1 deletion app/emoji/client/emojiPicker.js
Expand Up @@ -9,7 +9,7 @@ import { emoji } from '../lib/rocketchat';

const emojiListByCategory = new ReactiveDict('emojiList');

const getEmojiElement = (emoji, image) => `<li class="emoji-${ emoji } emoji-picker-item" data-emoji="${ emoji }" title="${ emoji }">${ image }</li>`;
const getEmojiElement = (emoji, image) => image && `<li class="emoji-${ emoji } emoji-picker-item" data-emoji="${ emoji }" title="${ emoji }">${ image }</li>`;

const createEmojiList = (category, actualTone) => {
const html = Object.values(emoji.packages).map((emojiPackage) => {
Expand Down
8 changes: 8 additions & 0 deletions app/emoji/client/lib/EmojiPicker.js
Expand Up @@ -134,6 +134,14 @@ export const EmojiPicker = {
emoji.packages.base.emojisByCategory.recent = this.recent;
this.updateRecent('recent');
},
removeFromRecent(_emoji) {
const pos = this.recent.indexOf(_emoji);
if (pos === -1) {
return;
}
this.recent.splice(pos, 1);
window.localStorage.setItem('emoji.recent', this.recent);
},
updateRecent(category) {
updateRecentEmoji(category);
},
Expand Down
17 changes: 17 additions & 0 deletions app/emoji/lib/rocketchat.js
@@ -1,5 +1,18 @@
import { Meteor } from 'meteor/meteor';

import { emojioneRender } from '../../emoji-emojione/lib/emojioneRender';

let EmojiPicker;
const removeFromRecent = (emoji) => {
if (!Meteor.isClient) {
return;
}
if (!EmojiPicker) {
({ EmojiPicker } = require('../client/lib/EmojiPicker'));
}
EmojiPicker.removeFromRecent(emoji.replace(/(^:|:$)/g, ''));
};

export const emoji = {
packages: {
base: {
Expand All @@ -11,6 +24,10 @@ export const emoji = {
toneList: {},
render: emojioneRender,
renderPicker(emojiToRender) {
if (!emoji.list[emojiToRender]) {
removeFromRecent(emojiToRender);
return;
}
const correctPackage = emoji.list[emojiToRender].emojiPackage;
return emoji.packages[correctPackage].renderPicker(emojiToRender);
},
Expand Down

0 comments on commit a487ac0

Please sign in to comment.