2019-04-25 22:52:14 +02:00
|
|
|
import { Emoji } from "../services/models/mastodon.interfaces";
|
2019-05-27 00:04:41 +02:00
|
|
|
import { EmojiOne } from "./emoji-one";
|
2019-04-14 05:04:19 +02:00
|
|
|
|
|
|
|
export class EmojiConverter {
|
2019-05-27 02:32:10 +02:00
|
|
|
private emojiOne = new EmojiOne();
|
|
|
|
|
|
|
|
applyEmojis(emojis: Emoji[], text: string, type: EmojiTypeEnum): string {
|
|
|
|
if (!text) return text;
|
|
|
|
|
|
|
|
let className = "emoji-small";
|
|
|
|
if (type === EmojiTypeEnum.medium) {
|
|
|
|
className = "emoji-medium";
|
|
|
|
}
|
|
|
|
|
|
|
|
if (emojis) {
|
|
|
|
emojis.forEach(emoji => {
|
|
|
|
text = text.replace(
|
|
|
|
`:${emoji.shortcode}:`,
|
|
|
|
`<img class="${className}" src="${emoji.url}" title=":${
|
|
|
|
emoji.shortcode
|
|
|
|
}:" alt=":${emoji.shortcode}:" />`
|
|
|
|
);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
text = this.emojiOne.toImage(text, className);
|
|
|
|
return text;
|
2019-04-25 22:52:14 +02:00
|
|
|
}
|
2019-04-14 05:04:19 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
export enum EmojiTypeEnum {
|
2019-05-27 02:32:10 +02:00
|
|
|
small,
|
|
|
|
medium
|
|
|
|
}
|