diff --git a/src/app/components/floating-column/manage-account/notifications/notification/notification.component.html b/src/app/components/floating-column/manage-account/notifications/notification/notification.component.html index 59bc569c..7856a4f3 100644 --- a/src/app/components/floating-column/manage-account/notifications/notification/notification.component.html +++ b/src/app/components/floating-column/manage-account/notifications/notification/notification.component.html @@ -70,17 +70,29 @@ + [statusWrapper]="notification.status" + [notificationAccount]="notification.account" + [notificationType]="notification.type" + [context]="'notifications'" + (browseAccountEvent)="browseAccount($event)" + (browseHashtagEvent)="browseHashtag($event)" + (browseThreadEvent)="browseThread($event)"> + [statusWrapper]="notification.status" + [context]="'notifications'" + (browseAccountEvent)="browseAccount($event)" + (browseHashtagEvent)="browseHashtag($event)" + (browseThreadEvent)="browseThread($event)"> + class="stream__status" + [statusWrapper]="notification.status" + [notificationAccount]="notification.account" + [notificationType]="notification.type" + [context]="'notifications'" + (browseAccountEvent)="browseAccount($event)" + (browseHashtagEvent)="browseHashtag($event)" + (browseThreadEvent)="browseThread($event)"> \ No newline at end of file diff --git a/src/app/components/stream/status/status.component.ts b/src/app/components/stream/status/status.component.ts index 264a2485..e27468ee 100644 --- a/src/app/components/stream/status/status.component.ts +++ b/src/app/components/stream/status/status.component.ts @@ -128,15 +128,13 @@ export class StatusComponent implements OnInit { } 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); + // if(!this.context){ + // console.warn('this.context not found'); + // console.warn(this.context); + // } for (let filter of filterStatus) { if(this.context && filter.filter.context && filter.filter.context.length > 0){ @@ -144,7 +142,14 @@ export class StatusComponent implements OnInit { } if(filter.filter.filter_action === 'warn'){ + this.isContentWarned = true; + let filterTxt = `FILTERED:`; + for(let w of filter.filter.keywords){ + filterTxt += ` ${w}`; + } + + this.contentWarningText = filterTxt; } else if (filter.filter.filter_action === 'hide'){ this.hideStatus = true; } diff --git a/src/app/components/stream/stream-statuses/stream-statuses.component.html b/src/app/components/stream/stream-statuses/stream-statuses.component.html index f839daf8..774b19e0 100644 --- a/src/app/components/stream/stream-statuses/stream-statuses.component.html +++ b/src/app/components/stream/stream-statuses/stream-statuses.component.html @@ -17,8 +17,11 @@
diff --git a/src/app/components/stream/stream-statuses/stream-statuses.component.ts b/src/app/components/stream/stream-statuses/stream-statuses.component.ts index 129dc1ce..6febdabb 100644 --- a/src/app/components/stream/stream-statuses/stream-statuses.component.ts +++ b/src/app/components/stream/stream-statuses/stream-statuses.component.ts @@ -3,7 +3,7 @@ import { HttpErrorResponse } from '@angular/common/http'; import { Observable, Subscription } from 'rxjs'; import { Store } from '@ngxs/store'; -import { StreamElement } from '../../../states/streams.state'; +import { StreamElement, StreamTypeEnum } from '../../../states/streams.state'; import { AccountInfo } from '../../../states/accounts.state'; import { StreamingService, EventEnum, StatusUpdate } from '../../../services/streaming.service'; import { Status } from '../../../services/models/mastodon.interfaces'; @@ -20,9 +20,11 @@ import { SettingsService } from '../../../services/settings.service'; templateUrl: './stream-statuses.component.html', styleUrls: ['./stream-statuses.component.scss'] }) -export class StreamStatusesComponent extends TimelineBase { +export class StreamStatusesComponent extends TimelineBase { protected _streamElement: StreamElement; + context: 'home' | 'notifications' | 'public' | 'thread' | 'account'; + @Input() set streamElement(streamElement: StreamElement) { this._streamElement = streamElement; @@ -32,6 +34,8 @@ export class StreamStatusesComponent extends TimelineBase { this.hideReplies = streamElement.hideReplies; this.load(this._streamElement); + + this.setContext(this._streamElement); } get streamElement(): StreamElement { return this._streamElement; @@ -112,6 +116,24 @@ export class StreamStatusesComponent extends TimelineBase { if (this.deleteStatusSubscription) this.deleteStatusSubscription.unsubscribe(); } + private setContext(streamElement: StreamElement) { + switch(streamElement.type){ + case StreamTypeEnum.global: + case StreamTypeEnum.local: + case StreamTypeEnum.tag: + this.context = 'public'; + break; + case StreamTypeEnum.personnal: + case StreamTypeEnum.list: + this.context = 'home'; + break; + case StreamTypeEnum.activity: + case StreamTypeEnum.directmessages: + this.context = 'notifications'; + break; + } + } + refresh(): any { this.load(this._streamElement); } diff --git a/src/app/components/stream/thread/thread.component.ts b/src/app/components/stream/thread/thread.component.ts index 076416fb..7a6a98bc 100644 --- a/src/app/components/stream/thread/thread.component.ts +++ b/src/app/components/stream/thread/thread.component.ts @@ -28,6 +28,8 @@ export class ThreadComponent extends BrowseBase { hasContentWarnings = false; private remoteStatusFetchingDisabled = false; + context = 'thread'; + numNewItems: number; //html compatibility only bufferStream: Status[] = []; //html compatibility only streamPositionnedAtTop: boolean = true; //html compatibility only diff --git a/src/app/components/stream/user-profile/user-profile.component.html b/src/app/components/stream/user-profile/user-profile.component.html index baf19d33..4edc7df3 100644 --- a/src/app/components/stream/user-profile/user-profile.component.html +++ b/src/app/components/stream/user-profile/user-profile.component.html @@ -196,8 +196,12 @@
- +
@@ -206,7 +210,7 @@