|
|
|
@ -150,6 +150,7 @@ export default { |
|
|
|
|
if (Array.isArray(item)) { |
|
|
|
|
const [opener, children, closer] = item |
|
|
|
|
const Tag = getTagName(opener) |
|
|
|
|
const fullAttrs = getAttrs(opener, () => true) |
|
|
|
|
const attrs = getAttrs(opener) |
|
|
|
|
const previouslyMentions = currentMentions !== null |
|
|
|
|
/* During grouping of mentions we trim all the empty text elements |
|
|
|
@ -171,7 +172,7 @@ export default { |
|
|
|
|
return ['', [mentionsLinePadding, renderImage(opener)], ''] |
|
|
|
|
case 'a': // replace mentions with MentionLink |
|
|
|
|
if (!this.handleLinks) break |
|
|
|
|
if (attrs['class'] && attrs['class'].includes('mention')) { |
|
|
|
|
if (fullAttrs.class && fullAttrs.class.includes('mention')) { |
|
|
|
|
// Handling mentions here |
|
|
|
|
return renderMention(attrs, children) |
|
|
|
|
} else { |
|
|
|
@ -179,7 +180,7 @@ export default { |
|
|
|
|
break |
|
|
|
|
} |
|
|
|
|
case 'span': |
|
|
|
|
if (this.handleLinks && attrs.class && attrs.class.includes('h-card')) { |
|
|
|
|
if (this.handleLinks && fullAttrs.class && fullAttrs.class.includes('h-card')) { |
|
|
|
|
return ['', children.map(processItem), ''] |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -215,11 +216,12 @@ export default { |
|
|
|
|
switch (Tag) { |
|
|
|
|
case 'a': { // replace mentions with MentionLink |
|
|
|
|
if (!this.handleLinks) break |
|
|
|
|
const attrs = getAttrs(opener) |
|
|
|
|
const fullAttrs = getAttrs(opener, () => true) |
|
|
|
|
const attrs = getAttrs(opener, () => true) |
|
|
|
|
// should only be this |
|
|
|
|
if ( |
|
|
|
|
(attrs.class && attrs.class.includes('hashtag')) || // Pleroma style |
|
|
|
|
(attrs.rel === 'tag') // Mastodon style |
|
|
|
|
(fullAttrs.class && fullAttrs.class.includes('hashtag')) || // Pleroma style |
|
|
|
|
(fullAttrs.rel === 'tag') // Mastodon style |
|
|
|
|
) { |
|
|
|
|
return renderHashtag(attrs, children, encounteredTextReverse) |
|
|
|
|
} else { |
|
|
|
|