starting handling server filters
This commit is contained in:
parent
63b7c6fdf1
commit
7a6eb9c3d2
|
@ -59,6 +59,8 @@ export class StatusComponent implements OnInit {
|
||||||
@Input() notificationType: 'mention' | 'reblog' | 'favourite' | 'poll' | 'update';
|
@Input() notificationType: 'mention' | 'reblog' | 'favourite' | 'poll' | 'update';
|
||||||
@Input() notificationAccount: Account;
|
@Input() notificationAccount: Account;
|
||||||
|
|
||||||
|
@Input() context: 'home' | 'notifications' | 'public' | 'thread' | 'account';
|
||||||
|
|
||||||
private _statusWrapper: StatusWrapper;
|
private _statusWrapper: StatusWrapper;
|
||||||
status: Status;
|
status: Status;
|
||||||
|
|
||||||
|
@ -98,6 +100,8 @@ export class StatusComponent implements OnInit {
|
||||||
// this.statusAccountName = this.emojiConverter.applyEmojis(this.displayedStatus.account.emojis, this.displayedStatus.account.display_name, EmojiTypeEnum.small);
|
// this.statusAccountName = this.emojiConverter.applyEmojis(this.displayedStatus.account.emojis, this.displayedStatus.account.display_name, EmojiTypeEnum.small);
|
||||||
let 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);
|
this.statusContent = this.ensureMentionAreDisplayed(statusContent);
|
||||||
|
|
||||||
|
this.validateFilteringStatus();
|
||||||
}
|
}
|
||||||
get statusWrapper(): StatusWrapper {
|
get statusWrapper(): StatusWrapper {
|
||||||
return this._statusWrapper;
|
return this._statusWrapper;
|
||||||
|
@ -123,6 +127,30 @@ export class StatusComponent implements OnInit {
|
||||||
if (this.statusesStateServiceSub) this.statusesStateServiceSub.unsubscribe();
|
if (this.statusesStateServiceSub) this.statusesStateServiceSub.unsubscribe();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private validateFilteringStatus(){
|
||||||
|
// console.warn(this.displayedStatus);
|
||||||
|
|
||||||
|
//TODO: finish this
|
||||||
|
|
||||||
|
const filterStatus = this.displayedStatus.filtered;
|
||||||
|
if(!filterStatus || filterStatus.length === 0) return;
|
||||||
|
|
||||||
|
console.warn(filterStatus);
|
||||||
|
console.warn(this.context);
|
||||||
|
|
||||||
|
for (let filter of filterStatus) {
|
||||||
|
if(this.context && filter.filter.context && filter.filter.context.length > 0){
|
||||||
|
if(!filter.filter.context.includes(this.context)) continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(filter.filter.filter_action === 'warn'){
|
||||||
|
|
||||||
|
} else if (filter.filter.filter_action === 'hide'){
|
||||||
|
this.hideStatus = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
getAvatar(acc: Account): string {
|
getAvatar(acc: Account): string {
|
||||||
if(this.freezeAvatarEnabled){
|
if(this.freezeAvatarEnabled){
|
||||||
return acc.avatar_static;
|
return acc.avatar_static;
|
||||||
|
|
|
@ -204,8 +204,12 @@
|
||||||
|
|
||||||
<div *ngFor="let statusWrapper of statuses">
|
<div *ngFor="let statusWrapper of statuses">
|
||||||
<div *ngIf="statusSection !== 'media'">
|
<div *ngIf="statusSection !== 'media'">
|
||||||
<app-status [statusWrapper]="statusWrapper" (browseHashtagEvent)="browseHashtag($event)"
|
<app-status
|
||||||
(browseAccountEvent)="browseAccount($event)" (browseThreadEvent)="browseThread($event)">
|
[statusWrapper]="statusWrapper"
|
||||||
|
[context]="account"
|
||||||
|
(browseHashtagEvent)="browseHashtag($event)"
|
||||||
|
(browseAccountEvent)="browseAccount($event)"
|
||||||
|
(browseThreadEvent)="browseThread($event)">
|
||||||
</app-status>
|
</app-status>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="statusSection === 'media'" class="status-media">
|
<div *ngIf="statusSection === 'media'" class="status-media">
|
||||||
|
|
Loading…
Reference in New Issue