aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/components/mention_link/mention_link.vue2
-rw-r--r--src/components/mentions_line/mentions_line.scss1
-rw-r--r--src/components/rich_content/rich_content.jsx21
-rw-r--r--src/components/settings_modal/tabs/theme_tab/theme_tab.js2
-rw-r--r--src/components/status/status.js6
-rw-r--r--src/components/status_body/status_body.scss8
-rw-r--r--src/components/status_body/status_body.vue4
-rw-r--r--src/services/entity_normalizer/entity_normalizer.service.js6
8 files changed, 27 insertions, 23 deletions
diff --git a/src/components/mention_link/mention_link.vue b/src/components/mention_link/mention_link.vue
index 3449f4bd..e4d395fa 100644
--- a/src/components/mention_link/mention_link.vue
+++ b/src/components/mention_link/mention_link.vue
@@ -41,12 +41,10 @@
class="full popover-default"
:class="[highlightType]"
>
- <!-- eslint-disable vue/no-v-html -->
<span
class="userNameFull"
v-text="'@' + userNameFull"
/>
- <!-- eslint-enable vue/no-v-html -->
</span>
</span>
</span>
diff --git a/src/components/mentions_line/mentions_line.scss b/src/components/mentions_line/mentions_line.scss
index 59f75fbb..90d1e0a4 100644
--- a/src/components/mentions_line/mentions_line.scss
+++ b/src/components/mentions_line/mentions_line.scss
@@ -1,6 +1,7 @@
.MentionsLine {
.showMoreLess {
white-space: normal;
+
&.-newStyle {
line-height: 1.5;
font-size: inherit;
diff --git a/src/components/rich_content/rich_content.jsx b/src/components/rich_content/rich_content.jsx
index ef15aaeb..0aae7a55 100644
--- a/src/components/rich_content/rich_content.jsx
+++ b/src/components/rich_content/rich_content.jsx
@@ -8,6 +8,25 @@ import MentionLink from 'src/components/mention_link/mention_link.vue'
import './rich_content.scss'
+/**
+ * RichContent, The Über-powered component for rendering Post HTML.
+ *
+ * This takes post HTML and does multiple things to it:
+ * - Converts mention links to <MentionLink>-s
+ * - Removes mentions from beginning and end (hellthread style only)
+ * - Replaces emoji shortcodes with <StillImage>'d images.
+ *
+ * Stuff like removing mentions from beginning and end is done so that they could
+ * be either replaced by collapsible <MentionsLine> or moved to separate place.
+ * There are two problems with this component's architecture:
+ * 1. Parsing HTML and rendering are inseparable. Attempts to separate the two
+ * proven to be a massive overcomplication due to amount of things done here.
+ * 2. We need to output both render and some extra data, which seems to be imp-
+ * possible in vue. Current solution is to emit 'parseReady' event when parsing
+ * is done within render() function.
+ *
+ * Apart from that one small hiccup with emit in render this _should_ be vue3-ready
+ */
export default Vue.component('RichContent', {
name: 'RichContent',
props: {
@@ -241,8 +260,10 @@ export const preProcessPerLine = (html, greentext, handleLinks) => {
.replace(/@\w+/gi, '') // remove mentions (even failed ones)
.trim()
if (cleanedString.startsWith('&gt;')) {
+ nonEmptyIndex += 1
return `<span class='greentext'>${string}</span>`
} else if (cleanedString.startsWith('&lt;')) {
+ nonEmptyIndex += 1
return `<span class='cyantext'>${string}</span>`
}
}
diff --git a/src/components/settings_modal/tabs/theme_tab/theme_tab.js b/src/components/settings_modal/tabs/theme_tab/theme_tab.js
index 63416e93..85749045 100644
--- a/src/components/settings_modal/tabs/theme_tab/theme_tab.js
+++ b/src/components/settings_modal/tabs/theme_tab/theme_tab.js
@@ -474,7 +474,7 @@ export default {
this.loadThemeFromLocalStorage(false, true)
break
case 'file':
- console.error('Forcing snapshout from file is not supported yet')
+ console.error('Forcing snapshot from file is not supported yet')
break
}
this.dismissWarning()
diff --git a/src/components/status/status.js b/src/components/status/status.js
index 5b178c2e..ae734493 100644
--- a/src/components/status/status.js
+++ b/src/components/status/status.js
@@ -35,8 +35,7 @@ import {
faStar,
faEyeSlash,
faEye,
- faThumbtack,
- faAt
+ faThumbtack
} from '@fortawesome/free-solid-svg-icons'
library.add(
@@ -53,8 +52,7 @@ library.add(
faEllipsisH,
faEyeSlash,
faEye,
- faThumbtack,
- faAt
+ faThumbtack
)
const Status = {
diff --git a/src/components/status_body/status_body.scss b/src/components/status_body/status_body.scss
index da5d4dd3..81a687f1 100644
--- a/src/components/status_body/status_body.scss
+++ b/src/components/status_body/status_body.scss
@@ -115,12 +115,4 @@
.cyantext {
color: var(--postCyantext, $fallback--cBlue);
}
-
- /* Not sure if this is necessary */
- video {
- max-width: 100%;
- max-height: 400px;
- vertical-align: middle;
- object-fit: contain;
- }
}
diff --git a/src/components/status_body/status_body.vue b/src/components/status_body/status_body.vue
index aac44e42..0eb11ad0 100644
--- a/src/components/status_body/status_body.vue
+++ b/src/components/status_body/status_body.vue
@@ -2,7 +2,7 @@
<div class="StatusBody">
<div class="body">
<div
- v-if="status.summary_html"
+ v-if="status.summary_raw_html"
class="summary-wrapper"
:class="{ '-tall': (longSubject && !showingLongSubject) }"
>
@@ -39,7 +39,7 @@
{{ $t("general.show_more") }}
</button>
<span
- v-if="!hideSubjectStatus && !(singleLine && status.summary_html)"
+ v-if="!hideSubjectStatus && !(singleLine && status.summary_raw_html)"
class="rich-content-wrapper"
>
<MentionsLine
diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js
index 613ed566..477b861f 100644
--- a/src/services/entity_normalizer/entity_normalizer.service.js
+++ b/src/services/entity_normalizer/entity_normalizer.service.js
@@ -296,7 +296,6 @@ export const parseStatus = (data) => {
}
output.summary_raw_html = escape(data.spoiler_text)
- output.summary_html = addEmojis(escape(data.spoiler_text), data.emojis)
output.external_url = data.url
output.poll = data.poll
if (output.poll) {
@@ -449,11 +448,6 @@ export const parseChatMessage = (message) => {
output.chat_id = message.chat_id
output.emojis = message.emojis
output.content = message.content
- if (message.content) {
- output.content = addEmojis(message.content, message.emojis)
- } else {
- output.content = ''
- }
if (message.attachment) {
output.attachments = [parseAttachment(message.attachment)]
} else {