From 83f819451a80a767170b927eb2f0d5ed63f03239 Mon Sep 17 00:00:00 2001 From: Saturnino Abril Date: Mon, 1 May 2017 23:08:54 +0900 Subject: [GH-5915] Clicking on @mention of a user in a post shows the profile popover (#6129) * post message at-mention profile pop-over * remove hover effect to special mentions * make non-clickable the non-existing at-mention username * fix "video call" position * use usernameMap instead of initially defined liteUsernameMap * update per comments --- webapp/utils/text_formatting.jsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'webapp/utils/text_formatting.jsx') diff --git a/webapp/utils/text_formatting.jsx b/webapp/utils/text_formatting.jsx index c2c71a4e1..bd718b363 100644 --- a/webapp/utils/text_formatting.jsx +++ b/webapp/utils/text_formatting.jsx @@ -166,8 +166,13 @@ export function autolinkAtMentions(text, tokens, usernameMap) { const index = tokens.size; const alias = `$MM_ATMENTION${index}`; + let tokenValue = `${mention}`; + if (Constants.SPECIAL_MENTIONS.indexOf(username) >= 0) { + tokenValue = mention; + } + tokens.set(alias, { - value: `${mention}`, + value: tokenValue, originalText: mention }); return alias; @@ -181,8 +186,7 @@ export function autolinkAtMentions(text, tokens, usernameMap) { const truncated = usernameLower.substring(0, c); const suffix = usernameLower.substring(c); - // If we've found a username or run out of punctuation to trim off, render it as an at mention - if (mentionExists(truncated) || !punctuation.test(truncated[truncated.length - 1])) { + if (mentionExists(truncated) && (c === usernameLower.length || punctuation.test(usernameLower[c]))) { const alias = addToken(truncated, '@' + truncated); return prefix + alias + suffix; } -- cgit v1.2.3-1-g7c22