aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHJ <30-hj@users.noreply.git.pleroma.social>2019-03-17 14:08:01 +0000
committerHJ <30-hj@users.noreply.git.pleroma.social>2019-03-17 14:08:01 +0000
commit96f9eab7009b30ea71b94c1f4de5180e25b2d75f (patch)
treee1d77975f8733f45de66d131fd8619e07ca207ad /src
parent9364964b017154f61072ffa70b08f2ed0c7dcaeb (diff)
parent4cdfd5fb8678fae7dbba8b00b2a468d3ce385e08 (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.js16
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