From 2f84471a3ee67eba649d67698e97b409648caf31 Mon Sep 17 00:00:00 2001 From: Nicolas Constant Date: Wed, 19 Jan 2022 22:08:19 -0500 Subject: [PATCH] add missing mentions, fix #399 --- .../stream/status/status.component.ts | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/app/components/stream/status/status.component.ts b/src/app/components/stream/status/status.component.ts index 1c1bbb7f..dd76eae4 100644 --- a/src/app/components/stream/status/status.component.ts +++ b/src/app/components/stream/status/status.component.ts @@ -88,7 +88,8 @@ export class StatusComponent implements OnInit { // const instanceUrl = 'https://' + this.status.uri.split('https://')[1].split('/')[0]; // this.statusAccountName = this.emojiConverter.applyEmojis(this.displayedStatus.account.emojis, this.displayedStatus.account.display_name, EmojiTypeEnum.small); - this.statusContent = this.emojiConverter.applyEmojis(this.displayedStatus.emojis, this.displayedStatus.content, EmojiTypeEnum.medium); + let statusContent = this.emojiConverter.applyEmojis(this.displayedStatus.emojis, this.displayedStatus.content, EmojiTypeEnum.medium); + this.statusContent = this.ensureMentionAreDisplayed(statusContent); } get statusWrapper(): StatusWrapper { return this._statusWrapper; @@ -101,6 +102,22 @@ export class StatusComponent implements OnInit { ngOnInit() { } + private ensureMentionAreDisplayed(data: string): string { + const mentions = this.displayedStatus.mentions; + if(!mentions || mentions.length === 0) return data; + + let textMentions = ''; + for (const m of mentions) { + if(!data.includes(m.url)){ + textMentions += `@${m.username} ` + } + } + if(textMentions !== ''){ + data = textMentions + data; + } + return data; + } + private setContentWarning(status: StatusWrapper) { this.hideStatus = status.hide; this.isContentWarned = status.applyCw;