diff --git a/src/components/desktop_nav/desktop_nav.vue b/src/components/desktop_nav/desktop_nav.vue
index 956c837a..0887c2e1 100644
--- a/src/components/desktop_nav/desktop_nav.vue
+++ b/src/components/desktop_nav/desktop_nav.vue
@@ -55,18 +55,18 @@
:title="$t('nav.public_tl')"
/>
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/timeline_menu_tabs/timeline_menu_content.vue b/src/components/timeline_menu_tabs/timeline_menu_content.vue
index fcbebbdd..3a2f3d15 100644
--- a/src/components/timeline_menu_tabs/timeline_menu_content.vue
+++ b/src/components/timeline_menu_tabs/timeline_menu_content.vue
@@ -81,20 +81,20 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
`/api/v1/accounts/${id}/followers`
const MASTODON_FOLLOW_REQUESTS_URL = '/api/v1/follow_requests'
const MASTODON_APPROVE_USER_URL = id => `/api/v1/follow_requests/${id}/authorize`
const MASTODON_DENY_USER_URL = id => `/api/v1/follow_requests/${id}/reject`
-const MASTODON_DIRECT_MESSAGES_TIMELINE_URL = '/api/v1/timelines/direct'
+const MASTODON_DIRECT_MESSAGES_TIMELINE_URL = '/api/v1/conversations'
const MASTODON_PUBLIC_TIMELINE = '/api/v1/timelines/public'
const MASTODON_USER_HOME_TIMELINE_URL = '/api/v1/timelines/home'
-const AKKOMA_BUBBLE_TIMELINE_URL = 'api/notes/bubble-timeline'
+const AKKOMA_BUBBLE_TIMELINE_URL = '/api/v1/timelines/bubble'
const MASTODON_STATUS_URL = id => `/api/v1/statuses/${id}`
const MASTODON_STATUS_CONTEXT_URL = id => `/api/v1/statuses/${id}/context`
const MASTODON_STATUS_SOURCE_URL = id => `/api/v1/statuses/${id}/source`
diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js
index de74d3df..cfd81a54 100644
--- a/src/services/entity_normalizer/entity_normalizer.service.js
+++ b/src/services/entity_normalizer/entity_normalizer.service.js
@@ -286,7 +286,14 @@ export const parseStatus = (data_in) => {
output.type = data.reblog ? 'retweet' : 'status'
output.nsfw = data.sensitive
- output.raw_html = data.content
+ function escapeHtml(html){
+ var text = document.createTextNode(html);
+ var p = document.createElement('p');
+ p.appendChild(text);
+ return p.innerHTML;
+ }
+
+ output.raw_html = escapeHtml(data.text)
output.emojis = data.emojis
output.tags = data.tags
@@ -411,6 +418,17 @@ export const parseStatus = (data_in) => {
if (data.hasOwnProperty('originalStatus')) {
Object.assign(output, data.originalStatus)
}
+
+
+ // sharkey stuff
+ output.fave_num = 0;
+ for (let emoji of output.emoji_reactions) {
+ if (emoji.name == '❤' || emoji.name == '⭐') {
+ output.fave_num += emoji.count;
+ }
+ }
+ output.emoji_reactions = output.emoji_reactions.filter(emoji => emoji.name != '❤' && emoji.name != '⭐');
+
return output
}