diff options
| author | HJ <30-hj@users.noreply.git.pleroma.social> | 2019-03-17 14:08:01 +0000 |
|---|---|---|
| committer | HJ <30-hj@users.noreply.git.pleroma.social> | 2019-03-17 14:08:01 +0000 |
| commit | 96f9eab7009b30ea71b94c1f4de5180e25b2d75f (patch) | |
| tree | e1d77975f8733f45de66d131fd8619e07ca207ad /src | |
| parent | 9364964b017154f61072ffa70b08f2ed0c7dcaeb (diff) | |
| parent | 4cdfd5fb8678fae7dbba8b00b2a468d3ce385e08 (diff) | |
Merge branch 'mastoapi/emojis' into 'develop'
MastoAPI: emoji support
See merge request pleroma/pleroma-fe!659
Diffstat (limited to 'src')
| -rw-r--r-- | src/services/entity_normalizer/entity_normalizer.service.js | 16 |
1 files 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 9f9db563..e831963a 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 = ??? missing - output.name_html = data.display_name + output.name_html = addEmojis(data.display_name, data.emojis) // output.description = ??? 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 @@ -146,6 +146,14 @@ const parseAttachment = (data) => { return output } +export const addEmojis = (string, emojis) => { + return emojis.reduce((acc, emoji) => { + return acc.replace( + new RegExp(`:${emoji.shortcode}:`, 'g'), + `<img src='${emoji.url}' alt='${emoji.shortcode}' class='emoji' />` + ) + }, string) +} export const parseStatus = (data) => { const output = {} @@ -161,7 +169,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 @@ -180,7 +188,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 // output.is_local = ??? missing |
