From 22c8f71945c6d114bf4db89c87eb1b166775f2d6 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Mon, 7 Jun 2021 16:16:10 +0300 Subject: mention link --- src/components/rich_content/rich_content.jsx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/components/rich_content/rich_content.jsx') diff --git a/src/components/rich_content/rich_content.jsx b/src/components/rich_content/rich_content.jsx index 7bff23cd..00cf6623 100644 --- a/src/components/rich_content/rich_content.jsx +++ b/src/components/rich_content/rich_content.jsx @@ -1,7 +1,8 @@ import Vue from 'vue' -import { unescape } from 'lodash' +import { unescape, flattenDeep } from 'lodash' import { convertHtml, getTagName, processTextForEmoji, getAttrs } from 'src/services/mini_html_converter/mini_html_converter.service.js' import StillImage from 'src/components/still-image/still-image.vue' +import MentionLink from 'src/components/mention_link/mention_link.vue' import './rich_content.scss' @@ -22,6 +23,9 @@ export default Vue.component('RichContent', { const attrs = getAttrs(tag) return } + const renderMention = (attrs, children) => { + return + } const structure = convertHtml(this.html) const processItem = (item) => { if (typeof item === 'string') { @@ -45,8 +49,14 @@ export default Vue.component('RichContent', { if (Array.isArray(item)) { const [opener, children] = item const Tag = getTagName(opener) - if (Tag === 'img') { - return renderImage(opener) + switch (Tag) { + case 'img': + return renderImage(opener) + case 'a': + const attrs = getAttrs(opener) + if (attrs['class'] && attrs['class'].includes('mention')) { + return renderMention(attrs, children) + } } if (children !== undefined) { return -- cgit v1.2.3-70-g09d2