change how "first" line is determined. Allow one mention in the

beginning for hellthread style
This commit is contained in:
Henry Jameson 2021-06-12 16:15:22 +03:00
parent ffc501eb23
commit c1bd36dc6f
2 changed files with 4 additions and 3 deletions

View file

@ -126,7 +126,7 @@ export default Vue.component('RichContent', {
switch (Tag) {
case 'span': // replace images with StillImage
if (attrs['class'] && attrs['class'].includes('lastMentions')) {
if (firstMentions.length > 0) {
if (firstMentions.length > 1) {
break
} else {
return ''
@ -231,6 +231,7 @@ const getLinkData = (attrs, children, index) => {
export const preProcessPerLine = (html, greentext) => {
const lastMentions = []
let nonEmptyIndex = 0
const newHtml = convertHtmlToLines(html).reverse().map((item, index, array) => {
// Going over each line in reverse to detect last mentions,
// keeping non-text stuff as-is
@ -295,7 +296,7 @@ export const preProcessPerLine = (html, greentext) => {
const result = [...tree].map(process)
// Only check last (first since list is reversed) line
if (hasMentions && !hasLooseText && index === 0) {
if (hasMentions && !hasLooseText && nonEmptyIndex++ === 0) {
let mentionIndex = 0
const process = (item) => {
if (Array.isArray(item)) {

View file

@ -54,7 +54,7 @@
@parseReady="setHeadTailLinks"
/>
<MentionsLine
v-if="!hideMentions && lastMentions.length > 0 && firstMentions.length === 0"
v-if="!hideMentions && lastMentions.length > 0 && firstMentions.length <= 1"
:mentions="lastMentions"
/>
</span>