import React from 'react';
import { SuggestionDataItem } from 'react-mentions';
import styled from 'styled-components';
import { BaseEmoji, emojiIndex } from 'emoji-mart';
const EmojiQuickResult = styled.span`
width: 100%;
padding-inline-end: 20px;
padding-inline-start: 10px;
`;
const EmojiQuickResultIcon = styled.span`
padding-inline-end: 20px;
padding-inline-start: 10px;
font-size: 1.4em;
`;
const EmojiQuickResultText = styled.span``;
export const renderEmojiQuickResultRow = (suggestion: SuggestionDataItem) => {
return (
{suggestion.id}
{suggestion.display}
);
};
export const searchEmojiForQuery = (query: string): Array => {
if (query.length === 0 || !emojiIndex) {
return [];
}
const results1 = emojiIndex.search(`:${query}`) || [];
const results2 = emojiIndex.search(query) || [];
const results = [...new Set(results1.concat(results2))];
if (!results || !results.length) {
return [];
}
return results
.map(o => {
const onlyBaseEmoji = o as BaseEmoji;
return {
id: onlyBaseEmoji.native,
display: onlyBaseEmoji.colons,
};
})
.slice(0, 8);
};