From 47211fb32cb18809912db6c939fdd3a17d3d4569 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sat, 9 Mar 2019 02:15:35 +0200 Subject: [PATCH] emoji adder --- .../entity_normalizer.service.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js index d20ce77f..633bd3dc 100644 --- a/src/services/entity_normalizer/entity_normalizer.service.js +++ b/src/services/entity_normalizer/entity_normalizer.service.js @@ -40,10 +40,10 @@ export const parseUser = (data) => { } output.name = null // missing - output.name_html = data.display_name + output.name_html = addEmojis(data.display_name, data.emojis) output.description = null // missing - output.description_html = data.note + output.description_html = addEmojis(data.note, data.emojis) // Utilize avatar_static for gif avatars? output.profile_image_url = data.avatar @@ -142,6 +142,14 @@ const parseAttachment = (data) => { return output } +const addEmojis = (string, emojis) => { + return emojis.reduce((acc, emoji) => { + return acc.replace( + new RegExp(`:${emoji.shortcode}:`, 'g'), + `${emoji.shortcode}` + ) + }, string) +} export const parseStatus = (data) => { const output = {} @@ -157,7 +165,7 @@ export const parseStatus = (data) => { output.type = data.reblog ? 'retweet' : 'status' output.nsfw = data.sensitive - output.statusnet_html = data.content + output.statusnet_html = addEmojis(data.content, data.emojis) // Not exactly the same but works? output.text = data.content @@ -176,7 +184,7 @@ export const parseStatus = (data) => { } output.summary = data.spoiler_text - output.summary_html = data.spoiler_text + output.summary_html = addEmojis(data.spoiler_text, data.emojis) output.external_url = data.url // FIXME missing!!