aboutsummaryrefslogtreecommitdiff
path: root/src/services
diff options
context:
space:
mode:
Diffstat (limited to 'src/services')
-rw-r--r--src/services/api/api.service.js7
-rw-r--r--src/services/entity_normalizer/entity_normalizer.service.js16
-rw-r--r--src/services/version/version.service.js6
3 files changed, 24 insertions, 5 deletions
diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js
index 1c6703b7..176f1c18 100644
--- a/src/services/api/api.service.js
+++ b/src/services/api/api.service.js
@@ -561,7 +561,12 @@ const fetchOAuthTokens = ({credentials}) => {
return fetch(url, {
headers: authHeaders(credentials)
- }).then((data) => data.json())
+ }).then((data) => {
+ if (data.ok) {
+ return data.json()
+ }
+ throw new Error('Error fetching auth tokens', data)
+ })
}
const revokeOAuthToken = ({id, credentials}) => {
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
diff --git a/src/services/version/version.service.js b/src/services/version/version.service.js
new file mode 100644
index 00000000..a750b0dd
--- /dev/null
+++ b/src/services/version/version.service.js
@@ -0,0 +1,6 @@
+
+export const extractCommit = versionString => {
+ const regex = /-g(\w+)$/i
+ const matches = versionString.match(regex)
+ return matches ? matches[1] : ''
+}