Merge pull request #403 from NicolasConstant/fix_soapbox-mess

Fix missing mentions
This commit is contained in:
Nicolas Constant 2022-01-19 23:29:54 -05:00 committed by GitHub
commit c3a5306e56
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 3 deletions

View File

@ -1,6 +1,6 @@
os: unstable
cache:
- node_modules
#- node_modules
environment:
GH_TOKEN:
secure: wRRBU0GXTmTBgZBs2PGSaEJWOflynAyvp3Nc/7e9xmciPfkUCQAXcpOn0jIYmzpb
@ -9,7 +9,7 @@ environment:
install:
- ps: Install-Product node $env:nodejs_version
- set CI=true
- npm install -g npm@latest
- npm install -g npm@6.9.0
- set PATH=%APPDATA%\npm;%PATH%
- npm install
matrix:

View File

@ -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 += `<span class="h-card"><a class="u-url mention" data-user="${m.id}" href="${m.url}" rel="ugc">@<span>${m.username}</span></a></span> `
}
}
if(textMentions !== ''){
data = textMentions + data;
}
return data;
}
private setContentWarning(status: StatusWrapper) {
this.hideStatus = status.hide;
this.isContentWarned = status.applyCw;