fix mention bug

This commit is contained in:
Nicolas Constant 2021-07-14 21:00:52 -04:00
parent 06d142c4a5
commit c2812fae43
No known key found for this signature in database
GPG Key ID: 1E9F677FB01A5688
1 changed files with 17 additions and 17 deletions

View File

@ -225,7 +225,7 @@ export class CreateStatusComponent implements OnInit, OnDestroy {
// this.status = state;
// } else {
if (!this.status || this.status === '') {
const uniqueMentions = this.getMentions(this.statusReplyingTo, this.statusReplyingToWrapper.provider);
const uniqueMentions = this.getMentions(this.statusReplyingTo);
for (const mention of uniqueMentions) {
this.status += `@${mention} `;
}
@ -492,8 +492,20 @@ export class CreateStatusComponent implements OnInit, OnDestroy {
return cwLength;
}
private getMentions(status: Status, providerInfo: AccountInfo): string[] {
const mentions = [status.account.acct, ...status.mentions.map(x => x.acct)];
private getMentions(status: Status): string[] {
let acct = status.account.acct;
if(!acct.includes('@')) {
acct += `@${status.account.url.replace('https://', '').split('/')[0]}`
}
const mentions = [acct];
status.mentions.forEach(m => {
let mentionAcct = m.acct;
if(!mentionAcct.includes('@')){
mentionAcct += `@${m.url.replace('https://', '').split('/')[0]}`;
}
mentions.push(mentionAcct);
});
let uniqueMentions = [];
for (let mention of mentions) {
@ -502,22 +514,10 @@ export class CreateStatusComponent implements OnInit, OnDestroy {
}
}
let globalUniqueMentions = [];
for (let mention of uniqueMentions) {
if (!mention.includes('@')) {
if (providerInfo) {
mention += `@${providerInfo.instance}`;
} else {
mention += `@${status.url.replace('https://', '').split('/')[0]}`;
}
}
globalUniqueMentions.push(mention);
}
const selectedUser = this.toolsService.getSelectedAccounts()[0];
globalUniqueMentions = globalUniqueMentions.filter(x => x.toLowerCase() !== `${selectedUser.username}@${selectedUser.instance}`.toLowerCase());
uniqueMentions = uniqueMentions.filter(x => x.toLowerCase() !== `${selectedUser.username}@${selectedUser.instance}`.toLowerCase());
return globalUniqueMentions;
return uniqueMentions;
}
onCtrlEnter(): boolean {